cancel
Showing results for 
Search instead for 
Did you mean: 

Generating Time Sheet based on the tasks done on alfresco workflows

maulik
Champ in-the-making
Champ in-the-making
Hi,

Is it possible to generate a report at the end of the day such that the business heads come to know the exact amount of time an individual has worked on for the day.

For example user a, user b are working on project [site] a & b.

User a worked 3hours on project b & 3 hours on project a.

Hence the total time that the user worked would be 6hours.

Similar report for projects as too how many man hours were utilized on the project.

This entire task should be automated for alfresco community,


Please advice
Thank You
5 REPLIES 5

romschn
Star Collaborator
Star Collaborator
Are you trying to track the total amount of time a user was logged into alfresco for the whole day?

fcorti
Elite Collaborator
Elite Collaborator
Hi Maulik,

Interesting question!
I cannot imagine a simple way to reply to this question but if someone has any idea, I'll read it with interest.

Instead, I would answer with a three steps approach:
1. Extract informations about workflows in a structure made of database tables.
2. Enquiry the tables to have the results you need.
3. Create a report on that data and publish it into Alfresco.

Point 1 could be solved using the Alfresco's REST services into a database table.
Point 2 could be solved making a SQL query on the target table (or a procedure to prepare another target table, more organized to store the informations with the structure you need).
Point 3 could be solved using AAAR or any other custom solution you will could easily develop.

I hope this will help you.

eswbitto
Confirmed Champ
Confirmed Champ
Maybe fcorti already answered this in his post above. What about creating a counter for when I file/workflow/task…etc. is accessed and completed?

Example: User A-> went to site B->accessed task a -> (start counter until completed task)and just go from there.

I don't have the skills to write something up like that, but I think it is doable.

fcorti
Elite Collaborator
Elite Collaborator
Hi ESWBitto,

The solution you suggest is different from mine… but I found it really interesting!

I try to imagine how to develop this:
- The workflow are developed to write something (a timestamp, probably) in a database table or custom structure.
- Using a query or a report on that structure you can reach the goal.
It sounds good!

I find this solution more easy to develop respect to the approach I suggested.
Probably less generic because you need to develop something inside the workflow to analyze the tasks so you should repeat this development for every workflow you will want to control.

In every case, it's a possibile and valid solution.
Thank you for sharing.

romschn
Star Collaborator
Star Collaborator
What I understand from the requirement is - the end goal is to get to know the total amount of time user has spent on each site.

Here is one probable implementation appraoch that i can think of -
1. Have a custom property on a user which holds - siteworkingon
2. As soon as user logs into share - clear the value of this property if it is already set.
3. When user clicks on a site - set this property to set the value of the site and also put the database entries
   ID (Autoincrement)/USER/SITE/START_TIME/END_TIME and also show a popup mentioning time tracking started for site.
   Presently, end time would not be set and only the start_time is set.
4. Now, assuming that user moves out of site, By clicking somewhere on the header bar or logout - then clear the value of the custom property - siteworkingon.
   Update the end_time entry and show a popup, time tracking currently stopped for site.
   If a user again goes into site, repeat the same steps.
To get this done, customizations will be required but this way - it will be possible to get the amount of time spent by user on a specific site.

Now, about workflow tasks - workflow tasks are not site specific.If you want to make them site specific to identify which all workflow tasks for your site a user has worked upon then it will require customization to each workflow task to have the sitename.
More thoughts need to be given on this for implementing but probably you can have a custom filter and filter out workflow tasks entries for a site and enter them in a new table in database to track the time spent on them.

Hope this helps.