One of the most important questions for many customers, once they are working with a document management system (now content services), is to know how they are using it. They want to obtain basic usage metrics about their business processes and custom content types to understand quantitatively how critical they are. Sometimes even simpler questions (sometimes audit related or statistics related) are not easy to obtain, such as how many documents do we have in the repository, what are the most used content types or what are the users/applications that ingest more content
For this purpose we used in the past, with some drawbacks (IHMO):
Now, Alfresco Enterprise subscription provides and Insight Engine based on SOLR SQL features and Apache Zeppelin Notebook based reports, with no ETLing as main benefit.
But most of the times, we do not have this kind of enterprise subscription, for example when we are using Alfresco Community, or when we do not have / want a complementary BI system as Pentaho. In fact, the information about the custom content types that are ingested by applications play an important role for an organization (and their processes), answering questions such as what are the most critical applications.
For this task, it is useful to inspect the daily use of an Alfresco instance for some given custom types. For this post we did a probe of concept based on an Alfresco custom behaviour for writing a content creation log. The main idea is to write a simple log event when a document of a given type is created (on create and version create node policies), with useful information for filtering in an external system (such as uuid, size, mimetype, path, content type, site, version). This simple aproximation allows to index this event log data in Elastic Search and to get the following dashboard in Kibana. In the past, we did something similar for Alfresco logs information.
Below, we show an illustrating image for the resulting Kibana dashboard, with filter controls and metrics for the added content:
In the following posts, we will enhace this example.
Links: