Overall, Alfresco's objective is to provide the most open, functionally rich, highly scalable and reliable collaboration and content management, via a common repository architecture.
Specifically this means:
Providing services for collaboration, social networking, and standardized content services for documents, web content, rich media assets and records
Being the development platform of choice for building content rich, collaborative applications
Scaling to 1 billion objects
Utilizing a pluggable, extensible, and embeddable architecture
Making it easy to extend and integrate via standards-based and comprehensive Alfresco-provided APIs, providing 100% coverage of all repository services
Providing tools for administrators and developers to allow easy application administration and development
Ensuring resilience and reliability in mission critical implementations through minimal planned and unplanned downtime
Providing integrations with complementary best-of-bread open source components
Supporting the relevant industry, technical, and infrastructure standards
Alfresco will invest in the following main areas:
Objective: Performance optimization is an on going requirement. Every product change will be implemented with close regard to its performance impact.
Alfresco has been designed from the ground up to provide high performance repository services. As part of this ongoing emphasis on performance, the following areas will be further optimized:
Node Persistence - Fine tuning of schema and object-relational mappings. 3.1/4.0
Eventing (Policies) - Consolidation of events. 4.0
Rules - Optimize rule lookup and parallelization (multi-core). 4.0
Version Store - Refactoring to improve version creation performance and reduce storage requirements. Available in 3.0
Benchmarking - Commitment to distribution of an open source benchmarking framework for both AVM and DM repositories, content objects and application services. Allow our community and customers full ability to test and verify Alfresco repository performance and integrity on their own infrastructure. 3.x & 4.0
Objective: Alfresco's stated intent is to support a 1 Billion object repository.
In order to achieve this, a number of areas will be address including:
Indexing - Optimization in both single and multi-node server environments. 3.1
Query Engine - Query optimization via query execution plans (see SQL query support below). 4.0
AVM Clustering to allow AVM stores to be cluster for both authoring and user-generated content. 3.0 & 3.1
Multi-node repository enhancements to optimize multi-server updates and simplify scaling in multi-node repository environment 4.0
Benchmarking - Commitment to use the same open-source benchmarking framework as our community and customers may opt to use in measuring and achieving Alfresco performance metrics. 3.x & 4.0
Cluster job locking. TBC
Objective: Provide public interfaces and associated documentation for all Alfresco services and protocols.
Public protocol interfaces for FTP/CIFS/WebDAV/NFS/Sharepoint protocols. Ongoing.
Structured Query Language for SQL like query support. 4.0
Full repository import/export schema support. 4.0
Provide contracts and semantics for all public configuration parameters. 4.x
Service Provider Interfaces (SPIs) for repository extension points such as actions, web scripts, and so on. 4.0
OSGi support for definition and administration for these extension points
Expose additional managed beans via JMX to provide enhanced server management capabilities via third-party applications. 3.1
Objective: Expand functional services to offer comprehensive collaboration, social networking, and content services.
Additional services include:
Rules Definition Services - Allow CRUD support for rules via standardized service. 3.1
Permissions and Role Enhancements. 4.0
Forms Service - a single forms service which allows for CRUD operations against a variety of Alfresco object types, including DM content models and WCM web forms. 3.1 & 4.0
WCM Repository Services - Services for creating, updating and managing all aspects of Alfresco Web Content Management, including Web Projects, sandboxes, AVM structures, Web Form content, static files, permissions, users and groups. 3.1
Enhanced native XML support. TBD.
Enterprise Search. TBD.
Objective: Support federated and geographically distributed deployments
Multi-repository support for search, nodes, workflow, users and groups. 4.0
Distributed - content and caching to support access over low-bandwidth/high latency connections, including widely geographically disbursed deployments. 3.1 & 4.0
Partitioning - allow for designated servers to take on bandwidth intensive processes (such as media transformations) on behalf of rest of the servers in the federation. 4.0
Objective: Provide GUI-based tools and integrations with third-party management tools to allow comprehensive application administration
Administration GUI - Including support for administration of users and groups, enterprise authentication, tenants, virtual fileystems, email services, audit, index management, and so on. 3.1 & Ongoing
GUI based configuration of model/workflow. 4.0
Backup and Restore - full and object level. 4.x
Repository health check. 3.1 & Ongoing
Remote support/phone home - Support for identifying all installed server components on a system, including modules, patches and specific version numbers. Support for identifying relevant system environment information. Support for generating either a static log file (XML format) for email to support, or for generating a feed that can be readily 'published' and access by Support Services. TBD
Enhanced JMX support. 3.1
Objective: Provide compliant implementations for the following standards: