Fixing Broken Stuff ------------------- * Use glib to handle as much of the portability layer as possible. * Write tool for validating one or more OMF files, and man page for it. * Fix bugs in the bug system: https://sourceforge.net/tracker/?group_id=11543&atid=111543 * If somebody does a scrollkeeper-install of a document which is already installed, it installs a second copy. It should really uninstall it and then do the install. * If the identifier url is incorrect, the document is added to scrollkeeper_docs even though the document does not exist. * ScrollKeeper should check that a given DTD is installed before trying to apply a stylesheet to it, or it will fail. When this is done, we can consider taking the explicit requirement out of configure.in. * Index extraction seems to be broken for indexterms which don't have the 'zone' attribute. This is actually b/c there is no anchor to target. Having the pre-processor will fix this. * Fix bug where a bad XML doc (eg. one with 2 legalnotice sections) will cause an RPM upgrade to spew an error to STDOUT. * Make sure omf.make passes 'make distcheck' and make sure it is in sync with GNOME's make distcheck * Resolve en_US vs. C issue * Fix configure.in to remove deprecated features (including removing acconfig.h). * Update the web page (http://scrollkeeper.sourceforge.net)!! * Add a flag so that the installation process doesn't try to write an installation log. Adding/Enriching Features ------------------------- * Add optional attribute to OMF * Resolve issues in sk-devel thread "Translated TOC list" * Add feature which allows promotion of documents from an obsolete category to a specified non-obsolete category. * Consider making category an optional attribute. * Add appropriate flags to various commands to allow for easy use by non-root users. This means each command must accept a flag for the database path, and possibly for a log file and other files. * Add --help flags to each script/binary and update man pages * Try to capture any errors which libxml2 dumps and send them to the log file instead of STDOUT * Write DTDs for the ScrollKeeper XML data files * Make sure omf.make and xmldocs.make are in-sync b/tw gdp-example2 and sk-example2... Jacob updated gdp-example2 * Write a script which finds all sectioning (and maybe some others?) tags and inserts id's if they are missing. eg: "scrollkeeper-addids ". It just runs xsltproc with a stylesheet that adds a generic and reproducable idref. Sections are given ids "genericsectionid######", indexing tags are id'd "genericindexid#####". We need this as a pre-processor b/c DocBook doesn't require id's for most things, but ScrollKeeper/help browsers need them in order to link from the table of contents to particular sections or for the index to link to the terms they list. * See if there is a more graceful way to handle docs where the OMF file mis-declares their mime type. Right now, it causes a nasty spew to the screen. * Generally, we still need to improve our error logging and general info logging a lot. For example, it currently sends a log entry when it tries to install or uninstall something. However, it doesn't distinguish between successful and failed attempts. * Put back the SGML index extraction and TOC extraction, doing proper checking for failure of sgml2xml. It should not try to do the extractions if sgml2xml returns errors. * Write man pages for all binaries? * Write a nice script or program to parse the category list and output it for the user. * Replace DocBook/SGML support using libxml2's DocBook/SGML support stuff and better error checking. * Have scrollkeeper-update be smart that if you pass it an OMF path which doesn't exist, it realizes that you probably just removed the directory and that you want to unregister any OMF files which were previously in that path. * Have the log file path follow the variable state directory, so that the log file is put under the build root when making RPMs. * Consider having ScrollKeeper validate documents before trying to process them (DV seems to oppose this idea.) * Review GNOME bug 73497 which is about ScrollKeeper. * Review performance issues and, for a future release, add feature for pre-compiling metadata at build time. Documentation ------------- * Put info on l10n into OMF doc * Make list of changes in 0.3/0.4 and new features in 0.5/0.6 * Update/finish 0.4 specifications. Get features/changes from email and add that categories for the next SK-OMF DTD should break up the category into proper XML form (possibly) * Write a document about anything with DocBook/XML or DocBook/SGML that ScrollKeeper is picky about. For example, ScrollKeeper currently requires that a section have an id to be included in the TOC (since it needs an anchor to link to). * Write a FAQ. (1) Q: How does one find out if a specific document is installed, and where? A: Use the contents list and look for to match that of the document of interest. Testing ------- * Go forth and test, especially in with various documents (SGML and XML) and with various locales. * Make sure that docs with invalid categories are placed into the most appropriate "Other" section. * Make sure that docs in categories which are not translated go into "Other" section. * Make sure that documents with missing document id's all get treated as unique documents. * Test locale fallback for documents ScrollKeeper 0.5.x/0.6.x Features/Changes ----------------------------------------- * URI resolution * DTD improvements * Conversion of OMF files between DTDs