Top 3 modules on the GeoPal Platform
The most important module is the GeoPal“Platform”. This module contains all the entities that you can persist, the ExtJS stores enabling access to them, their synchronisation facilities, a set of pre-made UI components and some utility classes. This module is also responsible for the initialisation of the other modules and provides the main classes that some key components in other modules should inherit from.
GeoPal has a large set of pre-existing APIs, used in what we call “Scriptable Steps” and “Scriptable Webviews”, normally available as Steps in a Job. Such APIs are still very important to us and we therefore needed to implement them in the GeoPal Mobile Workforce Management App as well. This objective is achieved through the Mobile Api module, which implements most of them, making the API available where needed.
One of the prominent features of the GeoPal Mobile Platform App is its support for white-labelling. When the App starts, the White-labelling module acts as the default module for white-labelling purposes, overridden by an eventual [companyname]_Whitelabelling module. This module is used to apply a client’s logo and custom brand colour scheme to the App.
Additional customised modules
As the GeoPal Mobile Platform App replicates most of the UI capabilities of our native Android App, it made sense to split all these features into different modules, both to allow for easier maintenance and simply for logical reasons.
As a result, we have ended up with several modules, each implementing a subset of the UI features of the App. These modules can be swapped out in case they are not needed and can even be overridden and customised if necessary.