Pages

2012/06/13

ERP Guru meet EXT Scheduler or the Birth of the Graphical Scheduler


As many professional services companies know, it can be pretty difficult to keep track of all the various tasks and assignments, as well as efficiently managing the workload of your team. We are no exception to the rule. 


A few months ago it was requested that I begin a small R&D project internally, to create a visual tool that would allow our Project Managers to know (and see) the workload of the team and make it easier to properly allocate assignments. 

Using only basic HTML and a few saved searches, I built a Suitelet that could calculate the daily workload of every employee by taking all their assignments (Support Cases, Project Tasks, CRM Tasks), looking at the remaining work, start dates, and end date, and calculate how many hours on each day would be required to finish the tasks by the specified end date.  The calculation was simple. Let’s take a task having a start date of the 1st of June, and a due date on the 5th. If this task had a remaining work of 5 hours, that would mean that the workload on the 1st of June would be 1 hour on this task, and so on.

The tool was a success but was greatly lacking interactivity... and visually, was looking awful.

This is where the EXT Scheduler library by Bryntum (http://www.bryntum.com/products/scheduler/) came in handy. It is built on top of EXT JS, and was offering exactly what we needed to make our scheduler dynamic and for it to look very good! A few weeks later, the Graphical Scheduler was born!

1-scheduler main screen


All we really had to do was to tell the scheduler what were our columns, and what were our events. It offers built-in filtering features, allowing us to easily show pertinent information, and with its templating system it was easy to generate all the events by just providing the data in the right format. Without much code, we then have the boxes with the correct content and the associated tooltip!


Features of the Graphical Scheduler


So the scheduler gives us the daily workload of our resources. The EXT Scheduler library provides us with the easy ability to zoom out, giving an overview o weeks or months instead of just days. It also gives easy navigation forward or backward in time. The current version is read only, but EXT Scheduler also offers interesting drag and drop abilities that I cannot wait to try!

2-scheduler main creen - zoom


One of the most exciting features, is the easy ability to filter the results. We offers drop down lists to filter by employee, department, location, class, employee status and employee type. Using the scheduler in the Professional Services Toolkit also gives you the ability to filter your employees by their skill sets! Under the hood, a simple event handler on the drop lists calls the “filter” function of the data stores and the EXT Scheduler updates the screen with the desired filtering automatically!

3-filters 

4-filter skillset


Since the main view displays only numbers, we use the EXT Scheduler’s mechanism for tooltips. It works using templates. You basically program your tooltip once with key words, and the library will automatically generate and manage the tooltip for you. So, on a click on a daily event, you get all the details of the tasks that are planned for today, including start date, end date, remaining work, and a link to the task record in NetSuite.

5-tooltip


When clicking on an employee name, it will open a new window (also using the EXT Scheduler library) that displays the detail of all the tasks over the time allocated for the employee. This is closer to the basic functionality of the library. Again, we basically supply it with the tasks, their start date and end date, and the library will generate the display for us, managing the tooltips and the navigation.


6-detail view


Using the Zone plug in, we can easily display holidays with a different style. The CurrentTimeLine plugin on the other hand, marks the current time with a nice red line! Honestly, the EXT Scheduler library offers us endless possibilities. The community is active, updates are frequent, and was definitely the best tool for us to create this very useful add-on!




No comments:

Post a Comment