NOPworklog

analytik's picture

What's that?

Need to track the time you're working for client and don't need huge CRM system for that? Want to know how much time does writing blog posts cost you? How long does it take to "just read the news headlines" on your RSS reader?

Well, you can find out with a stopwatch and a paper, or with PHP 5.0.x and XML. And NOPworklog, which is my simple time tracking tool. It's intended to be simple to install and use.

Documentation

Latest documentation will always be stored in NOPdesign's wiki.

Download

You can download it from sourceforge.net or freshmeat project page.

How does it work?

You create a list of projects and for each project a list of tasks you do. For example, if I was making a lunch, I'd create a project lunch and add tasks like buying ingredients, preparing ingredients, cooking it, waiting for it to cool off and eating it. Then, before going shopping, I just click "lunch - buying ingredients", maybe add some optional description and press the start button (not The Start Button on your crappy OS ;). When you've returned from the grocery, you click "stop". Cool, now you have stored how long did it take. Simple as that.

Requirements?

Some web server and PHP 5.0.x with SimpleXML and DOM support. Demo? Available here - always at latest version.

How do I install it?

Unpack the files to any directory that is processed by your webserver, and run it by pointing your browser to appropriate address.
If you're (or the remote webserver) is running some flavour of Linux or UNIX (most probably it is), chmod the "nopworklog.xml" to '664' or '666' (less secure). If you want to delete that file (where all data are stored, BTW), you can do it, just chmod the containing directory to '775' or '777' (less secure).

Why I did it?

I wanted to have this tool, plus I used the opportunity to refresh using DOM and XPath.

Release notes - NOPworklog 0.1.1

This is the second public release (minor bugfix). It works, it should not have any major bugs. You can create a project and you can create a tasks for each project. Then, you select which Project/Task you're working on, add description ("I'm cooking a goose") and press start. When you're done, you press "Stop" on the list of log entries. It's all on one page.

What needs to be done and is not done in this version?

  • It's ugly. Work on CSS.
  • Pagination. It displays all working units on one page, so it can become slow and upleasant if you'd have hundreds of them.
  • Sorting. Or, lack thereof. It displays log entries in order they were started.
  • Stats. They're low priority, but I have them in mind.
  • Charging money for the time. This is low priority, too, but it would be nice to have features to define how expensive tasks are and maybe someday even generate invoices straight from the worklog tool.
  • Adding some JavaScripty calendar - because now, if you want to enter start/end time other than current time, you have to enter it as UNIX timestamp.
  • Add something cool so people will donate thousands and thousands in currency of their choice. And then the typical rule the world stuff.

Contact

As usual, you can contact me at my address analytik@php.net if you want. It's spamproof, so you have to wait for autoreply, click one link and then your original mail will be delivered.