APS provides methods and tools for developing custom APS user interface ( APS UI) that can be plugged into different
types of control panels, e.g. Odin Service Automation or Parallels Plesk control panels.
that simplifies the development process and makes the APS package robust to hosting platform updates.
The whole simplified high-level architecture can be represented as follows:
The architecture has the following key features:
- All APS presentation logic is processed on the client side. There is no HTML rendering on the server side.
A screen is rendered by a view component that is an HTML code with JS.
- Navigation is handled by a control panel and described declaratively in the APS metadata.
- All data is transferred to and from backend using REST requests in JSON format.
- AJAX technology is used
for asynchronous communications and for unloading the backend server from building web pages.
- The backend server implements provisioning and security logic.
- HTML iframe is used to isolate a page inside its own container.
If you need to develop an APS UI, make sure that you consider the following possible options:
- We recommend you to use the APS JS SDK without any modifications, as it provides the following benefits for you:
- It simplifies substantially the development of views in most cases.
- Your custom UI can inherit HTML styles from control panels, i.e. a control panel will be able to apply its style
skins to this UI.
- It guarantees backward-compatibility with any future updates in the APS JS SDK modules.
- Use your own JS controls, CSS, markup, etc. without using APS JS SDK. Such a UI will also remain backward-compatible with
possible future updates in the APS JS SDK modules, but it will not be able to accept skins of a control panel.
That is why this option is not recommended.
- Use the APS JS SDK, but modify the rendered HTML. We strongly caution you against using this option
because future updates in the APS JS SDK modules may “break” such a custom UI.
Please be aware that the applications where option 3 is chosen are not officially supported by APS.
You may use option 2 on your own but be aware that the APS support team will not accept requests
for issues connected with 3rd party JS modules.
For the formal definitions of APS JS SDK modules refer to APS UI Runtime .
In the following sections, we rely on the use of APS JS SDK.