Pimp Alfresco for Everyday Activities (I)

by Heiko Robert
Categories: alfresco, sbcs

Processes and Connection to Other Systems

The challenge in everydays life is that processes must take into account context data and documents stored in a wide range of IT systems. This sounds obvious, but many solutions for process management fail in accessing this context when required for user interaction or backend automation. Let's take an example: When processing an incoming business document like an email, why couldn't an ECM system like Alfresco extract the sender and link it with the business partner before the user will be prompted to define more context and actions? The answer is because the required data is not accessable from within Alfresco. However, this dilemma affects most enterprise systems when data access to other systes is desired.

Master Data

Master data is basic information about operationally relevant objects (such as products, suppliers, customers, employees). These are usually distributed over several independent IT systems. At best, one system is the leading one, and therefore responsible, for maintaining a particular object type. We call these specific object types master data entities. Today, when a system or user needs to search / create / change an entity, it is important to know which specific enterprise application a given entity is stored in and how it is accessed. This is not very effective and it does not make sense to leave it to the user to collect the required data from the various systems, nor to integrate each system into each other system to allow live access to all process-relevant data. This is where the Master Data Hub comes into play:

  • Connect all the various systems from a central Master Data Hub using specific adapters
  • Configure and structure relevant entities related to key business processes, including relationships - e.g. the business partner has orders, contracts, projects
  • Access all master data entities from a system wide REST-API
  • Include master data in the applications UI as lookup lists, context data or in user input validation (auto complete)
CRM ERP jdbc ldap HTTP Project Company Contract Employee Supplier Master Data Hub {REST}

How does this integrate with Alfresco?

ecm4u provides several Addons to integrate data from the ecm4u Master Data Hub within the Alfresco Repository (Content Services) as well as in Alfresco Share:

Folder Cover Templates

Folder Cover Templates display dynamic content at the top of a folder in Alfresco Share. This can be used to display external context data or dynamic links to Alfresco folders or external systems based on contextual data. e.g. a delivery note stored in Alfresco may not be aware of the invoice and order receipt to which it refers. As long as another systems know this context, Alfresco can provide a dynamic navigation based on that data. Folder Cover Templates are registered with an Alfresco Webscript. The Alfresco JavaScript API has been enhanced to access external data. A redirect service makes it very easy to navigate thru Alfresco folders or to switch to other systems based on metadata associated with documents or folders. With this toolset, a company is limited only by its imagination to embed functional user interfaces in Alfresco Share folders. Folder Cover Templates can be assigned to a folder by Share actions, JavaScript, or filing rules.

Folder Cover Templates

Share UI Master Data Controls

In Alfresco (by default) only the reference to the master data is stored. The Share UI Controls do the work of displaying the expected data like a company name instead of the reference. You can also define multiple master data values to be combined as display value. Autocomplete and list of values (LOVs) help the user in selecting the right entities.

Share Control In den Dokument- oder Ordnerdetails können Elemente so konfiguriert werden, dass sie automatisch vom Master Data Hub geladen werden, um Kontextdaten anzuzeigen, ohne dass die Anwendungen gewechselt werden muss. Share Document Details

Quick search based on master data

Quick Jump

The quick jump control allows the user to directly jump to a folder linked to an entity like a business partner. This saves a lot of time since the user no longer needs to walk thru all the folders. Instead he just selects the entity type (e.g. BusinessPartner) from a list and enters the specific data to jump to in Alfresco Share.

Generic Alfresco Document Model

A generic Alfresco document model stores the references to master data entities. It is no longer necessary to extend and deploy an Alfresco document model if you want to store new master data types in Alfresco. Alfresco only saves the entity type and reference to the external data object. If required the model (and the Share Controls) also supports automatically saving and updating custom property values stored in Alfresco which are derived from the selected entity.

Dynamic Filing (File Plans)

ecm4u's "Filing Module for Alfresco" is the swiss army knife for dynamic file plans:

  • define rules how folders and files should be saved on Alfresco
  • define templates to control names and metadata stored in Alfresco
  • filing templates support master data placeholders in names, secondary associations (Multifiling in several folders) and node properties
  • Javascript-Snippets could control dynamic behavior in filing rules
  • a refresh could be triggered to update structure and metadata on master data change (outdated, dirty master data)

Dynamic Filing

If multifiling is used, the user can see in the document details all the folders in which the document is used:

Linked in Folders

Java Script API

The master data addons also add JavaScript bindings to get access to external data in any java script running in the Alfresco Content Service. This allows to interact with the outer world in many customization use cases without the need for deployments, restarts or Java coding.

Java Script Binding for Master Data Hub


"Lead Digital Operations with Process and connect to other systems." John Newton on Alfresco DevCon 2019

ecm4u's Master Data Integration and Filing services give organisations an excellent support for a self maintained document stuctures in Alfresco including live context data from other systems with no or just few coding. This makes Alfresco a better team player and gives more and easier control on the document structure, automation and consistency. This also closes a gap for use cases which work better in a relational structure like cases, contracts, orders. Lightweight relational web applications can be easily combined and integrated with Alfresco if data can be shared between different applications and if Alfresco is able to use this shared data in the Alfresco Share UI.

The next question is now how to guide and support business workers in daily processes - given that processes need to respect and maintain data and documents from different sources. This will be described and shown in a next blog article "Pimp Alfresco for Digital Operation (II)".

Picture credits: rawpixel licenced under the pixabay license (free for commercial use)