This is a TODO file. Open issues are unmarked, partly resolved issues are marked with a *, ignored issues get an -, and resolved issues a + (or they are completely removed from the list). Check the ChangeLog for details on how an issue is resolved, since resolved issues are periodically purged from this list. * Import pilot-link 0.12 CVS again * Implement correct full syncing in memofile conduit. honestly, we should really have a generic sync engine that knows how to do all of the different sync types and only calls conduits for comparisons, list fetching, pilotid->whateverId persistence and retrieval, etc. *sigh* is that what opensync gives us? Essential ========= 3b) Implement reset to last sync and ignore conflict resolution options in vcal conduits (bug #59221) 4a) Config troubles: Start kpilotDaemon and then kpilot. Configure a conduit in kpilot, then do a sync (which writes something to the config, e.g. run the docconduit). Now configure another conduit in kpilot. The config file will be changed again, but the changes from the sync are lost (i.e. after a sync, kpilot needs to reload the config). (seems connected to bug #56115) *4b) Conduits should not use the backup databases, otherwise a backup run will screw up the conduit's mechanism to detect changes. (bug #59219) 4c) Need to find a better way to detect runs without a conduit, and switch to full sync in that case to prevent data loss. 4d) Need to find a good way to avoid a mess when implementing new features (e.g. after implementing the correct category sync, how do I ensure that no category settings are lost?) 5) After the special sync is done, ask if the next sync should again be the same special sync, a fast or a hot sync. (wish #59218) Important (hight priority) ============================ 6a) The abook conduit currently only syncs one email address and one phone number of each type. I need to find a way to sync two email addresses to and from the handheld. (Bug #56364) 7) Check the first-time syncing behavior of all the conduits. 15) Add force-first-time to the KNotes conduit. 17) Include a calendar viewer, or get rid of the internal viewers altogether. 19) GJJ: Replace newlines in TODO summaries (not allowed in libkcal), also do the same for phone numbers etc. (bug #56379) 19b)Make the doc conduit use the new global settings instead of its own Medium (nice to have, but not essential) ======================================== 18) VCal conduit: events going over midnight need to be split up on the handheld (bug #59223) 20) GJJ: Check all debug output, what should be put in the log (i.e. be visible to the user) and what is just debug output to track down problems. 21) GJJ: Hunt down and kill printfs. Hunt down bad i18n. 26) ABook conduit: sync with preferred address (not home or work address) 27) Update the conduit programming howto (some changes in the database and record classes) 31) GJJ: Extend all conduits to allow arbitrary URLs instead of local files. 32) JPilot conduit: fix the configure.in.in checks for gtk/glibc (although the conduit isn't even remotely finished) 32a)Find a replacement for the NULL conduit (skip databases when doing a backup) Unimportant (lowest priority) ============================= 33) JPilot conduit: Implement the conduit as an external GTK application, that is embedded into kpilot using qxembed 34) JJ: Add tooltips to all controls in all conduit configure dialogs 35) Do not store the RecordID with the vcalendar entry, but in the kpilot config 37) JJ: Show the sync log as a KPassivePopup 39) Make an application that just has a LogWidget and KPilot's dcop interface (and registration!) so that you can follow the daemon's log output without starting KPilot at all. 40) Allow the todo conduit to use the manana database (see jpilot) 41) Allow the memo conduit to use the pedit32 database (see jpilot) 42) Use pdf2text application to also install pdb files with the palmdoc conduit. FINISHED TODO jobs ================== +(1) VCal conduit: Currently using the ResourceCalendar (standard calendar) doesn't work for some (unknown) reason. Every sync happens with the filename given in the setup dialog. Probably very easy to fix. +(2) 4d) Need to find a good way to avoid a mess when implementing new features (e.g. after implementing the correct category sync, how do I ensure that no category settings are lost?) +(3a) Implement the CopyToPC and CopyToHH directions in the addressbook conduit (bug #59220) 5) After the special sync is done, ask if the next sync should again be the same special sync, a fast or a hot sync. (wish #59218) Redesign the config dialog of kpilot (get rid of deprecated options, include conflict resolution, etc.) +(3) Fix all conduits to use the new global options: conflict resolution, emergency sync, sync mode etc. +(4) VCal conduit: Fields not supported on the handheld are erased in the calendar (e.g. categories). I need to get the Event before I copy all fields over, and only overwrite the fields from the handheld, so the others remain unchanged. RESOLUTION: Found out that this is not true any longer, and everything works just fine! +(5) AvantGo conduit: fix the configure.in.in checks for libmal +(6) ABook conduit: fix the first sync setting +(8) Find out what's the reason of the "Invalid unique ID" crashes in the calendar conduits (and the addresssbook conduit) (bug #51216) -(9) GJJ: PalmDOC conduit: kpalmdoc is run as a modal dialog, not as a standalone dialog (e.g. create a link on the desktop to kpalmdoc and start kpalmdoc from there. You can't access the desktop until you quit kpalmdoc) RESOLUTION: This is a general KDE Bug!!!! -(10) GJJ: Add a flag to the log{Error,Message} functions to prevent the addition of the trailing
and the date to each output (e.g. to put all output from the AvantGo conduit in one line, instead of one separate line for each .) RESOLUTION: This is not possible in a QTextEdit in LogText mode. However, I got rid of the pseudoo-progressbar, so this i no longer needed. +(11) Merge between HEAD and BRANCH (again). +(12) ABook conduit: Check all fields for differences before asking for conflict resolution. (i.e. don't ask for conflict resolution of single fields, just for the whole record) (bug #59222) +(13) ABook conduit: custom field sync doesn't work with birthdate (how do I convert a date to a string and back in an arbitrary format???) (Bug #50871) +(14) ABook conduit: Fix categories sync RESOLUTION: Fixed for the abook and the todo conduit +(16) Remove the edit capabilities from the built-in viewers. (fixes bug #54765) Or write a SyncAction childclass that merges the changes from the internal editors to the databases on the handheld before the sync takes place RESOLUTION: Implemented the InternalEditorAction that syncs these modifications +(19a)Implement the internal editor sync +(19a)When syncing, also backup the databases (if option is set) +(19b)Add all codecs that are supported by Qt, automatically fill the combobox in the config dialog. Change the combobox to an editable Combobox so that the user can also give other encodings (if he installed the corresponding plugins). +(22) Update README, TODO, NEWS, AUTHORS in HEAD. +(23) GJJ: Move the conduit configuration dialog (for the umpteenth time) to a list of QCheckBoxes, like noatun's plain playlist or tdedebugdialog +(24) PalmDOC conduit: choosing the bookmark type of the pdb->txt conversion is not yet implemented. Only create .bm file, if there are bookmarks in the text. -(25) ABook conduit: sync with multiple email addresses (space-separated list received from handheld) RESOLUTION: Duplicate of 6a) +(28) GJJ: The question asked when kpilot and the pilot's usernames don't match isn't very intuitive. It should be changed to a yes/no/cancel with "Use KPilot name" "Use Pilot name" "Cancel". This is in interactiveSync.cpp. -(29) Fix the NULL conduit's tooltip - OR - make it actually do what the current tooltip says. RESOLUTION: The NULL conduit is no longer needed at all, so I disabled it completely -(30) GJJ: Create good icons for the kpalmdoc converter application. +(38) Should interactiveSync and syncStack be moved to lib/ ? Specific JOBS ============= *** *** PilotLocalDatabase fixups *** The PilotLocalDatabase class is really ugly and clunky -- and far worse, it has a hard-coded limit of 10000 records per database. This may have hurt us once or twice already (consider that a Visor w/ 16Mb could *easily* hold 10000 addresses). It needs careful reworking. I think using a Q(Ptr)List is the way to go here -- well, maybe a QVector would work as well; that depends on whether QVectors resize well. The tricky part is implementing the "current record pointer" with the same behavior as the current fCurrentRecord member, since conduits may depend on it. *** *** Popmail Conduit & IOSlaves *** The popmail conduit duplicates a lot of code found elsewhere -- it does SMTP sending and POP3 retrieval of mail messages. That should really be left to IOSlaves, which are better debugged. Using tickle() will be necessary while waiting for responses from the slaves, since you must keep the pilot awake. (This opens the door to multi-threading conduits, with possibly an asynchronous "pre-sync" action).