In late 2014 we decided that the old Gantt page within GeoPal needed a thorough revamp. The objective was to make it more maintainable, while at the same time adding some additional needed features and improving the overall aesthetics.

After an extensive search for a complementary technology that would allow us to maintain the re-developed Gantt page for years to come, we found Bryntum to be an excellent fit. Their library seemed to tick all the boxes:

  • Built on ExtJS
  • Well documented
  • Feature rich

Once the new Gantt page (which we named Planner) was built, we could actually confirm that Bryntum was, in fact, delivering promised features and benefits, and since then, we’ve been using their technology.

Fast forward a few years later, we found ourselves in the need to update our core web-app to ExtJS 6.5 as well as revise some aspects of our ExtJS architecture, which in turn prompted an update of the Bryntum library from version 2.5 to version 5.1 and yes, you’re reading it right: we completely skipped 2 major versions of Bryntum in the process!

Updating technologies as often as possible is, of course, the ideal scenario but unfortunately there as in all companies, we experienced limits to available resources. This required us to prioritise certain activities and due to the fact version 2.5 managed to consistently deliver across two different versions of ExtJS (4 and 5), we never felt the need to upgrade it until now.

The upgrade process has not been without its difficulties, of course. ExtJS changed a lot between version 4 and 5 and just as much between version 5 and version 6.5; asking the three years old Bryntum 2.5 library to support such an extensive upgrade was of course too much.

Once all the initial implementation issues with ExtJS 6.5 were rectified, we could finally start using the Scheduler component and figure out for ourselves what changed from Bryntum’s perspective.

While in the beginning, this seemed like a daunting task, the more the activity progressed, the more it became clear that any issues we experienced were in fact related to some peculiar and now unnecessary components written by us and that Bryntum followed the same path of ExtJS.

Once we got rid of our outdated components we could migrate Bryntum, not by adding more code, but by removing some instead, which of course is always a better course of action for maintainability. While some new tricks had to be learned and some old tricks were found no longer necessary, the majority of the code remained intact and unchanged!

Bottomline, after three years with Bryntum running on our back end we can still highly recommend it: not only for the fact that it delivered on all initial promises, but it allowed us to continue for an extended period without major maintenance. Even after an upgrade, it still keeps the consistency that we need and expect from a production-grade commercial library.

Our updated Planner page is currently undergoing internal testing by developers and considering the scale of the change, we expect this testing to continue for through the coming weeks. Once it is pushed to production you visual changes will be minimal, if any at all, but the technical changes will enable us to add more compelling features in the future.

Picture 1: an example of code we could remove. With the previous version of the Scheduler library we had problems preserving the scroll position when reloading the stores. With the updated version, a workaround is no longer necessary and we can focus on our own features.

Picture 2: an example of our current Job Planner screen which was created using the updated Bryntum library. 

Share This

Make the Connection!

We work with your company to implement workforce mobility solutions that transform the efficiency of your field operations. Get in touch to start developing your own solution today.