You are here

Platform extension points

The Alfresco Content Services platform features a number of extension points that can be used to create customizations. The table of supported extension points includes links to more information.

The following table lists platform extension points and links to relevant documentation:

Extension point Description Support Status
Content Model Content modeling provides a foundation for structuring and working with content. It is used to create a domain specific model that can be used to classify content and refine the search capabilities. Full Support
Data Lists Data lists are a useful feature available in sites. They can be used to keep records data. This is metadata that does not necessarily have any file content associated with it. It can be for example a to-do list or an event list. Full Support
Actions Actions are Spring beans that act upon a content node. You develop actions using Java and register them with the repository through a Spring configuration file. Actions provide a place to locate reusable business logic. Full Support
Web scripts Web scripts provide the ability to create custom REST APIs. A web script is implemented in XML, JavaScript, and FreeMarker. Java can also be used to implement a web script if the business logic requires it. If written in JavaScript and FreeMarker it is possible to write new extensions that do not require a server restart to take effect. Full Support
JavaScript root objects The JavaScript root object collection provides a ready made set of objects you can access from your web scripts. These objects provide access to the repository content. It is also possible to extend the platform with new custom JavaScript root objects that can be used in for example Web Scripts controllers. Full Support
Behaviors / policies Behaviors are logic that is tightly coupled to a repository event, such as adding content. Examples of out-of-the-box mechanisms that employ behaviors are versioning and auditing. Custom behaviors can be implemented to support features such as automatically adding a unique ID property to a content node when added to the repository, or automatically applying metadata attached to a folder to content stored in the folder. Full Support
Bootstrap content Most content management solutions require some content to be available before the system is going live. This can be users, groups, files and folders, sites, and so on. This content can be imported into the repository using a bootstrapping procedure. Full Support
Permissions (Custom Roles) Permissions and their groupings are defined in XML configuration files. The default files are found in the distribution configuration directory as permissionDefinitions.xml and sitePermissionDefinitions.xml. This configuration can be replaced or extended to create new roles. Full Support
MIME Types Alfresco Content Services is able to automatically identify most file types and establish MIME type accordingly. However, if you have custom file types it is possible to add support for these by adding custom MIME types. You will typically also need to provide custom content transformations, and metadata extraction to fully support the content type. Full Support
Content Stores The repository has multiple content stores used for different purposes. By default, Alfresco Content Services is configured to save files or content items in the File Content Store. You can also have an encrypted content store, or a custom content store, depending on your requirements. Full Support
Audit Log The Audit service can be used to keep a record of all operations performed in the content repository. The audit information is stored in a database in a form that is designed to be simple for third-party reporting tools to consume. Custom audit applications can be configured. Full Support
Metadata Extractors Alfresco Content Services performs metadata extraction on content automatically, however, you may wish to create custom metadata extractors to handle custom file properties and custom content models. Full Support
Admin Console Component The Admin Console provides a way of managing services integrated into Alfresco Content Services, or built on as extensions. Installed modules can have a custom Admin Console component, so that they can be managed from the well-known interface of the Admin Console. Full Support
Content Transformers (and Renditions) Content transformers transform one type of content into another. Transformations can also be chained together. You can create custom content transformers to transform one type of content into another, where that transformation is not already supported. Closely related to transformations are renditions, which can be used to generate another version of the content, such as a preview, thumbnail, HTML etc. Full Support
Scheduled jobs Alfresco Content Services automatically runs a number of scheduled jobs, for example the content store cleaner job and temporary file cleaner job. It is possible to configure new scheduled jobs. Full Support
Authentication Alfresco Content Services includes multiple authentication systems, including Active Directory, LDAP, Kerberos and so on, which you can opt to use. You can also create and plug in your own custom authentication system. Full Support
Subsystems Implementing a customization as a subsystem allows a more fully decoupled customization. It is, for example, possible to disable the customization at run time. Full Support
Module Components A Module Component executes code and is tied to a specific Module. It is packed with the rest of the module files in an AMP or JAR. Full Support
Ratings A rating scheme is a defined system of ratings for content which is identified by a unique name and which provides a minimum and maximum allowed rating. There are out of the box ratings facilities, but as a developer you can also implement your own. Full Support
Form Processors Form processors control the persistence of form data and the generation of the form template for a specific item such as a node, task, type, or action. Custom Form Processors can be implemented to support a new kind of item. Full Support
Form Processor Filters Form filters can be used to intercept a form processor's persist form data call and generate form template call. "Before" and "After" method hooks are available in the filter to control form data persistence and form template generation. Full Support
Patches A patch executes a piece of Java code when Alfresco Content Services starts up, and logs the result in ALF_APPLIED_PATCHES database table. Full Support

Sending feedback to the Alfresco documentation team

You don't appear to have JavaScript enabled in your browser. With JavaScript enabled, you can provide feedback to us using our simple form. Here are some instructions on how to enable JavaScript in your web browser.