Weekly Timesheet Plugin (wk-time) 1.0

Added by Dhanasingh Krishnapandian almost 10 years ago

We are happy to announce the release of version 1.0 of Weekly Timesheet Plugin (wk-time)
Following are the features of Release 1.0
- The timesheet can be filtered by projects and then by users.
- code for summing hours of same entry has been removed.
- Timesheet can be exported into PDF with signature sections
- Project hierarchy is shown in project dropdown
- Custom Fields can be modified from the timesheet
- The plugin can be configured
- comma is allowed as decimal separator on hours entry
- Users without Edit Permissions cannot edit / delete entries
- Italian translations are included

Thanks to Sanjay jain, Quang Tuan, Damian Rafferty, Rachid B, Steve Stefanovich, Krzysztof Rosiński for their feedback and feature requests.

Replies (79)

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Dhanasingh Krishnapandian over 9 years ago

Steve,
Have you tried older versions of the plugin?, they are 1.x compatible

version 0.7 is compatible with Redmine 1.2
version 0.8 is compatible wtih Redmine 1.4

Dhanasingh

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Bob Pack over 9 years ago

Hello, I think this is a good tool. I really would like to use it for our company, just to generally fill in time for different projects/issues very quickly and easily in this kind of weekly format. Great work.

There is one key feature missing though; signing. We have an existing timesheet system I'd like to replace, but it has a simple "Sign" button so that when the user has logged their time for the week, they hit that button and are forced to say "OK" to a message that says "By pressing OK you are agreeing that all hours are stated accurately to the best of your knowledge." This is useful for accounting purposes.

I don't see this in redmine at all, or this tool. Is this possible to do? Note that then there is a notice that says "Signed" - and if they change hours after that, the hours are unsigned, and they must sign it again to regain the "signed" status.

Managers in this system can approve hours, which is missing too -- but I think signing alone would be a great first step and may be necessary for me to adopt this. Is it doable?

Thanks,
Bob

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Steve Stefanovich over 9 years ago

Dhanasingh Krishnapandian wrote:

Steve,
Have you tried older versions of the plugin?, they are 1.x compatible

version 0.7 is compatible with Redmine 1.2
version 0.8 is compatible wtih Redmine 1.4

Dhanasingh

Well, we are already at 0.7 - but would very much like to start using the new print-to-PDF functionality you've introduced. It's not an option to upgrade to 2.x at the moment.

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Dhanasingh Krishnapandian over 9 years ago

Bob,
Thanks for your feedback.
Yes it is doable. but it will take time to implement them.

Option 1 :let user define custom fields for signed, submitted_by and approved_by on the spent time entity.
And then let them map those custom fields to weekly time through the plugin configuration.
With this option, we don't have to touch the data model.

Option 2: Create a new table called wk_time and have userid, week_start_date, signed, submitted_by and approved_by as fields. With this option, we will have to modify the data model (database).

Either ways, it will take time to implement them.

thanks

Dhanasingh

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Dhanasingh Krishnapandian over 9 years ago

Steve,
thats what I thought.

I think it is going to be difficult to support new features on multiple versions.
It there are more requests, then we will consider it.

Here are some notes on making the latest version work with redmine 1.x

1) I think there is no routes.rb file in 0.7 version.
We had introduced routes.rb only in 0.8. So try removing it and see it it works for you.
2) And you might want to rename the view files.
rename it from _xxx_xxx_xxx.html.erb to _xxx_xxx_xxx.rhtml

Also there are other changes outlined by Mikael Mechoulam in his reply in this link
Please take a look.

http://www.redmine.org/boards/3/topics/28370?r=29735#message-29735

Hopefully you get this working on redmine 1.x

thanks

Dhanasingh

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Quang Tuan over 9 years ago

Dhanasingh Krishnapandian wrote:

Quang,
I think most people want to see all issues in the drop down, irrespective of the issue assignment.
We can make this a plugin configuration if you like.
Have a configuration called "Allow Time Entry for Assigned Issues only" as a checkbox.
If this checkbox is checked in the configuration, then we will make this restriction.
Let me know if this would work for you.

Dhanasingh.

Thanks Dhanasingh.
system will be flexible in case of having configuration called "Allow Time Entry for Assigned Issues only".
It will be useful for my work.

Thanks alot.
Quang Tuấn

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Quang Tuan over 9 years ago

Bob,
Thanks for your feedback.
Yes it is doable. but it will take time to implement them.

