This project has moved and is read-only. For the latest updates, please go here.

Add a single field - Hours

Aug 16, 2013 at 11:25 AM
First of all I would like to congratulate you for this system. It's simple but really good. One simple question:

I would like to add just another field with each comment post to keep track the number of hours allocated against a specific ticket. Is it possible?

You might consider to give the flexibility of adding extra fields in future releases.

Brian
Aug 16, 2013 at 9:48 PM
Brian,

I know of several people that have customized TicketDesk 2 to add some form of time tracking or another, so yes it is possible. How easy this is depends on what kind of time keeping you want to do, and how complicated it needs to be.

There are several different scenarios around time tracking, and each has different data collection and behavior requirements. It all depends on what reason you have for tracking time. Are you wanting to track time per help desk staff member? Are you a contracted support service tracking time so you can bill whoever hired you? Are you using ticketdesk for customer support, and wanting to track time spent for each customer (per end-user, or group of end-users) ?

TicketDesk 2 doesn't already include time tracking for three reasons:
  1. it is difficult to design a time tracking feature that makes sense in more than one specific kind of scenario
  2. it is difficult to have time tracking that doesn't complicate the system's behavior for users that don't need it.
  3. it is difficult to design time tracking features that wouldn't encourage managers to use it for tracking employee performance.
Point 3 is very important to me. One of my main motivations behind writing TicketDesk was create a system free of measurement dysfunction. The stock version of TicketDesk will never provide features by which managers can measure the performance of specific help desk staff members. I'm perfectly fine having time tracking features for every other scenario, except that one. I'm also fine with time tracking for performance in a general sense (for the help desk as a whole).

Since time tracking is a frequently requested feature, and many requests are for legitimate scenarios, I plan to re-assess time tracking in TicketDesk 3. If I can design a mechanism that makes sense, isn't complicated, and doesn't lead to measurement dysfunction, then I'll certainly implement it.

As for custom fields...

I fully plan to tackle custom fields in TicketDesk 3. I have two different approaches in mind, but have not committed to one or the other yet. I might even do both... Let me know which sounds better to you :)
  1. Three to five built-in first-class custom fields. These would store data directly within the tickets table. I'm thinking there would be at least one textbox, one drop down list, and one checkbox. The admin tools would let you choose which of these to enable, choose if they appear in lists or not, and then let you specify a custom label. Because these would be pre-defined and integrated into the system, the number of fields and thier types are also pre-defined. On the plus side, they can participate in sorting and filtering within list views, and can be indexed for searches.
  2. A variable number of custom defined fields of whatever type and behavior the admin wants. The admin tool would let you build any kind of field you want, specify their validation and behaviors, and decide what kind of UI control to use. These would be rendered in a specific UI section in the ticket's details view and the editors. There is much more flexibility with this mechanism, but since the definitions and data are variable, these fields would not be available in list views, can't be sorted or filtered, and probably wouldn't be indexed for searches.
Aug 17, 2013 at 7:08 AM
Hi Stephen,

First of all I would like to thank you for answering my post.

For obvious reasons, I would say that the second option is preferred by me. Not having these fields in list views is not an issue. One can easily write his own reports connecting to the DB directly. I would also consider extending this nice to have feature not only for the ticket record but also for the comments records.

What I have in mind is this : When the help desk officer post a comment or for example close a ticket, he can enter the number of hours he has worked to solve the issue. By grouping all the comments records related to a single ticket and sum this field, the administrator can easily do some costings. Obviously, this has to be done outside of ticketDesk through a customized report.

Brian
Aug 17, 2013 at 7:49 AM
Thanks for the input about the custom fields.

Your idea for time keeping does seem reasonable, and it would probably cover several of the common time keeping scenarios.

For a complete built-in time keeping solution, what I'd propose would be the following:
  • Entire time keeping system would be disabled by default.
  • Everywhere that comments can be collected (by staff), have a time entry field also.
  • Have a total time field directly in the ticket's details that sums the individual amounts entered.
  • Have an activity specifically for making time corrections" that allows you to either completely replace the master field's value with a new value, or decrement/increment by a specified amount.
  • Summary page/report for the total time recorded on all tickets within a specified date range.
Would that just about meet your needs? Any additional suggestions?

Also, would you think the time value should be a single field that supports decimal hours, or have a separate minutes/hours fields? Hours as purely an integer seems too broad for several of the scenarios I can think of.

Thanks again!
Aug 17, 2013 at 8:02 AM
Hi Stephen,

The solution you have explained above does meet my full requirements. I think that one field (decimal) for the number of hours is enough. Using my past experiences on similar systems, costings are computed on an hourly basis.

Let me tell you more what I do actually have in mind. Once you have implemented this feature in future versions, I will develop a small plugin that integrated this system with our SAP implementation. Every ticket raised will create a work order in SAP and once the ticket is solved, the total number of hours posted against the ticket will be posted directly in SAP. SAP will take care of the costings workouts.

Should you require any more information, please ask.

Another suggestion, although not related is to provide a more detailed tutorial on how to integrate this system with AD.

Brian
Aug 17, 2013 at 8:10 AM
Edited Aug 17, 2013 at 8:10 AM
Yeah... AD is a whole different ball of pain... I'm new to video production, but I am working on the TD 2 video walkthrough now.

I'll look at doing on for TD2 configuration and deployment too, but don't expect it... video production takes more time than I thought it would, and I'd rather spend that time moving TD 3 forward so I can do videos for it instead.
Aug 17, 2013 at 8:12 AM
Have you got time frames in mind re TD3?
Honestly, it's an awesome solution. Simple but effective.

Brian
Aug 17, 2013 at 8:23 AM
I'm aiming for a stable release that has feature parity with TD 2 by christmas. Don't hold me to that timeline though. I'm a full time employee and a part-time student this fall. Still though, TD3 is coming along much faster than I initially expected, so barring any major setbacks I'm reasonably comfortable with the timeframe. The only major wildcard is security. MS is still in alpha with their new claims based authorization framework, but so far it looks good. As long as they ship on time, I should be able to as well.
Aug 17, 2013 at 8:27 AM
Full time employee and a part time student!

I've been there, I've dome that. I've read for a Degree and a Masters after office hours. Now preparing for a PhD. Wish you luck in your studies :)

Brian