A.A.A.R. – Alfresco E.C.M.

AAAR flowsAlfresco E.C.M. is, at the same time, source and target of the flow. As source of the flow, Alfresco E.C.M. is enabled with the audit service to track all the activities with detailed informations about who, when, what has been done on the system. Login (failed or succeed), creation of content, creation of folders, adding or removing of properties or aspects are only some examples of what is tracked from the audit service.

Regarding the repository structure, Alfresco ECM is completely compliance to CMIS standard so that every enquiry on the structures of the folders or information on the documents, are retrievable very easily. For this purpose the CMIS Input plugin of the Pentaho suite is involved in the solution to give to the analysis data structures, all the requested informations.

Back to the audit service, as most of the Alfresco services, is queried with a REST call and is implemented as a web script (http://wiki.alfresco.com/wiki/Web_Scripts) giving back a result in Json format. For more detailed informations about the Alfresco’s audit content we referrer to the very complete Alfresco wiki (https://wiki.alfresco.com/wiki/Content_Auditing). As an example or result of audit we describe below a simple extraction.

{
 "count":…,
 "entries":
 [
  …
  {
   "id":…,
   "application":"alfresco-access",
   "user":"admin",
   "time":"2013-01-09T18:30:03.944+01:00",
   "values":
   {
    "/alfresco-access/login/user":"admin"
   }
  },
  …
  {
   "id":…,
   "application":"alfresco-access",
   "user":"admin",
   "time":"2013-01-09T18:30:08.382+01:00",
   "values":
   {
    "/alfresco-access/transaction/action":"UPDATE CONTENT",
    "/alfresco-access/transaction/user":"admin",
    "/alfresco-access/transaction/path":"/app:company_home/st:sites/cm:surf-config/cm:module-deployments/cm:Alfresco %3a%3a Media Management - Document List Gallery View.xml",
    "/alfresco-access/transaction/properties/to": "{{http://www.alfresco.org/model/content/1.0}modified=Sun Jan 09 18:30:07 CET 2013, {http://www.alfresco.org/model/content/1.0}content=contentUrl=store://2012/12/9/18/30/918e903d-b70b-476c-9b48-f708e4f51112.bin|mimetype=text/xml|size=188|encoding=UTF-8|locale=it_IT_|id=292}",
    "/alfresco-access/transaction/properties/from": "{{http://www.alfresco.org/model/content/1.0}modified=Fri Nov 23 18:14:51 CET 2012, {http://www.alfresco.org/model/content/1.0}content=contentUrl=store://2012/11/23/18/14/8fcaa9aa-3d45-45b8-aab3-495fa9c7b020.bin|mimetype=text/xml|size=188|encoding=UTF-8|locale=it_IT_|id=240}",
    "/alfresco-access/transaction/sub-actions":"updateNodeProperties updateContent",
    "/alfresco-access/transaction/type":"cm:content"
   }
  },
  …
 ]
}

Alfresco E.C.M. is enabled also with the FTP service because the uploading of the reports, at the end of the process, is done using that protocol to put them directly in the repository. Talking about that, the repository target of the reports, could be organized in several ways depending of the needs of publishing. A.A.A.R. is able to upload each report in a specific target folder in the Alfresco repository so, in a complex project, could be possible to organize sub-folders or complex repository structures with different permits for the users and even workflow to authorize the publishing, to inform the users with an email or other complex tasks. With that solution all the reports are treated as documents and all the Alfresco capabilities can be used to make the system complete and scalable (for example let the report be versionable).

From another point of view, the reports stored in Alfresco are always static reports and for that reason we must have clear that a complete Business Intelligence front-end must be provided out of Alfresco because doesn’t have dynamic capabilities like: drill-down, roll-up, drill-through, etc. For that reason the A.A.A.R. Analytics has been thought to give to the user a complete and powerful console to dive deep in the data with dashboards, dynamic reports or even free analysis.

A.A.A.R. is tested on Alfresco Community v4.2 but the used services should work in the same way starting from v3.4.

alfresco logo << Description of the solution    |    Up to description     |    A.A.A.R. Data Mart >>

I like A.A.A.R.

4 thoughts on “A.A.A.R. – Alfresco E.C.M.

  1. Hi,

    I am using A.A.A.R version 2. I found there is error in the cmis query to get the parent path. (under /Alfresco/Staging/Utility/Set folder’s children)
    Source:
    select
    cmis:objectid as cmis_objectid,
    cmis:name as cmis_name
    from
    cmis:document
    where
    in_folder(”${cmis_parentid}”)
    and cmis:lastModificationDate >= TIMESTAMP ”${cmis_last_update}”
    and cmis:contentStreamLength >= 0′);

    It should be
    select
    cmis:objectId as cmis_objectid,
    cmis:name as cmis_name
    from
    cmis:document
    where
    in_folder(”${cmis_parentid}”)
    and cmis:lastModificationDate >= TIMESTAMP ”${cmis_last_update}”
    and cmis:contentStreamLength >= 0′);

    The cmis:objectId instead of cmis:objectid.

    • Francesco Corti

      Hi Hu Ting Ung,
      Thank you very much for your correction.
      Yesterday another person told me about that and I’m going to include the correction in the incoming release.
      Let me know how it goes with AAAR.

  2. Ok. Sure. I am using it for a production site. I will share with you my experience after end of implementation. Most probably in another 2 or 3 months. I am really impressed with the architecture design of the solution and data warehouse modelling design. I try to build similar solution but failed because lack of data warehouse knowledge.

    • Francesco Corti

      Cool!
      If you will need support or suggestions, write me privately.
      I interested in your implementation/use case.
      Thank you for the feedback and, please, share problems and solutions with us.
      Thank you in advance for that.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.