Option 1 :let user define custom fields for signed, submitted_by and approved_by on the spent time entity.
And then let them map those custom fields to weekly time through the plugin configuration.
With this option, we don't have to touch the data model.

Option 2: Create a new table called wk_time and have userid, week_start_date, signed, submitted_by and approved_by as fields. With this option, we will have to modify the data model (database).

Either ways, it will take time to implement them.

thanks

Dhanasingh

Hi Dhanasingh
In my company we also need "Signed" feature.
The process will be as following:
Members declare timesheet --> Project manager review then approve the correct timesheet and reject the wrong timesheet.
With correct timesheets, member cannot change anymore.
With wrong timesheets, member will correct them then Project manager will review to approve.
Only member with role as Project manager can approve timesheet.

Thanks
Quang Tuấn

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Dhanasingh Krishnapandian over 9 years ago

Quang,
ok.
I am leaning more towards having custom fields.

If we have these 3 custom fields on Spent Time; status, submitted_by and approved_by.
These 3 custom fields need to he attached to the weekly timesheet plugin through the
configuration page.

The status will have values; N - New, S - Submitted, A - Approved, R - Rejected

We will have a submit button in addition to the save button. This submit button will
allow the user to submit their timesheet to their supervisors.

The supervisors can either approve / reject a timesheet.

Timesheet in submitted and approved state cannot be edited.

Let me know what you all think.

Dhanasingh

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Bob Pack over 9 years ago

Hello Dhanasingh,

That sounds good. The only thing that I can see missing is the ability for the supervisor to push the timesheet back to the "New" state. On request, the supervisor should be able to push it back to "New" in case a mistake was made and caught.

In my company's current process, here are the current steps (instead of "New" I'll call it "In Progress"):

"In Progress" = Default state, timesheet is read/write for member
-- Action to get out of this state: Timesheet is "signed" (or submitted)

"Signed" (Submitted) = Timesheet has been signed by the member, but it is still read/write for member
-- Action to get out of this state: Timesheet can be modified by member, in which case it goes BACK to "In Progress" (so it needs to be re-signed)
-- Action to get out of this state: Timesheet is approved

"Approved" = Timesheet has been approved by supervisor, now it is read-only for member
-- Action to get out of this state: Timesheet can be Unapproved by supervisor, in which case it goes back to "Signed"

In our current system, which works ok for us, this is how the state transitions work. Something similar to that would be great. I think if you do it as you describe, it's ok, but the only thing missing would be "Unapprove" - I do also really like it that after an employee "signs" - they can still modify the sheet, but it just means it will get unsigned thus forcing them to re-sign it.

Also, please note: we do also need a box (maybe with custom, configurable text) basically that says something along the lines of: "By pressing OK you are agreeing that all hours are stated accurately to the best of your knowledge." This is important for auditing of the hours I believe.

Thanks,
Bob

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Bob Pack over 9 years ago

Hello Dhanasingh,

There was one thing I forgot; can we have a configuration option to remove the "Start/End Time" and "Remaining Hours" lines? These aren't relevant at all for our company because we work all different hours on different days. There isn't a consistency for our work. We just want to record the time per-day, per-project (and I also second Quang's request for an option that only assigned projects show up, but it's less important to me at least than this), and then have the option to sign as-needed.

I must say, though, it's one of the most useful redmine plugins around, and it's currently the only one we plan on using if these changes do get in. Thanks for all of the work you've done on it, it's really appreciated!

Bob

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Dhanasingh Krishnapandian over 9 years ago

Bob,
thanks for your comments.
I think your workflow is spot on, we will implement that.
isn't reject and unapprove one and the same.

Yes, we will make the start,end and remaining hours a configuration :-)
we already have this on our list.
This was actually requested by one of the community users here.

Dhanasingh

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Bob Pack over 9 years ago

Dhanasingh,

Great to hear that was already in the works. As for "Reject" versus "Unapprove" - I guess some of the differences are:

- there isn't a "rejected" state; instead the timesheet goes back to signed (since for "Unapprove" it was already approved; if the timesheet was signed and there is a problem, the supervisor uses other means - like phone or email - to notify the member that there is a problem, anyway it requires more context to fix usually)

- Unapprove explicitly means that it's always possible to go back to a state where the member can edit his timesheet. It wasn't clear to me in what I read about "Rejected" or "Approved" that this was possible.

If you use the workflow I described, that will be great... I'm really excited to try out the next version. Without this plugin the time logging in redmine is pretty hard to implement in an organization, actually.

