Latest Findings: Root cause for interop isssue Funambol 6.5 vs Horde 4 found, but how to fix?
Christian Bomhardt <[email protected]>
| Newsgroups | gmane.comp.horde.sync |
|---|---|
| Message-ID | <[email protected]> |
On 09.11.2011 19:59, Christian Bomhardt wrote: > On 09.11.2011 19:07, Jan Schneider wrote: >> Please don't top-post. >> >> Zitat von Christian Bomhardt <[email protected]>: >> >>> On 09.11.2011 12:31, Jan Schneider wrote: >>>> >>>> Zitat von Christian Bomhardt <[email protected]>: >>>> >>>>> On 09.11.2011 12:02, Jan Schneider wrote: >>>>>> >>>>>> Zitat von [email protected]: >>>>>> >>>>>>> Zitat von Christian Bomhardt <[email protected]>: >>>>>>> >>>>>>>> Hi experts, >>>>>>>> >>>>>>>> now, I managed to find the root cause why syncing of Horde 4 with >>>>>>>> my Funambol 6.5.18 (Windows Mobile) doesn't work (with old Horde >>>>>>>> Webmail it worked fine) >>>>>>>> >>>>>>>> The APIs do (no longer?) support the desired content types: >>>>>>>> (see below error output after I added according logging (seems >>>>>>>> that >>>>>>>> the exception currently thrown in export messages of API is not >>>>>>>> logged accordingly or I have overseen it): >>>>>>>> >>>>>>>> 2011-11-08T21:38:49+00:00 ERR: HORDE [kronolith] Kronolith >>>>>>>> unspported content type text/x-s4j-sife [pid 19212 on line 794 of >>>>>>>> "/kronolith/lib/API.php >>>>>>>> 2011-11-08T21:38:49+00:00 ERR: HORDE [nag] Unsupported Content >>>>>>>> text/x-s4j-sift [pid 19212 on line 1061 of "/nag/lib/API.php >>>>>>>> 2011-11-08T21:38:49+00:00 ERR: HORDE [mnemo] Mnemo Export >>>>>>>> unsupported Content Type text/x-s4j-sifn [pid 19212 on line 276 of >>>>>>>> "/mnemo/lib/API.php" >>>>>>>> >>>>>>>> Is it a bug that these content types are (no longer) supported? >>>>>>>> Any >>>>>>>> hints how to best include it again? >>>>>>> >>>>>>> The SIF-X content types are a invention of Funambol and they have >>>>>>> ceased using it since Version 8 as far as i remember. So this >>>>>>> content type is dead and i doubt it will be included in Horde4. >>>>>>> Your only chance is to get a newer than 8 Funambol client. >>>>>> >>>>>> They are still supported by Horde. It looks like your client is not >>>>>> detected as a Funambol/Sync4j client though. >>>>>> >>>>>> Jan. >>>>>> >>>>> Hi Jan, >>>>> >>>>> thanks for the info. During my debugging I found out that coding in >>>>> ../PEAR/Horde/SyncMl/Device/Sync4j is executed. Is in that case your >>>>> assumption still true? >>>>> >>>>> How/where can I trace to get it fixed? >>>> >>>> See the wiki for how to create syncml logs. >>>> >>> Hi, >>> >>> pls find attached the logs from /tmp/sync. For simplicity, I only >>> synced notes. >>> >>> Horde Version: 4.0.11 >>> Funambol: 6.5.18 (HTC Touch 3g) >>> No PHP errors showed up in the PHP error log >> >> This doesn't look like a correct log. It's from synchronizing from >> server to client, but your problem was when synchronizing from client >> to server, right? >> >> Jan. >> > Hi Jan, > > it is the correct log. I am synchronizing from server to client. I > setup funambol to only "sync"/copy from server to phone as I never > maintain entries on the mobile (too difficult) and I only sync > occasionally. (to be honest: I do not fully trust these syncs - so I > prefer having valid data on horde and maybe partially > invalid/incomplete data on my phone instead of messing all up for the > very very rare use case to adjust anything directly on the mobile... > > Anything else I can do to help analyzing? > > By the way - does anybody know where to find valid x-s4j-sif* sync > samples? I could maybe hack it into the existing code, but I don't > find out how it should look like to work... > > thanks, Christian Hi, pls find below my latest findings why syncing out of the box doesn't work: Client request somehow calls into ../SyncMl/Sync.php, method createSyncOutput Here, below /* Handle additions */ (in my modified file row 485) $c = $backend->retrieveEntry(.,ct$,..) is called with $ct=Funambol Content types, e.g. text/x-s4j-sife This ends up in corresponding Application/lib/Api.php =>export method All my export methods do not return anything for the funambol content types but throw an exception Potential ways to fix as of my impression: a)Adjust API export methods to return valid funambol data (e.g. text/x-s4j-sife) and everything should be fine b)Adjust Sync to call retrieveEntry with content types supported by the API->export and then run through the content type conversion as already implemented c)Different approach I have not yet considered If I would only fix it for myself, I would probably pick approach A as this looks easier for me - but will get broken with next upgrade. Approach B looks more like a generic, solid patch. Pls advice. Any comments or remarks? Thanks, Christian -- sync mailing list - Join the hunt: http://horde.org/bounties/#sync Frequently Asked Questions: http://horde.org/faq/ To unsubscribe, mail: [email protected]