Internal SugarCRM Project: Time Tracking System
UpCurve Cloud’s engineering intern, Jim Rybarski, is winding down his Spring semester with UpCurve Cloud. He has completed several internal projects including a project status tracking system, the launch of our customer portal, and a new browser-side password encryption program. We asked Jim to contribute as a guest blogger on our site to share some insight to the work he has done for UpCurve Cloud. We are breaking his posts up into a weekly mini-series where he will go into detail about the internal projects he completed. Let’s see what Jim had to say.
Until recently, engineers at UpCurve Cloud kept track of billable time using Klok - a time tracking software to measure billable hours. The process was pretty clunky – engineers would have to create cases and keep track of time with that program; and then at the end of the day , they would manually input their totals into UpCurve Cloud's internal SugarCRM instance for each individual client.
When I came to UpCurve Cloud as an Engineering Intern my first assignment was to create a time tracking system in Sugar. This would make things simpler and more efficient – engineers would just open up a case in our CRM and press the “Start Clock” button, work on it, and click the “Stop Clock” button. The time would be automatically summed for each client, and the nightly cron job would then determine how many billable hours to charge. We also decided to add a popup that asked the engineer to describe what they worked on every time they clicked the Stop Clock button.
With the time tracking system in place, we can leverage all of Sugar's functionality to do other things with this data. For example, we are thinking about creating a portal for clients so they can receive live updates on their project (which is why we added the description box), and they could see exactly how much time was spent on each aspect of their customization. This level of transparency would allow clients to know exactly what adding that extra button or creating some logic hook really cost them, and since we're programmers this will be a good thing.
I had assumed when I was first hired that I was going to do this just in PHP and MySQL, and that it would take me a few hours at most. I couldn't have been more wrong. I was pretty good at PHP when I started, and my SQL wasn't terrible, but knowing nothing about Sugar presented a serious challenge. I went through developer training and read the developer manual, but it still took about a month of trying things out and looking at custom code written by other engineers before I really understood how everything fit together in Sugar. But now, if I had to do the entire customization from scratch, I'm very confident I could get the entire thing built in less than a day.
If you have any questions about the projects discussed in this post, please contact us here.