You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kpilot/TODO

202 lines
9.4 KiB

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
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).