AnsweredAssumed Answered

Workflow Status Reporting: Thinking along the sames lines

Question asked by landry on Jun 22, 2009
If electronic documents management ameliorates businesses production, understand and implemente their Multiple BPMs is considerably important. Researched Systems are those which not only couple BPM and ECM but also gives the opportunity to design as needed specifics Workflow Status Reporting.

However, reporting requirements are very varied and depend on report intentions. They are likely to differ in various situations. It is not possible to know the data set that anyone will ever need because workflows are so business-specific. Many scenarios are imaginable. For example, a company with a single workflow users might be interested in a simple statistic about the number of workflow instance (WI) executed, but in a company with several workflows, groups, and several users per group, it might be interesting to provide the description of the workflow, the user who launched / approved it and the group that it belongs to. This case considers the whole system. Another company might focus on workflow status on which a particuler user or group of users involved.

We have been interested our self on providing an Alfresco extension allowing global workflow reporting. The problematic of variety and specificity of requirements made us thought of dynamics reporting. But how can us conceptualize the mechanism in background?

Brian Robinson (http://robinsontechnology.com) introduces the concept of Field reporting.  This concept clarifies our ideas and opens us the route of solution.
So we decided to embellish it and made it stronger by introduicing what we call “Dynamic Field Reporting”.  The concept consist of realize an extensible Framework that will allow dynamic request for all varieties of report status. The power of this Framework is that, it will not fixe the list of fields on which report could be done, but let everyone customize the system for their specifics requirements. 

Although we focus on centralized management through GUI (administrative console) by extending Alfresco Web Client, we too thought of distributed environments that need distribution and uniform access on content. To solve this problem, we use the web underpinnings of HTTP, URIs and media and REST concepts. So, we proposed to expose all backend workflow status reporting implementations through a RESTful API, in the manner of Web Script API. To standardize output, we adopted as intermediate format JSON and XML.

Therefore, in order to combine those two interfaces, we should decouple RESTful API implementation with field reporting implementation. The backend implementation of the dynamic reporting will consist of a Field Report Repository Framework implemented in accordance of the Alfresco Repository structure. Because the backend is dynamic, the frontend also needs to be dynamic. Thank for Alfresco Web Client dynamic UI generator components. We proposed to realize a Field Report Web Client Framework that will generate views depending on selected fields on which the user need the report to be done. User may choose at its convenience fields on which he needs to report.  By this way, the list of fields to provide in the interface could be extensible. Please Make nuance between “fields report provided” and “fields report implemented”. Fields report implemented are all report cases implemented by the backend while fields report provided are implementations (field report implemented) chosen by the administrator of programmer to constitute a list of report fields accessible in the interface. This way, we would be able to optimize the access of data and satisfy all specifics requirements. This manner provides the majority of the functionality by giving possibility to add new fields in the future as needed. To gain this challenge, it is important to design a flexible Framework architecture. Features of this Framework will be:

1- Minimize code writing when customizing/adding a report field in the backend;
2- Give a way of configuring report field components in the repository (like Alfresco does);
3- Give a way of configuring the Web Client for report field (Use Dynamic UI generation);
4- Define a report field entity and extend the Alfresco content/workflow model with a dedicated content model for report field.

Now, the challenge is to design all those Frameworks. I agree with you, this is a huge work, but realizable.

If this is also your needs and challenges please  join Brian Robinson and I Landry KOUAM on the project forge http://forge.alfresco.com/projects/workflowmanager/ . If you have suggestions or critics, please let us know here

If you need more specification on specifications, please consult the project specification book here
  .

Outcomes