More and more JavaScript
In the upcoming next versions, we are bidding more and more on JSON content in the webpages that before. As you have already seen in several parts of the PBX, we have replaces the old server-side-includes with dynamically generated JavaScript objects.
We did this in order to move more and more content out of the PBX itself into the web client. This helps to reduce the workload for the PBX itself. But it also makes it easier to offer a rich user interface.
For example, instead of sorting long lists in the PBX, we now just send the content to the web client who can take care about sorting it according it to the user’s preference. The alternation of table columns is not hard coded in the PBX code; instead this is done in the JavaScript code.
While not everyone so far immediate liked the changes that we have made, it does put us into a position that we can change the appearance a lot easier than this was possible before—without having to be concerned about the core functionality of the PBX. Also, we are now able to download content when the user needs it, instead of always. An example here is the paginated output for CDR. In previous versions, the PBX had to generate always the output of the last so-and-so records, while now the user can decide what page should be loaded on demand. This reduces the work load for the PBX significantly while making it possible to go back further in time for the user.
It is also possible that the customer can now change the code for the presentation of content on their own. This is the nature of JavaScript. However we don’t recommend this as it makes further updates of the web pages difficult.
An area of particular interest is the translation of the PBX into the various language formats. We have added the possibility to edit the translations right on the page. This makes it easy for everyone who is not happy with the translation to edit it right away, without having to edit text in hard-to-read format.