Daisy is a content management system that offers rich out-of-the-box functionality combined with solid foundations for extensibility and integration.
Daisy consists of two main components:
-a stand-alone repository server accessible through HTTP/XML (using the ReST style of WebServices) and/or a high-level (remote) Java API, and
-an extensive editing and publishing front-end web application running inside Apache Cocoon.
Due to its genericity and flexibility, Daisy can be used for many different purposes, but is ideally suited for information-rich, structured content and asset management applications.
The following sections list some extensions provided with Daisy.
This extension sends e-mail notifications when certain events happen in the repository server. It also manages the subscription to these notifications. Users can subscribe to individual documents, collections of documents or all documents.
This extension allows to retrieve aggregated and prepared data for rendering, this to minimize the amount of remote calls that one needs to make to the repository, and to make some core publishing functionality reusable. This component is used by the Daisy Wiki to do its document publishing, but other applications have also made use of it, such as the Forrest and Maven plugins, or the PHP client library.
This extension provides functionality for generating hierarchical navigation trees. A navigation tree definition can contain manually defined structures but also queries which generate navigation hierarchies. Navigation tree nodes are filtered according to the access rights of users. See the Daisy Wiki for more details on this component.
Document task manager
This extension allows for the reliable background execution of a certain task across a (potentially large) set of documents. Execution progress is tracked persistently in the database. Ideal for applying bulk changes to documents.
The Daisy repository contains a component which can generate image thumbnails, extract EXIF data to document fields, and auto-rotate images based on EXIF information. This component is implemented in the form of a “pre-save hook”, and supports a flexible configuration to handle different document types.
The repository keeps track of the links between documents. To do this, it supports extracting links from a number of formats, especially the “Daisy HTML” format. Adding new link extractors is possible. Link extraction allows to quickly search for document referers, i.e. documents linking to a document.
Daisy can extract and store a short summary from documents. This can be useful to display in search results. Currently summary extraction works by getting the first ~300 characters from the first Daisy HTML part of the document.
Daisy supports a simple document commenting feature. It is expected that in the future, the commenting feature will be moved outside of the core repository into an extension component, and then be further enhanced to support hierarchical comment threads etc.