Table of Contents
- 1 Historical Information
- 2 Objectives for 2006
- 2.1 Release 1.3 (May/June) - Development Platform Release
- 2.2 Release 1.4 (AUG-preview/SEP-final) - Business Process Release
- 2.3 Web Content Management Release (SEP-Preview)
- 2.1 Release 1.3 (May/June) - Development Platform Release
- 3 Objectives for 2007
- 3.1 Release 2.0 (Shipped Feb. 20, 2007)
- 3.2 Release 2.1 (Community Release, end June)
- 3.3 Releases 2.x (TBD)
- 3.4 Release 3.0 (Tentative target: end 2007)
- 3.5 Contributions
- 3.1 Release 2.0 (Shipped Feb. 20, 2007)
The Alfresco system will constantly evolve toward a broad-scoped Enterprise Content Management System. We specifically chose to highlight document management and collaboration in our first major release since there is very little in these capabilities in the open source community that matches the commercial world. We have added several features for web content management and we will continue to develop this area.
With release 1.2.1, we have now made the open source and enterprise editions functionally equivalent. However, bug fixes will be made more quickly and frequently to the enterprise edition as part of the support process. In addition, the enterprise system will be tuned for large organizations where the open source edition will be optimized for memory and space conservation.
Features will be released continuously, but certified on a quarterly basis. This roadmap describes the features that we will be releasing and what quarter we will release them. This roadmap is indicative of our current priorities, which may change due to community requirements.
Objectives for 2006
The following are initiatives that we identified as our key product initiatives for 2006. This is based upon feedback from the initial system that we delivered in 2005 and from our vision of how intend to flush out a complete Enterprise Content Management system.
- Web Content Management
When some people think of content management, they think of web content management. Although this is a small portion of the overall ECM market, it is an important part of delivering and presenting content in the repository. During 2006, we had a unique opportunity to address WCM as we hired the original development team from Interwoven. We are now in the process of building a next generation WCM to provide that web view and enhancing the repository to support the use cases of developing web sites and providing easy contribution of content to those web sites.
- Enhance ECM Platform
Of all the classes of enterprise software, Enterprise Content Management is the most ambiguous as to whether it is an application or a platform. Although it is important to have an easy to use and powerful application for document management, web content management, records management or other areas, it is at least as important to have a platform to enable those applications and those of our customers. We will be investing heavily in this to simplify our life as well as those of ISVs and customers. We especially would like to simplify the development of applications in imaging, collaboration, publishing and records management. The nature of the platform is not just adding the ability to add new aspects in the server, but to also plug in user interface components into the web client and enable it as a platform for content-oriented user interfaces.
- Support Standards
We are at a unique period in enterprise content management as we are on the threshold of standardization and in the midst of commoditization of ECM. Our plan is to move as quickly as possible on these standards such as JSR-170, its successor JSR-283 and Web Services through the AIIM iECM (Interoperable Enterprise Content Management). John Newton and David Caruana are participating in both standards. In 2006, we will be striving to build a complete JSR-170 and the fastest implementation.
Collaboration accelerates content creation and capture and that is why features such as discussion threads, tasks and messaging are either built into or integrated with most ECM systems. Our objective is to use the many open source tools available to either directly provide collaboration functionality or integrate it. This effort will continue into 2007, but in 2006 we are considering integration with collaboration technologies such as e-mail, wikis, blogs, discussions, instant messaging
This will be an on-going initiative until the Alfresco system is completely self-managing. Initiatives for 2006 are to simplify and accelerate initial installation and set-up. In addition, several features that require XML configuration such as creation of types and aspects and management of security and groups will get new user interfaces.
Release 1.3 (May/June) - Development Platform Release
The preview release came out in mid-May. We are currently in the middle of some performance tuning of the system and now that it is complete we will be releasing the 1.3 release the week of the 26th of June. In addition to performance, the 1.3 release has focused on building out Alfresco as an ECM platform. These enhancements are important for our ability to build our Web Content Management release coming out in preview at the end of summer, records management and more collaboration capabilities. This platform release has three main directions: making the platform overall faster, simplifying the extension of the server and service, and opening the web client to plug in more capabilities.
We are currently undergoing extensive benchmarking and scalability testing. Focus of these tests is in the area of concurrency simulating typical enterprise environments and utilization of multiple cores and multiple processors.
Content Services Extensibility
The Alfresco repository is architected to allow others modify and add functionality for content-oriented applications. The 1.3 Release of Alfresco makes it much easier to extend the repository features and to manage those extensions from release to release.
- Model-based Metadata Enforcement -- The Alfresco data model can be annotated with constraints on metadata to enforce constraints on metadata such as uniqueness, data validation and mandatory properties
- Link objects -- It is now possible to create an object that is a link to another content object or folder in the system. This can also allow the construction of virtual folders.
- Space / Folder Actions -- Actions now can be performed on spaces / folders. This allows workflows to be performed on folders and is good mechanism for handling case-based workflow where the folder acts as a container for the case.
- URL-addressable Actions: External URLs; Folder; Desktop
- Notification -- Extended e-mail support for changes in the repository being delivered to groups interested in changes to particular documents, records or folders. In addition, e-mail templates can use the Freemarker templating engine to generate custom messages and links for executing actions through e-mail messages
- Simple Email based Workflow ï¿½ Embedded URL selection in email for ï¿½approveï¿½/ï¿½rejectï¿½ using customized email templates
User Interface Extensibility
The UI framework of the web client has been opened up to allow adding new pluggable components and to provide a simpler configuration of the client. This makes possible new application components and AJAX-based interfaces. Some of the extension points include:
- Extensible Dialog and Wizard framework -- Allows dialogs and wizards to be overridden on a content type basis. The addition of a type-based dispatcher allows the extension of existing Alfresco pages, dialogs and wizards to be used
- Model-driven Constraints -- Through configuring the Alfresco model, the web client can enforce mandatory properties. This complements the extendible content types already available in the Alfresco system
- Configurable Transformation Types -- The web client can be configured to recognize different transformable content types as well as introducing new content transformers.
Records Management Capabilities
Alfresco has added a number of features that are useful for managing electronic records in addition to the basic repository capability that already exists. Our intention is to get to DOD 5015.2 standard later this year or early next year with DOD certification. The 1.3 release adds some of the critical features moving toward that goal:
- Additional Rule Triggers -- The ability to trigger a rule based upon update of content, a time-based schedule, or changes or specific values of metadata. This is important for managing retention dates or managing lifecycles.
- Retention and Archival policies -- The 1.3 release adds the ability to make an object appear to be deleted, but allow a user to retrieve a previously deleted object. Content archives can be specified for off-line or near-line storage. Alternatively, objects can be permanently deleted.
- DOD 5015.2 type definitions -- The 1.3 release provides the standard data types required by the DOD specification section C2.2. Additional functionality will be provided in the next release to manage certain behaviors and methods expected in the standards.
The Alfresco system will be constantly improved for system administration with each release. In this release there are two main improvements:
- Zero-Time Upgrade for Development Extensions ï¿½ Customer-specific client and server extensions can be handled separately from the Alfresco-standard configuration files, which allows for the update of configuration files with new updates without affecting the customer configurations
- Full Export ï¿½ Release 1.3 provides a complete export of whole repository including types and users. Previously only the spaces, folders and content were exported. This allows for the duplication of repositories for deployment and offers alternatives for backup and recovery.
The Microsoft Shared File System emulation is provided through the support of the CIFS (Common Internet File System) protocol. The 1.2 Release provided LDAP support, but could not allow access through CIFS due to the fact that the CIFS protocol requires a hashed password, which is not provided by LDAP. In the 1.3 release, can use Kerberos (standard for authentication tokens) to provide authentication to be used in conjunction with LDAP directory services. LDAP is then used to identify the user and provide reusability of group definitions.
Developer SDK and Documentation
A downloadable Software Development Kit is available for release 1.3 that provides examples, documentation and tools as well as end-user documentation.
- Developer SDK -- Examples are provided for building Java applications, Actions, Aspects, Web Services applications, Remote applications, JSR-170 applications, and Web Client extensions. JAR files are provided for smaller footprint applications.
- Javadocs -- Javadocs and other development documentation are also available.
- Getting Started Guide -- Is available to help end-users to install and get the product running as well as providing examples of how to use end-user features in Alfresco.
- System Administration Guide -- All the configuration and monitoring information in one place for managing an Alfresco system.
During this time, we have also been working on initial designs of Business Process Management, Audit trail, Xforms integration, and AJAX user interface. We have been involved in an overall re-factoring of the user interface, of which some pieces will be available in the 1.4 release.
Release 1.4 (AUG-preview/SEP-final) - Business Process Release
The 1.4 release scheduled for August lays the foundation for business process management and the platform for Web Content Management. A powerful open source business process engine and forms system are being integrated to provide capabilities found in the commercial web content management systems. The workflow engine, based on JBoss jBPM engine, will enable complex production styles of workflow as well as simplifying a lot of typical content-oriented ad hoc workflows. A richer versioning model is being developed for WCM that corresponds to the full JCR versioning model, but also extends this to provide a best of breed control of web content. As with release 1.3, performance will continue to be a high priority to address more scalability scenarios, particularly around web access and virtual file system access.
After an extensive search and evaluation of the open source business process engines available, we have decided to use JBoss's jBPM engine developed by Tom Baeyens in Belgium. A powerful business process engine makes possible a number of different types of applications and is essential to WCM. In addition, we will be adding other features expected in the development of business process-oriented applications, such as auditing and life-cycle management.
- jBPM implementation -- jBPM supports BPEL and its own Java-base bindings and specification language. jBPM also provides a graphical editor and the performance is very good. In addition, its architecture integrates well with the Alfresco architecture and makes possible a number of simplifications in the development of workflows that would not be possible with a BPEL-only solution.
- BPEL Examples -- With jBPM supporting BPEL, we are providing how to integrate Alfresco with jBPM and other BPEL engines using the Alfresco web services interface
- Audit trails -- The audit trail interface will provide a complete audit history of an object, objects in a folder or the entire repository. Captured will be the user and the actions that are performed on an object. This information will be queryable and downloadable for analysis. Still under consideration is whether this is an SQL DBMS interface or XML. Anyone have any comments?
- Imaging Solution -- Using the business process features described, we will be developing an imaging solution using third-party components. Since there are still missing components in the open source world, this will be necessarily a commercial offering on the part of the third parties. All Alfresco components will be open source.
Performance and Scalability
With every release, we will continue to concentrate and invest in performance. With the 1.4 release we will be focusing on improving the performance of searching against large data sets with complex queries and complex data sets. In addition, we will work on any bottlenecks that exist in supporting CIFS in a multiprocessor environment.
We will continue to evolve the CIFS interface to simplify access to the repository and ultimately replace shared drives in the enterprise. In addition to continually improving performance and scalability, the 1.4 release will expose more of the repository functionality through the explorer interface. A virtual file interface will be exposed by making categories in the system appear to be folders in the file system, thus allowing users to browse (read-only) through categories through the explorer interface. Files can also appear to exist in multiple categories. In addition, virtual executables will allow us to expose actions that would not normally be available in the explorer interface. By creating a simulated executable, we can provide actions such as check-in/check-out and force capture of metadata. In addition, we can expose links to other files and web interfaces using simulated files.
The WCM release coming out in the September timeframe will be dependent on the 1.4 release for new functionality. Most of this functionality is also useful for other applications.
- Complex version support -- Comparable to Subversion in model, this new version model provides branching and merging, snapshots, and version workspaces to modify content without affecting the mainline. The versioning interface is being designed to be compatible with the full versioning support of JSR-170 and DeltaV spec of WebDAV.
- Rule refactoring -- Allows rules that are designed specifically for document management to be re-used for Web Content Management.
- Rich Dashboard -- We will be adding more analysis and presentation capabilities to the dashboard to give an overview of the processes in a space. This is particularly important for the WCM product.
Web Client Improvements
The 1.4 Release allows us to consider how the web client has been used over the last year and how can we improve usability and allow others to use functionality that we have created in the context of the web client.
- JSR-168 portlet examples, e.g. BPM tasks -- Create examples of portlets created for the web client and show how they can be used in JSR-168 compatible portals. An example is presentation of workflow tasks.
- Improved search -- Provide more functionality and improve usability and performance of the search function. There is currently a contribution of a predictive search in the forge, which we may add into the mainline.
- Classification browsing -- Provide browsing through categories in the web client as well as CIFS.
- AJAX interfaces -- Some investigation has gone on in this area in the 1.3 timeframe. We will elaborate that research and add some AJAX-based usability features.
- User Interface Re-factoring -- Linton Baddeley has been testing the user interface with many users and taking into account some of the special needs of the WCM team. He has been working on an improved user experience and simplifying many of the most commonly used tasks.
Adding new collaboration capabilities is something we plan to do incrementally and with the help of the community. Contributions are welcome here! These are some of the things that we are planning on in the 1.4 release and need regardless.
- Rich Dashboard -- We will be adding more analysis and presentation capabilities to the dashboard to give an overview of the processes in a space. This is particularly important for the WCM product.
- Email 'team' members -- Create ad hoc groups for spaces that allow users to communicate with each other. These ad hoc groups can act as mail groups for sending emails to other users of the space involved in team activities.
- Collaboration feature: Calendar, Blogs or Wiki -- The choice is yours. We will add one of these features as a type of space in Alfresco in the 1.4 timeframe. The probable choice is a wiki based upon either JSPwiki or Snip-Snap.
The Alfresco repository will continue to evolve and portions will be re-factored based upon usage over the last year of the system. Most important will be the layering of the service calls, use of web services and the role that Spring will play in that interface.
- Remote Java API -- Providing a clearer dividing line between the interface and how the interface is called will make it easier to deploy the web client and the services layer as a client/server interface with the repository services running on one machine and the web client running on another. Currently PHP clients and the web client can coexist in a loosely coupled environment, but this change will allow the server to run tightly coupled and take advantage of faster caching options. This change was not possible in the first version of Alfresco due to the clunky nature of AXIS. Each web service had to be hand coded. There are now other frameworks, such as XFire, that work in the Spring framework that make this much easier.
- Web Services - 100% coverage -- With the previous change, providing 100% coverage does not require hand coding web services any more. Previously, we had to hand code web services calls
- Rule and action - re-usable actions
- More Administration -- The choice is yours. A user interface for which of the following will help you most: Types, Aspects, Associations, Link Types, or Groups? Although the ability exists to define types and aspects through XML, we will make it easier with a simple user interface.
- Mixed LDAP & internal user management -- Ability for LDAP authenticated users to create new internal users and to mix internal and external groups for access to the repository.
- Developer's Guide -- Following up on the Getting Started Guide and the System Administration Guide, we will provide a Developer's Guide based upon the Developerï¿½s SDK.
- 100% Javadocs -- Set up all of the interfaces for 100% Javadocs documentation.
Forge Project Support
- Ruby scripting
Web Content Management Release (SEP-Preview)
Alfresco's Web Content Management Plans are detailed here: New_Web_Content_Management_Plan
Alfresco plans to exceed the industry's leading WCM systems in terms of ease of use, scalability, and in the flexibility of its production model. We will provide services for XML publishing, parallel development, staging, virtualization, in-context content preview and editing, advanced metadata, advanced deployment, and integration with different run-time environments (including commercial and open source portal servers). The Alfresco WCM will run on the same repository as other Alfresco applications providing seamless sharing of information between these systems and greater integration.
The Alfresco WCM system is dependent upon the changes in the repository that will be added in the 1.4 release. These include: new version model, content publishing, and workflow. In addition to these, the WCM release will add virtualization, in-context preview, dependency management and content deployment. The release of the Alfresco WCM will be decoupled from the core repository. In 2006, our plans will focus heavily on development and staging server enhancements, along with capabilities for content deployment. Alfresco will enhance its offering in 2007 with heavier emphasis on run-time content delivery and monitoring capabilities.
Forms provide an important mechanism to push semi-structured content for things like catalog items and press releases into standard templates for publishing on the web. Capturing the metadata for these items is very important for classifying the content and presenting it in the appropriate form on the web site.
Forms Management and Xforms
A forms management capability is critical to web content management. The web content management team, using their experience from Interwoven, prioritized forms entry and capture as a necessary requirement for the first release. In a desire to use standards, we chose the Xforms standard for the basis of the forms interface and evaluated several open source Xforms implementations. Our conclusion was to use the Chiba engine for this. Chiba has the best architectural fit with Alfresco and will simplify the storage of XML data into the Alfresco metadata and repository. Aside from WCM, inclusion of Xforms also opens up a number of potential applications on top of Alfresco, such as claims management and order processing.
Objectives for 2007
We have been planning over the last couple of months for next year and intend to provide the most cost effective ECM products. We will continue to use the best open source components and we are cooperating even more with other open source organizations to bring you new whole solutions for ECM. We will deliver this around 3 releases during the year: 2.0, 2.1 and 3.0. We will keep up the iterative release process that allows us to adjust the product as we move along, but anchor the iteration in these main releases.
To a certain extent, 2007 is a year of consolidation on the tremendous amount of functionality that has been created in the last two years. However, as you can see, there is a lot of new capabilities going into the product. Our objectives for 2007 are:
- To complete our Web Content Management offering targeting corporate intranet and marketing focused internet web sites
- Take our vision of distributed content management to the next level with new federated search capabilities and multi-directional replication
- Increase scalability testing and development and demonstrate top league scalability requirements including robust storage capabilities
- Target Web 2.0 capabilities in the development and sharing of content and next generation user interfaces and Web 2.0 style of development with REST and standards-based APIs and mash-ups
- Create competitive collaboration solutions integrated into an overall knowledge worker stack that allows knowledge workers to create total solutions for themselves
- Extend information-based services for our enterprise customers integrated directly into the web client
Release 2.0 (Shipped Feb. 20, 2007)
The first release in 2007 is 2.0. Originally, this was intended for December 2006. After a string of releases delivered more or less on time, we found that there was more that we had to do to consolidate the progress we have made so far.
In this release, we will be putting out the production version of the Alfresco Web Content Management system, combined with the existing Alfresco server. In addition, we will continue to work on getting performance higher in very large enterprise environments. The primary focus on this will be in federable and massively scalable systems.
Web Content Management
Integrate the WCM release with the main repository release. Up to this point WCM has been a separate release due to the complexity of the virtualization services on top of the repository. The merging of the code lines is complete and we will be releasing the combined product in the middle of January.
Our primary approach to providing federable search is to support the OpenSearch standard, to allow searches to be made in a standard way to any Alfresco server. This model is consistent with the vision of those participating in iECM. To support this, we are designing an identifier addressability capability in line with emerging content management standards (iECM and JSR-283).
By the end of the year, we hoped there would be sufficient progress in both JSR-283 and iECM to start to develop and deliver at least some of the interfaces specified by these standards. Currently, this looks like our hopes were too high. JSR-283 will have extended features in security, addressability, type definitions, and query extensions. iECM will have made progress in defining the reference architecture and web service interfaces. John Newton and David Caruana have spent quite a bit of time on these standards.
In order to support the inclusion of additional incremental capabilities to Alfresco, we will provide an initial mechanism for allowing packaged extensions (business logic, UI and configuration) to the core server.
Web Client and AJAX
We will be introducing new user interface capabilities and AJAX in 1.4, and this will continue in the 2.0 release:
- Branding and skinning -- Simplify the ability of users to add their own logos and to provide more skins for the web client.
- Hierarchical Tree Browsing -- Many, many of you have asked for this feature. We are working to eliminate some of the problems associated with tree browsing, such as simplifying loading of data and what to do with the back button.
- AJAX-style Preview - This preview hovers over items and will be driven through Freemarker so that you can control what is delivered in the preview.
Multiple Language Support - Multilingual Labels, Translations, Local Language Search
There has been so much interest from international organizations, governments, and multi-national corporations that translation seems a natural extension of the Alfresco model. It is also an area that has not been well covered by any product so far. This will include multilingual metadata and easy managment of multiple translations of 'logical' documents. There will be a specific service for managing multilingual resources as well as UI to expose (or not, more importantly) the multilingual nature of content. Enhancements to search will also mean that free-text can be searched for in specific languages, particularly Chinese and Japanese, which had been difficult prior to Lucene 2.0.
More records management capabilities as we move toward DOD5015.2 certification. Some features are hardened in Java for robust execution and better user interface integration.
Further BPM Improvements
- Primarily to support the WCM functionality.
Release 2.1 (Community Release, end June)
Release 2.1 will follow in June / July 2007 to add more WCM capability, additional Web 2.0 capabilities and more configuration options for enterprises.
- Web 2.0 Components. Pieces of the web client will be componentized to become Web 2.0 components in mash-ups with other applications.
- Office Plug-in. An example of using the new Web 2.0 components will be in the context of a task pane for Microsoft Office which will be provided as a preview in this release.
- Web Client Extensions. User interface enhancements will be made in the web client to take advantage of the new federated search and multi-lingual support.
- WCM Enhancements. WCM will add new support for content deployment, links management, and content lifecycle management (timed launch and expiration).
- MediaWiki integration. We anticipate a preview release of our MediaWiki integration, enabling customers to use a best-in-class open source wiki with all content centrally stored and managed in Alfresco.
- Alfresco Connect. We will provide a new hosted service available through our web client for advice, information and configurations. The source code will be made available for these features, but the information delivered will only be for those purchasing enterprise support and services.
- Performance will continue to be a focus with our target of reaching 50 million items in the repository in this time frame.
Releases 2.x (TBD)
Between Release 2.1 and 3.0, we will provide a series of add-on packages delivered in release packages using the packaging technology provided in Release 2.0. Some of the packages we anticipate in this time frame are: new web site designers, system administration interfaces, calendaring, records management enhancements, new office plug-ins for Microsoft Office and Open Office, blogs, email listener integration. More on this in the new year.
Release 3.0 (Tentative target: end 2007)
Release 3.0 will be delivered at the end of November (which is one of our fiscal quarter ends).
- REST-based API. We anticipate that there will be new content management standards that will be REST based in this time frame.
- JSR-283. We will implement some of the first features of JSR-283 (JCR 2.0) in this release.
- SQL-based Query Language. With this standard will be new REST API interfaces and new language definitions that we expect to be SQL based. We may provide this type of capability sooner through more of a JCR-style of interface.
- Replication. We will be extending our distributed capabilities with more enhancements to our federated search and multi-directional replication for geographic distribution.
- System Administration. We will also provide additional system administration capabilities that are more autonomic.
- Architecture Refactoring. We will also refactor portions of the architecture and replace components that have better alternatives or limit our license flexibility.
Our objective is to focus on what we know best, repository technology. Alfresco Software will continue to develop and enhance the various applications that it has built, but we encourage all capable developers to contribute to the effort. We have already have had some significant extensions to the system that been developed by individuals and those in large organizations.
The best place to start is the Forge.
Some of the areas that we would be particularly interested in are:
- Wiki -- There is currently work going on in development of a wiki integration at a large customer. Perhaps you can help.
- Calendar -- We would be very interested in an iCal-based team calendaring system for a space. Ideally, a JSF-based calendaring interface storing calendar items in a specialized space.
- RSS Configurator -- We already provide examples of how to set up RSS feeds on spaces. A tool to configure RSS feeds would be interesting for a lot of users.
- Instant Messaging integration -- Closer integration with any chat or instant messaging systems will be welcome
- Freemarker Templates -- Freemarker is an incredibly powerful tool tightly integrated with Alfresco. We have already implemented examples for adding information and publishing. New examples would be welcomed and highlighted in the Alfresco Community release.
- Types and Categories -- As you develop new type definitions and categories, perhaps you can share these with others. We are particularly interested in industry and process specific templates.
- Language Translations -- As Alfresco moves on, the translations need to as well. There are tools to help. The languages that are important, but need a long term owner: Italian (pre-1.0), Dutch (pre-1.0), Portuguese (1.0), Polish, Russian (pre 1.0), Swedish, Korean, Finnish (pre-1.0), Danish (1.0), Hungarian, Slovak
- Records Management -- As we move towards becoming the first open source records management system to get DOD 5015.2 certification, we would like to work with partners on this who have experience in records management. A lot can be done with the standard system, but we are looking for templates and test data.
- Publishing Solution -- There is a lot of interest in publishing and virtual document tools. We welcome people with publish experience to work with the powerful tools that are already integrated. The JSR-170 model of children nodes works well for creating virtual documents. The Freemarker templating language is powerful enough to manage assembling. Freemarker and PDFBox can handle a lot of the transformation and XML handling. Xforms can handle some of the data capture. We welcome your participation.