A typical enPortal deployment will consist of:
enPortal provides a configurable export system that will automatically capture all system configuration (1) and much of the custom assets (2). If custom assets are not captured then the export configuration can be modified to include them which would be considered a deployment best practice. Exporting the external supporting pieces (3) is beyond the scope of the product itself but should be considered from an overall perspective.
The reasons for performing backups are:
To create backups, hover your mouse over the Advanced tab and select the Backup option.
The Backup page allows the user to create new backups, and download or delete existing backups on the server file system.
Select the Create button to create a new backup. Multiple backup options will be presented.
The Backup AppBoard option backs up only AppBoard components, specifically: Stacks, Data Collections, and Data Sources. Everything else including server configuration, users, domains, roles, stack assignment, managed variables, and all enPortal specific custom export properties are not backed up.
Use the Backup All option for full system backups.
Use the Backup Portal option to export all enPortal configuration in addition to most of the server configuration.
Recommended best practice is to ensure that backups include all required files for a functioning system. In many cases this is handled automatically by placing custom files within the supplied custom directories. Some files fall outside this pattern however and to handle these it’s necessary to customize the export file set by creating a custom.properties file and placing it into the [INSTALL_HOME]/server/webapps/enportal/WEB-INF/config/ directory.
This file can be used for various overrides so it may exist for other purposes already. The key part is to define an export.custom.other property with a list of rules defining the files to export. This is a semi-colon (;) separated list, with the backslash character (\) used to split the list over multiple lines to improve readability. For example:
# below is a list of additional files to export on a full backup
In this example a DB driver, a icon registry file, a custom graphic, and the test_dir are specific paths to be exported. The last example specifies a path and file expression so that only files ending with .png are included.
The format for each export rule is noted below. The initial Path is not a regular expression and must match exactly a single file or directory. PathExpression and FileExpression are regular expressions, not wildcards. The use of the exclude keyword is optional and implies the preceding expression should be excluded.
After making changes to the set of excludes perform a backup and verify the resulting (.jar) archive contains the desired set of files. The archive can be uncompressed using unzip, depending on the unzip tool it may need to be renamed to end with .zip.
The backup mechanism is only accessible via the web interface. To perform an unattended backup, create a custom script to authenticate and call the following URL to generate the backup (example below calls the Backup All option):
Loading backup archives is completed on the command line and the enPortal server must be shutdown beforehand. Before proceeding with loading a backup, please be aware that this process is disruptive and will replace the existing configuration. For example, loading a Backup All archive will replace all existing enPortal and AppBoard content and configuration settings.
To load an archive:
The applicable Load Types are defined below:
In addition, a special procedure is required to load an AppBoard only backup onto an existing server without losing other configuration, i.e. this is not necessary for a clean AppBoard installation. Instead of a Restore or Apply command, the FilesImport command should be used. This will overlay the files onto the file system without resetting the configuration database. All AppBoard content will be replaced, however. The following steps are also required to ensure data sources are loaded correctly:
System must be shutdown prior to resetting the database.