06-24-2001 - Revamp of the TODO list for better readability; Major, Minor, Tweak, Feature. The remainder below illustrates this: Major Issues ------------ Open/Pending ------------ - read-expenses/install-expense doesn't return the string of Type for 'Train, Airplane', etc. - Need to clean up the OS/2 defines, or remove them entirely. This requires that the ./configure be reversed into configure.in/auto* scripts. The 'p4' stuff should be tweaked, and ${HOST} detected upon ./configure. - Check RPC code (something broken on large-endian machines?) - pilot-addresses -T header fix (don't import header into record) - Progress output per record - Check for 0-byte files on read - Strip CR/LF on read - Export categories to csv - pilot-xfer -f fix (support '-f FooDB' as 'FooDB.p{db|rc|qa} - Split out "Sync" from Backup function - "strict-ify" sync-plan.PL Fixed/Closed ------------ - Fix DLP to understand multiple return arguments. - USB syncronization with m50x devices. DLP changes to facilitate these fixes. Document. - Fix the broken readline() support - pilot-xfer does not test for the existance of the target directory when using '-b '. Critical. - Java code needs to be cleaned up. Any volunteers? I could learn this, but it would slow down releases (thanks to David Goodenough for taking on this task!) - Fix the C++ test(s) in ./configure, and roll all of this back into autogen.sh/automake scripts. Minor Issues ------------ Open/Pending ------------ - configure.in to handle testing for python-devel installed #include int main() {PyObject x; return 0;} - Add missing DLP 1.2 calls - Fix all remaining -pedantic warnings and errors Update - Add current date/time to dlp_AddSyncLogEntry(); - install-hinote duplicate note detection, export of notes from Hi-NoteDB.pdb into desktop text files. Can we easily handle images? - Review pilot-mail. Do we need this? Can we depricate this, and begin the transition over to Hollis' work on pilot-mailsync? - manpages. I know, nobody wants to do them, but we need to clearly document some of the obscure options that some of the pilot-link binaries offer (such as 'ls -l' in dlpsh). This also includes active examples of some of the complicated options. - Should we nuke addresses from the package? The functionality it provides is already in pilot-addresses. - Add progress callbacks to libpisock so that you can find out how far a file transfer has gone (this is complex, as you also need to instrument PADP and perhaps SLP transmissions, receptions, and calculating exactly how many bytes is needed to transfer a file won't be fun.) - Update Java bindings to use Ant instead of {g|n}make - Rewrite Perl bindings to take advantage of MakeMaker - There's a small perl problem with writing the binary character 11 to the end of a record. The following example illustates this: #!/usr/bin/perl -w use diagnostics; use PDA::Pilot; # it's the last value which makes the program fail; # and it fails only for the value 11! @rec = (0,0,0,0,0,0,0,0,11); %info = ("type"=>"Data","creator"=>"XXXX","name"=>"test"); $pdb = PDA::Pilot::File::create("test.pdb", \%info ) or die "Oops!\n"; $rec = join('', map(chr, @rec)); $pdb->addRecordRaw($rec,0,0,0); Tweaks/Enhancements ------------------- - Add proper curses updates to pilot-xfer -b -f -i -s -p to look something like: .--------------------------------------------------------------. | File: /tmp/palm/Alpha-Lg.pdb Successful | | Size: 3,462 bytes, 3.38k 1,028,492 bytes total | | Progress: [==========================> ] 62% | | Overall: [=======================> ] 50% | | Time: 00:11:23 | | Files: 234 remaining, 468 total | `--------------------------------------------------------------' - Remove the pi_bind, pi_listen, pi_accept from all relevant files, and create a function pi_error() which will return the proper responses. Additionally, remove PalmHeader() and stick that in it's own function which will report --version calls. - Start to condense the install-* binaries into one binary called pilot-install. getopt() is a prerequisite for this, so we can do 'pilot-install -memos -todos' for example. Too much duplicated code in there. Symlink the rest of the apps to pilot-install, and just test argv[0] to run the proper functions. Multi-call binary. - 'pilot-xfer -f Foo' to pull 'Foo.prc' from your Palm works. Additional option to pull by CrID would be nice as well (and faster, since we can use the DLP equivalent of DmOpenDatabaseByTypeCreator()) - Add 'reada()/writea()' socket calls that allocate the return buffer (important for NetSync, as results larger then 64K are possible). - Add Tcl 8 specific code to allow retrieval of raw records, and optionally use Tcl routines for packing and unpacking; Add all dlp functions, clean up the channel code rats nest. Somehow. (Separate source file?) - Perl bindingss: Change record representation from string to object to match Python implementation. Add packers. Document. - Collapse: read-todos/install-todos, memos/install-memos, etc. - pilot-datebook updated to match remaining structure New Features ------------ - pxd, first cut at a pilot-xfer'ized daemon - Deal with the m100 API to Notepad. Has anyone taken a look at the data structures and come up with a way we can replicate them, to read records? Ideally the images should be $(NAME).png, and the text associated with it should be $(NAME).txt. - Standard output format for the "4 Magic Buttons". XML? csv? iCal/vCard? - Full VFS support in libpisock for pilot-xfer -b, dlpsh, and friends. - TRGPro CF direct writes (Card 1?) - Write iambicExpense.c (is this needed?) - Teach sync-plan about the other repetition types that are convertable from Plan to Pilot. - Clean up pilot-xfer a bit more, add a -ntp option to sync the time from/to the desktop from/to the Palm. - pilot-xfer --daemon. Would be a good test to get it listening on a port in a non-scripted hacky way. All applications which return should have this functionality. Interactive applications should be left alone. - File size reported on all pilot-xfer'style syncs, ala: Backing up './Small Icon EditorSSle.prc'...(2192 bytes, OK)