KnowledgeTree DMS Development TODO List
---------------------------------------

(In no particular order after office integration)
- Microsoft Office integration- Open, Edit, Update documents in the KnowledgeTree from within Microsoft Office programs (IN PROGRESS)

- Search- improve standard search hitrate
  - if there are no standard search results then try advanced search?
- WebDAV integration
- Reporting- Simple usage and statistics report generator
- Code Review and Refactoring
  - Web Framework: Phrame (http://phrame.sourceforge.net) / Smarty (http://smarty.php.net) integration
  - Notification Handling
      - tidy up collaboration emailing text- refactor emailing
        - names instead of usernames, line breaks etc (html/txt?)
      - email controller links
      - ?? and getDocumentPath-> displayDocumentPath?
  - Subscription refactoring
      - Use a factory and distinct DocumentSubscription and FolderSubscription classes
  - All common UI code- headings, document/folder path, candystriping, status and error messages
- Documentation
  - Design document and Developers Guide
    - decide what is core and what is optional
    - how to decouple logic into modules- documentActions
- Javascript folder browse; folder tree pane
- Zip functions
  - Mass up/download
    - download- zip up and download file lists (folders, categories, document types, search list)
  - Unpacking archives
    - Allow zips to be browsed and contents accessed.
- Shortcuts  
  - Folder: Add a shortcut to a document in the dms from a folder
- Allow addition of URLS
- Add number of documents to folder view, or change folder icon (open/closed)based on folder contents
- Automated Test Suite
  - For Coverage and performance tests
- Write custom error handler
- Security audit
- Logging
  - Make logging robust, spin off as Log4Php?  Or use PEAR Logging class.
  - Revisit application logging and tidy up logging levels.
- Document Routing
  - Allow overrides on a per document basis
  - Manage the routing sequence numbers in the application.
  - Routing starts automatically when a document is added
  - Routing templates- the roles are specified and default users are chosen when creating a folder
  - Specify a group in a routing step- all the people in the group must review/approve
  - Allow routing to be restarted
  - While a document is being routed, the current version of the document must only be available to users
    involved in the process.  Other users see the version before routing started
  - If a user has a read approval step, the user must not have access to "reject" the step
- Search
  - Search all document and folder properties
  - Accomodate custom search terms- $fCustomSearchxxx
- Allow thumbnails for image types (API for any other filetype)
- Permission model- allow breaking of permission inheritance (integrate with serving multiple organisations)
- Multi-document select in a folder (for delete, move etc.)

$Id: TODO.txt,v 1.8 2004/05/10 15:54:07 michael Exp $
