SLS is developped not by a professional Developper and does not apply up to date sophisticated development technics. It is more written by the main author like someone writes a book using a simple langage (here pure javascript, html, json, css , jquery) to explain its thoughts.
As the client side intearctions are very rich and quite complex, the code might appearto someone too complex to be easely maintainable and enriched . A the coplete rewriting of the code is unrealistic now, I propose some approaches to sink into it.
Here is a statistic showing the most called SLS functions. It should help to set up a roadmap of code reengineering
PREFIX owl: <http://www.w3.org/2002/07/owl#>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT (count (distinct ?s ) as ?count) ?fnLabel ?fileLabel ?dirLabel FROM <http://souslesens.org/slsv/code/calls/> WHERE {
?s ?p ?o.?o rdf:type <http://souslesens.org/slsv/code/calls/Function>.
?o <http://rds.posccaesar.org/ontology/lis14/rdl/partOf> ?f.
?f <http://rds.posccaesar.org/ontology/lis14/rdl/locatedRelativeTo> ?d.
?o rdfs:label ?fnLabel.
?f rdfs:label ?fileLabel.
?d rdfs:label ?dirLabel.
} group by ?fnLabel ?fileLabel ?dirLabel order by desc (?count)
The source SLSV_CODE_CALLS contains a graph representing main directories pages and functions of SLS and the relations between them (function calls by now). This video gives an example of navigation