It is easy to say that we want a web interface for demexp, but much more difficult to chose the right architecture as they are so many technologies to chose from. This page tries to list some of the possibilities.
(X)
HTML augmented with some JavaScript to enhance user experience
+: compatible with old browsers
+: improved user experience (visual feedback in case of error for example)
-: nearly all the job is done by the server
-: as compatibility with old browsers is maintained, the available capabilities is as limited as with the pure (X)
HTML solution
AJAX client – i.e. XTHML + mandatory JavaScript
-: incompatible with old browsers and browsers without JavaScript
+: much richer user experience (possibility to use fairly elaborated widgets, like tree viewers)
+: lighter and optimized client/server communication (transfer only data, group several commands at once)
A web interface with current demexp server (through ONC
RPC)
+: reuse existing code
-: no scalable in the long term (
XML saving of files)
-: need to enhance current demexp server with new functionnalities (recording of voted and seen questions)
-: a demexp server should be started for each demexp base if we want to have multi-demexp base support
Implement the complete demexp server as a set of web “services” (not necessarily
SOAP/
XML-
RPC) that call themselves (vote module, classification module, etc.). Idea of Serge, see
this thread on demexp-fr
+: clean interface between indepent modules
+: allow partial reuse by others (e.g. vote module)
-: architecture is no more obvious than with other designs