[cvs] [Wiki] changed: SyncRoadMap

Karsten Fourmont karsten at horde.org
Fri Sep 23 13:43:28 PDT 2005


karsten  Fri, 23 Sep 2005 13:43:28 -0700

Modified page: http://wiki.horde.org/SyncRoadMap
New Revision:  1.5
Change log:  added ideas for code cleanup

@@ -18,9 +18,19 @@
 * Proper conflict resolution. current policy is: client wins. (As the client send it changes first.)
 * Aligning Client and Server categories
 * Fancy features like 'delete old entries from client calendar/todo list' etc. to save space on client.
 
-++ Other stuff:
++++ Code Cleaup
+
+This sections lists stuff that does not directly affects functionality but rather the quality of the code
+
+* finish refactoring: all horde specific stuff should go into backend.php. The rest of the package should be Horde independant
+* event handling is a big mess: the current major design flaw is that the classes in ``SyncML``/command are use for parsing the //input// from the client as well as creating the //output// for the client: this results in a ulgy double-usage of the output method: the output method of Status.php illustrates these two functions: first it's automatically called by the event handler in //SyncML.php// to produce the output in response to a Status element sent from the client. This means producing no output is all. And then it's use to create Status responses as result to other operations (Add, Sync etc.). Here the output method of status is called as well, but this time it should do something very much different: produce an actual "Status" output.
+* each syncml command has a (per message) unique //commandID//. The various output methods take at least the //currentCommandID// and the ContentHandler as parameters. They return the increased //currentCommandID//. Non of these three is necessary: they should be moved to global variables or (better) a global object dealing with the state of one message (one script run) in contrast to state.php dealing with the state between different messages.
+* Check where's the best place to draw the border between the rpc and syncml package. Currently syncml.php in RPC does some XML parsing (for body and header). This should be moved to Syncml to leave RPC will all the //transfer protocol// stuff and Syncml with all the contents.
+
+
+++ Older stuff:
 +++ Protocol Issues
 
 Once the current code makes it to CVS people should give it a try and check if it works. If not, the xml in /tmp/sync/, the horde log and the php error log should be helpful. If you can provide a patch to make it work: great!
 


More information about the cvs mailing list