The good, the bad and the ugly about web page customization
The PBX comes with a number of built-in templates for the web pages, email and configuration of devices. In the old days, those pages were hard coded and we offered a couple of settings for minimal adjustments of the view, for example different header images.
For debugging it was very useful to get the content just out of a directory. We found that this was also very useful for installations, and have made the “html” directory accessible in the release mode.
Because file system access can be problematic especially for the embedded devices, we made the content accessible through the web interface. Now customers could make their changes right from the web browser.
The next step was to make that customization dependent on the content. A web page was now being rendered in the context of the extension, the domain and the system. Depending on who is logged in, it was now possible to present different content to different users. This was very useful for multi-tenant deployments.
Along that, the translations were also made customizable. Although that file was available only on a system level, it added additional flexibility regarding customization.
So far, so good. Now to the bad and the ugly part.
The main problem is software upgrades. The web content is far from being static. Every upgrade brings changes in the content area as well. If someone made changes in a file, that file still overlays the changed content. For example, customers who spent a lot of time in customizing templates for version 5 will not be pleasantly surprised with the changes that we have made for version 5.
The other problem zone is the provisioning area. We have made numerous changes in the pnp.xml file, and also changes in other provisioning files. When manual changes were made, this could create quite a mess with the automatic provisioning. At the end of the day, nothing could be working any more in the provisioning area.
The same applies for changes in the translations. Usually upgrades introduce new texts, and those texts are not visible after an upgrade.
Because of this, when you make changes in the templates, you must double check if you still need those changes after an upgrade. Revision management tools have a “merging” function that patches the changes in; however for the PBX that is not available. Essentially you have to perform that function manually after an upgrade.
Many of the manual changes of the templates are to fix problems. When an upgrade is available, those fixes should become unnecessary and should be removed.
Anyway, there is one clear action item when upgrading: Check if you still need the changes in the templates. If not, remove them.