It has been 12 days since I last posted something relating to my 30-day project misvCRM. I felt I needed a break from it (really…); it started to feel like a heavy task that I must do. So, I put it aside for a while and started tinkering with another product that I have been selling for the last eight years which to date is doing OK but should really be doing better. This product is a time tracking application called VeriTime Time Tracker. What I am doing is porting over the code to the new framework that I utiilsed for misvCRM. It is not an entire rewrite but it is close to it. Has it been a waste of time? Probably. I could be promoting the product more rather than do what I am doing now. Some of the more positive things that came out of this are:
- I discovered how to properly align the column headings of the list grids.
- Reduced the amount of code required to right-align numeric values in the list grids.
- I was finally able to implement a suggestion from a user (thanks Mike S.) to represent the timesheet entries in a planner layout and also be able to manipulate (i.e. add, edit, move, etc) the entries therein. See the screenshot below of the planner view.
- Implemented the idea of link labels (similar to hyperlinks in a web page) to perform a specific function.
- I also changed the way the values of the drop down comb boxes are stored and maintained. In the current version they are stored in text files but now I am storing them in a table in a database.
- I moved most SQL-related code to the database i.e. started making use of stored procedures, triggers, and user-defined functions. This alone reduced the amount of code that I have to maintain.
The other area that I am sure to improve VeriTime in is the reports. I am not entirely happy on how I have implemented the different reports i.e. I felt that the code and other components do not hang well together as it should. I am also going to make use of a much later version of the report engine that I am currently using.
The multi-user version of VeriTime is also another area I am going to have a look at. I am certain that it needs fixing especially from the point of view of user permissions and access.
I know that I can use in misvCRM and in other future products the insights and discoveries that I unearth in this exercise. This alone makes it worthwhile.
