Features
Features marked with an asterisk (*) were added in version 2.0.
Content Model and Repository
- Documents stored in file system
- Flat document structure *
- Human-readable URLs
- Arbitrary number of languages
- Configurable multi-value meta data element sets *
- Arbitrary content (XML, text, binary)
- Repository accessible via WebDAV
XML Support
- Validation (Relax NG, XSD)
- Flexible XML processing pipelines (Apache Cocoon)
- XSLT, XInclude, XPath, SAX, DOM
-
Generate XML content from various sources, e.g.:
- XML: include data from external RSS feeds
- HTML: page scraping, integrate legacy websites
- SQL: include data from databases
- Text: parse text files to generate XML content
Website Management
- Multiple sites ("publications") per Lenya instance
- New sites can be added using the GUI *
-
Publication templating: *
- Create publications based on a master publication
- Override certain features (e.g., XSLT or CSS)
- Arbitrary depth (publication tree)
- User accounts can be shared or separately defined
- Custom proxy configuration for each publication
- Cut/copy/paste subtrees in the site tree
- Overview of documents based on language, resource type, and workflow state *
Link-Management
- Documents are internally referenced using UUIDs *
- Function to find all broken internal links *
- Warning if a to-be-published document contains links to unpublished documents
Content Types
- Arbitrary XML content structures with validation
- Binary files and images are treated as documents *
- Image upload in WYSIWYG and source editors
- OpenDocument resource type included
Search Engine
- Based on Apache Lucene
- Incremental indexing after every change
- Flexible XML and meta data indexing and querying
- PDF indexing *
Content Editing
-
WYSIWYG editors
- BXE (XML, Firefox, Relax NG)
- Kupu (XHTML, Firefox, IE)
- FCKEditor (XHTML, Firefox, IE, Safari, Opera, …)
- TinyMCE (XHTML, Firefox, IE, Safari, Opera, …)
- Optional: Xopus (XML, IE, XSD)
-
Source editors
-
XML source editor, syntax-highlighting with CodePress
can be installed
- Form-based editor ("Form Wizard")
-
Editors for custom document types can be implented using the usecase framework *
Layout
- Flexible pipelines for XML processing: transformation, filtering, aggregation, inclusion, …
- XSLT for XML, (X)HTML and text rendering
- CSS for styling
- XSL-FO for dynamic PDF generation
- Support for custom templating mechanisms
- Framework to implement navigation widgets
- SVG processing components and XSLTs *
- Server-side image resizing *
- Automatically generated layout images, e.g. round corners *
Workflow
- Arbitrary workflow definitions
- State machine model (deterministic finite automaton)
- Pre-defined two-stage workflow as example: edit, submit for review, reject, publish, deactivate
- Documents can be moved between different areas, e.g. authoring, staging, live, archive, trash
- Scheduling of workflow transitions
- Notification (e-mail, user inboxes in CMS GUI)
Versioning
- Backup of the last n revisions
- Revisions can be viewed and restored
User Interface
- Authoring environment: WYSIWYG
- Default: drop-down menubar on top of the page
- Inactive menu items disabled with tooltips for explanation
- Completely customizable (XSLT, CSS)
- Sitetree: Javascript, incrementally loaded for better scalability
Access Control
- Flexible role-based access policies per page, usecase and workflow transition
- Roles can be assigned to users, groups, and IP ranges
- SSL encryption can be required for pages / URL spaces
-
Authentication options:
- User account managed in CMS
- LDAP
- CIFS
- Single Sign-On via Shibboleth (work in progress)
- Integration of custom authentication services possible
Development
- Extensible: Add custom modules, resource types etc.
- Powerful Java API for document management and XML processing using SAX and DOM
- Implement processing components in Java or XSLT
- Usecase Framework for easy implementation of interactive functionality *
- Cocoon Flow with continuations for session state management
- Built-in profiling capabilities *
- Easy integration of JUnit and Canoo web tests *