[cvs] [Wiki] changed: SyncRoadMap

Wiki Guest wikiguest at horde.org
Sat Jul 29 01:08:01 PDT 2006


guest [85.181.55.187]  Sat, 29 Jul 2006 01:08:01 -0700

Modified page: http://wiki.horde.org/SyncRoadMap
New Revision:  1.23
Change log:  refactoring done, add link to test suite

@@ -6,20 +6,11 @@
  
  +++ Bugs/Limitations
  
  * When doing !SlowSync with no phone data, the phone may never sent a <sync>. Horde only creates it output in respond to this sync so nothing is send then.
-* History retrieval has to be fixed to narrow results to meaningful entries.
  * sometimes the synthesis clients crashes upon receiving calendar data.
-* The various vcard/vcalendar import/export functions really need some work. Recurring events are not dealt with at all yet.
-* when server has a matching anchor it will always do a delta sync, even when the client requests a slowsync.
-* the setup page should contain buttons to really reset a sync for one database by deleting all mapping entries.
  * iPaq Sync with Sync4j Connector: Kronolith all day events show up on wrong days on the PDA: An all day event in   Kronolith for let's say the 19th of december 2005 has a start time of  00:00 on the 19th and ends on 00:00 on the 20th.  This event ends up on the PDA with an end time of 23:59 on the 20th.
-* iPaq Sync with Sync4j: on initial slowsync, no contacts are sent from turba to the client
-* rethink the strategy of stripping all UIDs received from clients and exporting no UIDs to the client inside the iCalendar data
-
-+++ Nokia Issues
-* FIXED, PLEASE TEST: on the second sync (first incremental sync), timestamp negotiation may fail resulting in another complete slow sync.
-* one hour offsets when syncing calendar entries.
+* Nokia: one hour offsets when syncing calendar entries.
  
  +++ Possible Extensions
  
  * Allow customizations which calendars/addressbooks should be synced. Maybe allow merging of more than one data source (think of private and shared calendar)
@@ -31,18 +22,17 @@
  
  This sections lists stuff that does not directly affects functionality but rather the quality of the code
  
  * create meaningful phpdoc source code documentation
-* create a testing backend, test cases for sync sessions
  * better error handling (!SyncML): currently no real error handling is in place.
-* finish refactoring: all horde specific stuff should go into backend.php. The rest of the package should be Horde independent
-* 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.
-* currently the horde api only supports listBy($action,$ts) to retrieve $actions since timestamp $ts. The !SyncML protocol requires that the ending timestamp of the sync timeframe to be exchanged _before_ the actual syncing starts. So we need an additional parameter: listby($action, $ts, $ts_end)
-
  
  ++ Other stuff:
+
++++ Testing Suite
+The !SyncML Conformance Test Suite can be downloaded from sourceforge: http://sourceforge.net/projects/oma-scts/
+
+SyncMLConformanceTestSuite shows which test we currently pass or fail.
+
  +++ Debugging info
  
  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