Opened 17 years ago
Last modified 8 years ago
#1667 new enhancement
Create a desktop app to record time spend on a given task and update ticket when done
Reported by: | Colin Guthrie | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | WorkLogPlugin |
Severity: | trivial | Keywords: | desktop integration |
Cc: | Trac Release: | 0.10 |
Description
This plugin would be make a lot more useful by creating a desktop application (python-gtk? or for OSX or it's clone Vista, as a Widget or Gadget).
This would simply allow starting and stopping work on a given task and the time spend therein recorded locally. Little warnings would flash up periodically (e.g. every 15 minutes - configurable) to remind the user they are still working on this ticket - I get easily distracted ;)
Once the user clicks "stop", they will be asked if they want to submit now, and if so they have to enter in a brief description of what they have done. If they choose not to, the time will be cached locally until a later date.
This will make use of the XMLRPC interface and as such may need changes to the plugin itself (I am unsure of the technical details here).
I will start work on this in the near(ish) future as I think this kind of recording app would be of great benefit in our company.
My goal is for a cross platform tool as we have people running Linux, OSX and Windows in my organisation. It would need to support HTTP level authentication of the XMLRPC side of things.
Comments/suggestions welcome.
It may come in the form of a Qt App as I need to learn more about that and I'm quite happy in C++ but any other implementation suggestions are welcome (e.g. if python-gtk is a good option I'd like to look into it - Not got any epxerience of running such apps on Windows or OSX tho').
Col
Attachments (0)
Change History (16)
comment:1 Changed 17 years ago by
comment:2 Changed 17 years ago by
Great tips Russ, thank you.
I have decided to use Python for the GUI but have also decided to actually use a Trac plugin for the backend functionality, making the Frontend application very simple.
I have started the WorkLogPlugin for this purpose. It has the added benefit that the desired functionality will be available to me even if I do not start a desktop application (although I still fully intend to do so).
The plugin is still in flux but if anyone is interested in playing it will be easy enough to fix later (the database schema is simple but I want to change it already! I do not foresee any further changes after this tho', so I wont need to work on a db schema version if I commit the change soon!)
comment:3 Changed 17 years ago by
Component: | TimingAndEstimationPlugin → WorkLogPlugin |
---|---|
Owner: | changed from Russ Tyndall to Colin Guthrie |
Glad to hear you went the plugin route, that makes the whole environment better :).
I went ahead and changed this ticket to point at your plugin. Please let me know if you need any help integrating with TimingAndEstimationPlugin.
Cheers,
Russ
comment:4 Changed 17 years ago by
Hi,
I really like this idea a lot. In fact I though about using Mylyn to track the hours since it already have feature to count the hour spend on coding. However, it doesn't count time spend on other tasks.
There is also a java app that I use to track any custom task. But it doesn't integrate with Trac but you could also check it out for some idea. http://processdash.sourceforge.net/.
I think it might be a bit late to change anything but it could be very useful enhance to ingetrate the processdash with trac.
comment:5 Changed 17 years ago by
Hi,
I've not started on the design of this desktop app yet, so plenty time for changing how it operates, although I think I've got a fairly good idea in my head :)
Most the effort I've spent so far is to design the WorkLogPlugin which is coming along nicely. This will form the back end of the overall design (e.g. the desktop application will just for a light wrapper around XMLRPC calls with a couple of bells and whistles for good measure :))
Good to know I'm not the only one who thinks there is value in such a plugin :)
comment:6 Changed 17 years ago by
I wont pretend to know much about processdash nor PSP/TSP generally (though it appears I now have more reading to do!!), but it seems that the graphs and other views of processdash could be integrated into the WorkLogPlugin. If you understand it a bit better and have an idea of what kind of graphs would be useful, please open a new enhancement about it and I'll see what I can do :)
Or if you're really keen, please just submit patches :D
comment:7 Changed 17 years ago by
Replying to coling:
This plugin would be make a lot more useful by creating a desktop application (python-gtk? or for OSX or it's clone Vista, as a Widget or Gadget).
I've started work on a wxPython app, that makes it cross platform Mac, Linux and Windows.
This would simply allow starting and stopping work on a given task and the time spend therein recorded locally. Little warnings would flash up periodically (e.g. every 15 minutes - configurable) to remind the user they are still working on this ticket - I get easily distracted ;)
This doesn't fit my needs so I'll let you add this after ;)
Once the user clicks "stop", they will be asked if they want to submit now, and if so they have to enter in a brief description of what they have done. If they choose not to, the time will be cached locally until a later date.
I also want to add an option to change the status of the ticket.
This will make use of the XMLRPC interface and as such may need changes to the plugin itself (I am unsure of the technical details here).
I found some nice python sample code for the XMLRPC so that seems doable. I want to populate a dropdown box of all assigned tickets.
I will start work on this in the near(ish) future as I think this kind of recording app would be of great benefit in our company.
Awesome idea actually :D
My goal is for a cross platform tool as we have people running Linux, OSX and Windows in my organisation. It would need to support HTTP level authentication of the XMLRPC side of things.
Cross platform is addressed with wxPython and you can even have a systray icon on windows and linux.
comment:8 follow-up: 9 Changed 17 years ago by
That's really great news! Thank you!
It's so nice to see people taking an interest and confirming what I thought about WorklogPLugin and TimingAndEstimationPlugin and them being useful tools for Trac.
If it would help I can prioritise the XMLRPC part of WorklogPlugin to make sure it's done sooner rather than later? Although if you you want to write it yourself I will happily apply the patch! I tried to keep most the logic in the manager class so that wrapping XMLRPC around it would be quite simple.
Please keep me informed.
:D
comment:9 follow-up: 10 Changed 17 years ago by
Replying to coling:
That's really great news! Thank you!
Well thank you for writing such a handy tool.
It's so nice to see people taking an interest and confirming what I thought about WorklogPLugin and TimingAndEstimationPlugin and them being useful tools for Trac.
They are very useful in fact I got to ditch a very ugly time tracking software package to use this instead.
If it would help I can prioritise the XMLRPC part of WorklogPlugin to make sure it's done sooner rather than later? Although if you you want to write it yourself I will happily apply the patch! I tried to keep most the logic in the manager class so that wrapping XMLRPC around it would be quite simple.
I'd like that alot actually. I'm digging in to the desktop side so being able to call start and stop from there would be great. I was looking at doing an ugly form submit hack but I wasn't sure what one of the values you have in your hidden form was for.
Would you expose a comment field as well in the API? I was reading on one of your other threads about comments being added to the ticket and to the worklog #1898
That would be very handy if so.
Thanks again.
comment:10 Changed 17 years ago by
Replying to anonymous:
Replying to coling:
If it would help I can prioritise the XMLRPC part of WorklogPlugin to make sure it's done sooner rather than later? Although if you you want to write it yourself I will happily apply the patch! I tried to keep most the logic in the manager class so that wrapping XMLRPC around it would be quite simple.
I'd like that alot actually. I'm digging in to the desktop side so being able to call start and stop from there would be great. I was looking at doing an ugly form submit hack but I wasn't sure what one of the values you have in your hidden form was for.
No problem. I'll look into this sometime soon. Probably over the weekend, so it should be available in the next few days.
Would you expose a comment field as well in the API? I was reading on one of your other threads about comments being added to the ticket and to the worklog #1898
Yup, it'll be in there :)
comment:11 Changed 17 years ago by
(In [2557]) Refs #1667 by adding an XMLRPC interface to WorkLogPlugin. I should stress that this is 100% untested and the permissions are totally wrong. It should hopefully provide something to test even if it doesn't work 100%.
comment:12 Changed 17 years ago by
comment:13 follow-up: 14 Changed 17 years ago by
OK as you can see there now exists an XMLRPC interface. I've not tested it at all so it's 100% guesswork on my part..... fingers crossed it all works. It more or less should do, but I wouldn't put my house on it!
comment:16 Changed 8 years ago by
Owner: | Colin Guthrie deleted |
---|
That sounds fine to me, though I and mine don't have much use for it. I do not think you will need too much help from me to get this accomplished.
I am not a C++ hacker by any means, as that always seems to be the path of most resistance. Which is to say, I wouldn't recommend doing this in C++, but my opinion on that account is not worth much. I have never tried to deploy an app to all three major platforms, but if I had to guess, the python gui stuff would be quicker to implement cross platform. Another hideous thought that comes to mind is a java/swing app, which was pretty easy cross-platform gui code the last time I used it.
Before starting, I would look around at existing time tracking software, that may more closely meet your needs than this software.
Other notes:
Good luck and please keep me informed of your progress,
Russ