KnowledgeTree
KnowledgeTree
is a pure-play, PHP based, documented management system developed by
South African Jam Warehouse and distributed under the GPL. Originally
developed for the South African Medical Research Council, KnowledgeTree was open sourced and has enjoyed a good deal of popularity with 125,000 downloads to date. KnowledgeTree,
along with Owl (described later in this whitepaper), is one of the few
PHP-based DMS available. Because of its strict document management
focus, the KnowledgeTree UI is simple and easy to learn. Recently KnowledgeTree has started to focus on support for compliance with Sarbanes-Oxley regulations. KnowledgeTree
is frequently bundled with Jam Warehouse's proprietary product Baobab
which provides WebDAV support, a client side application to navigate
the repository, and toolbar plug-ins for Microsoft Office applications.
ARCHITECTURE
KnowledgeTree is built on the web scripting language PHP (4.x) and MySQL. Performance of PHP and MySQL is generally very good but the architecture does not support clustering for load balancing and failover, although this probably will not pose a problem for most organizations. High availability and scalability facilities as well as clustering are on the roadmap. WebDAV support is only available through the Jam Warehouse's proprietary product Baobab. Without Baobab, KnowledgeTree, suffers from lack of standards support making it difficult to integrate into an enterprise architecture. However, as a point solution, this may not pose a problem.By default, document files are stored in the file system in a directory structure that maps to the folder structure shown in the UI while metadata and the search index are stored in the database. Using MySQL to hold the search index may pose a slight performance problem for very large repositories as a relational database is not optimized for this use. The available StorageProvider plugin architecture allows for other storage locations if desired.
CREATE AND STORE
Documents added through the web interface are assigned a document type which determines what metadata fields are available and required for the asset. The document types are defined through the administrative interface. The basic install comes with a set of default document types, which can be easily extended to other types like the Dublin Core field set. File upload can be made less tedious through the use of the bulk upload feature which allows you to upload a zipped archive of files. However, all the files must be of the same type and will share the same metadata values until they are individually changed.ORGANIZING AND COLLABORATION
KnowledgeTree's workflow model is used for document routing and can be triggered on a per-folder or per-document basis and is based on roles. Users assigned to a reviewer role are notified of items that require their attention through email and messages on the dashboard. Users are able to subscribe to folders so that they are notified of any changes.KnowledgeTree supports check-in/check-out and document versioning. There are comments fields for the reason for checkout and a description of what edits were made. The versioning feature displays metadata differences. Earlier version can be downloaded through the user interface and used to overwrite the most recent version in order to perform a revert operation. Users can engage in threaded discussions on any asset and create references to documents in other folders within the repository.
An archiving feature allows collections of documents to be placed in an archived state but then restored later to some other location within the folder structure.
SEARCH & ACCESS
KnowledgeTree is able to full-text index most file formats including Microsoft Office, Open Office and PDF. Custom extensions can be written for other file formats. An advanced search feature allows a user to construct complex Boolean queries on most content attributes. Administrators are able to save searches and make them available to users. The repository can be browsed by document type and certain metadata values in addition to the traditional folder based navigation.A robust role based access control (RBAC) model allows users to assign access policies to roles and groups. Permissions set on folders are inherited by subfolders and their containing documents (unless overridden). Users are organized into a hierarchical structure of organization, unit, and group and roles can be assigned to users and levels of the organizational hierarchy. The system can be configured to authenticate users against either the user tables of KnowledgeTree's MySQL database or against an external LDAP repository or ActiveDirectory.
URLs to individual assets can be bookmarked but they are based on query strings and IDs so they do not indicate the location of the asset within the folder hierarchy.