Building custom content-driven web applications involves modeling semantic content inside the repository and then wrapping business logic around the content to provide lifecycle, rendering, and, eventually, publication to a website.
Some common extension points include:
- Content models
- Content behavior
- Process definitions
- Workflow models
The Alfresco repository has many other additional extension points. You can define custom transformers that convert a document of a source file type to a destination file type. For example, you might plug in a transformer that converts an MPEG video file to an audio output stream. You could then push both of these files to a web server for delivery.
You can define custom metadata extractors responsible for interrogating the content and pulling out metadata fields. For example, you can write a metadata extractor that extracts values from a custom file format and places it onto Alfresco metadata properties. You can then search on these properties or fire off custom business logic.