summaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-02-16 20:17:18 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-02-16 20:17:18 +0000
commitcb7eddb91455a69cf66fcd717e91a51ca5e2cfef (patch)
treecf5546e4d7c44370fbe9ca2be937bd254f30ebaa /TODO
downloadkpilot-cb7eddb91455a69cf66fcd717e91a51ca5e2cfef.tar.gz
kpilot-cb7eddb91455a69cf66fcd717e91a51ca5e2cfef.zip
Moved kpilot from kdepim to applications, as the core Trinity libraries should not contain hardware-dependent software
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kpilot@1221127 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'TODO')
-rw-r--r--TODO201
1 files changed, 201 insertions, 0 deletions
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..1729faf
--- /dev/null
+++ b/TODO
@@ -0,0 +1,201 @@
+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 <br> 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
+ kdebugdialog
++(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.cc.
+-(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).
+