Updating can be done very quickly. Due to the fact that users rely on the insights Exago produces, it is important to establish a meticulous process to assure their experience is fluid and uninterrupted. Below is the process we recommend when updating.
Read the change notes
For each major version we provide an Updating Guide that will highlight any actions beyond the normal updating process that are required. For interim releases, the change log is listed below the installer download and highlights what issues have been addressed.
Three environment updating
We recommend using at least three environments when updating, consisting of Development, Quality Assurance (QA), and Production. In the Development environment, a developer would first update Exago on their local machine or a testing server. Then, after testing the new features and verifying issue fixes, they would update a QA environment for more complete testing, likely implementing a User Acceptance Testing (UAT) server. Once the QA team has signed off on testing (more details below) then Exago can be upgraded on the production servers.
Tip: In supporting multiple environments, it is recommended to externalize environment-specific configurations to config files like web.config for easy re-deployment without code changes.
Steps for updating Exago
After downloading the installer the following steps should be done when updating.
Backup critical files
Critical files and any files that may have been manually or programmatically changed should be backed up prior to updating. These files include, but are not limited to:
Any custom language files, images or css files being kept directly within the Exago installation should be backed up as well. Any files added to bin directories should be safe during updates but may still need to be updated.
If reports and other files are stored to a medium other than the file system, they should be backed up as part of normal operating procedure.
Note: You may want to back up critical reports/dashboard definitions when updating between major versions
Run the installer to update Exago Web
It is safe practice to shut down associated application pools and web sites (IIS), or similar in Apache, as well as associated scheduler and monitoring services in order to relinquish handles on incorporated dlls before running the installer. There is no added benefit in updating while the service is running.
Note: The update can be installed over the existing version.
If you are using a custom Application Theme, make sure to recreate it in order for it to pick up the latest Exago icons and CSS. (We recommend using our provided utility.)
Update Exago WebService Api
If your installation of Exago utilizes the WebService Api, please update this as well.
Important: If you are using the REST Api, make sure to add the Rest key back to appSettings.config as it will be overwritten.
If your installation uses the .Net Api, update the reference to WebReportsApi.dll within the application launching Exago and perform a ReBuild.
If your installation uses a .Net Assembly for any Extensibility Features (Folder Management, Server Events, Custom Functions, and so on):
- Update the reference to WebReportsApi.dll within the application launching Exago and perform a ReBuild.
- Update the appSettings.config and web.config files in Exago if it is utilized by Extensibility.
Update any Scheduler Services that are being used
Ensure that all the settings in ./eWebReportsScheduler.xml are correct
If applicable, copy any custom language files into the ./Language folder of each Scheduler installation
Note: It is recommended that the working directory, which where the XML of each Scheduler Services job are located, is backed up.
While our QA team does extensive testing and runs automated tests on every released build, we still recommend that your team performs some basic checks as due diligence. Particular areas of focus we suggest include:
- Api integration:
- Verify Exago launches successfully and the appropriate permissions, with a focus on data and multi-tenancy, are respected.
- Features that utilize customization of Exago, such as:
- Report Folder Management
- Server & Action Events
- Custom Functions
- External Interface
- Key reports and Dashboards:
- This can be as simple as running a number of "standard" reports that all users may access or involve exporting reports to excel, pdf, or csv output and comparing the results with a stored master from a previous Exago version.
Updating to Production
Moving to production follows the same process as updating a UAT or staging environment, but involves a few additional steps:
- Only update production during scheduled downtime, as updating Exago or changing the Config XML file in any way will invalidate current active user sessions.
- Only bring the encrypted xml.enc file into the production environment.
- Ensure that the Admin Console is removed from the environment.
A full security checklist can be found here.