Thanks again.
Bob

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Steve Stefanovich over 9 years ago

Dhanasingh Krishnapandian wrote:

Bob,
thanks for your comments.
I think your workflow is spot on, we will implement that.

Dhanasingh, can I suggest that if you want to go down that path:

  • implement a configurable workflow like Redmine already has. Let the user decide what would be the state values and what would be the "closed" state(s) values you can use to enable/disable the approve/reject buttons accordingly. Everybody has its own timesheet approval process, Bob's being the most common - but why hardcode it?
  • make this completely optional - as well as the start/end hours - sometimes the PDF printout is quite sufficient, because the only thing that must be had is a client signature.

S.

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Jai prakash over 9 years ago

Hello Dhanasingh,

The performance issue still persists. Any ideas ??

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Dhanasingh Krishnapandian over 9 years ago

Steve,
Good idea, we will try to make the workflow configurable.

Dhanasingh

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Dhanasingh Krishnapandian over 9 years ago

Jaiprakash,
I thought, you said, the performance problem only occurs with the project with 1500 issues.
I think it is trying to load the issue drop down with 1500 items for each of the row.
Do you have this configuration checked "Include Previous Week's Closed Issues" on the plugin configuration page ?

Dhanasingh

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Jai prakash over 9 years ago

@Do you have this configuration checked "Include Previous Week's Closed Issues" on the plugin configuration page ?@

yes it was checked on the plugin configuration page. I tried unchecking this but still the issue persists .

@I think it is trying to load the issue drop down with 1500 items for each of the row.@

I think you are right,it is trying to load dropdown with 15000 issues for each row.

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Dhanasingh Krishnapandian over 9 years ago

Jaiprakash,
how many rows do you have in the timesheet and how many of those rows use that big project ?
And how may of those 1500 issues are closed ?

Right now, if more than one row of timesheet use that big project. It is going to build the issue drop down repeatedly, we will try to use some caching here and prevent it from repeated issue loading.

Dhanasingh

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Quang Tuan over 9 years ago

Hello Dhanasingh,

i agree with Bob's suggestion.

I have another ideas as below:
Supervisor can filter timesheet by Project (List only projects that Supervisor involved), Status(All, Signed, Approved), Members (List of members of selected projects)
after searching timesheet by filter, Supervisor will tick the list of correct timesheets then click Approve button to approve them.
Supervisor will tick the list of incorrect timesheets then click Unapprove button, it also should have comment field for supervisor to input explanation why the timesheet is incorrect.

Regards
Quang Tuan

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Dhanasingh Krishnapandian over 9 years ago

Quang,
ok, I will add this to our list of features.

thanks

Dhanasingh

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Karol Zaren over 9 years ago

Hello,

I found some strange behaviour with Weekly Time 1.0 plugin. When I add new row using "Add Row" button, the list of Issues is not updated when changing the project.

Is any way to reload the Issue list when changing the project?

I use redmine 2.1.0, so it seems that there are some problems with prototype scripts references.

Regards,
Zingi

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Dhanasingh Krishnapandian over 9 years ago

Zing,
We will take a look and get back to you.
Weekly Timesheet 1.0 was tested against Redmine 2.0.2.
Have you tried it with Redmine 2.0.2 ?

Dhanasingh

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Karol Zaren over 9 years ago

Hi,

With redmine 2.0.2, everything was ok. After upgrading to 2.1.0, problem starts.
So i think that is the result of Redmine migration from Prototype to jQuery.
(Error occurs in a "Ajax.Updater" function call)

Zingi

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Dhanasingh Krishnapandian over 9 years ago

Zingi,
ok, thanks for pointing out.
It might have broken few other places too.
There are couple other places, we are using Ajax.
We will try to release compatible version for Redmine 2.1.0 soon.

thanks

Dhanasingh

RE: Weekly Timesheet Plugin (wk-time) 1.0 - Added by Olivier Pinette over 9 years ago

Karol Zaren wrote:

I found some strange behaviour with Weekly Time 1.0 plugin. When I add new row using "Add Row" button, the list of Issues is not updated when changing the project.

I reproduce this issue in house too. As Karol I'm just upgrading to Redmine 2.1.0 and everything was working fine before.
I have failed into a second issue with the "delete row" button. Delete work fine for new task (task I have just created), but produce no effect for old ones.

Hope this helps.
Olivier.

1 2 3 4 (26-50/79)