Important facts about the update process
- Before you update a production database with an AMM file created with an Update Solution option, you must backup the target database for security reasons. Update of the meta-model is a sensitive process that can lead to data loss if not carefully planned and executed. The update of a database via an AMM file created with an Update Solution option should be thoroughly tested on a test database before the production environment is updated.
-
Clarify any concerns regarding your specific customization before initiating the Update Meta-Model functionality! Some customizable features in Alfabet may not be part of the meta-model configuration. They are stored in the instance store and could be lost/damaged when a configuration is saved and restored to another database with an AMM file. This applies to the following configurations:
- Configuration of some reference data created on the Alfabet user interface: Reference data include for example, cost types, evaluation types, measurement units, and prioritization schemes. Only a subset of reference data can be included in AMM files.
- Mandate configuration: The configuration of mandates is saved as object data and cannot be stored in AMM files.
- Documents uploaded to the Internal Document Selector: Documents in the Internal Document Selector can only be stored in normal database backup files on the database server level or added to the target database manually. This may impact the images and stylesheet files stored in the Internal Document Selector that are to be used in HTML templates implemented in the workflow capability. Although HTML templates can be saved to an AMM file and uploaded to a target database via the meta-model update, the images and stylesheet files must be uploaded to the Internal Document Selector of the target database via the Internal Documents functionality in the Alfabet user interface, which is accessible via the Admin user profile.
- All database views in the target database are recreated after a meta-model update and need to be checked for consistency afterwards. Recreation ensures that new database views added to the configuration via the meta-model update are created and that database views that are not compatible with the changes to the meta-model applied via meta-model update are removed.
- AMM files can be configured to either replace or merge the configuration stored in the AMM file with the configuration in the target database:
- Replace Configuration: The whole customer configuration in the target database will be deleted prior to writing the content of the AMM file to the target database. Configurations that have no corresponding object in the AMM file will be deleted.
- Merge Configuration: All objects in the configuration will overwrite corresponding objects in the database. Database objects that have no corresponding object in the AMM will remain unchanged. Objects that are only available in the AMM will be added.
- If you merge the solution configuration in the AMM file with the configuration of a target database, only the configuration objects that are stored in the AMM file will be overwritten. Overwriting configuration objects is especially important for the update of configuration objects with sub-objects. For example:
- Updating an object class with information in the AMM file will delete all custom object class properties and numeration information for the class in the target database and substitute it with the information in the AMM file.
- Updating a report folder will delete all reports from the report folder in the target database and substitute it with the reports available in the AMM file configuration.
Therefore, prior to updating the meta-model with an AMM update file, you must ensure that the configuration in the development database is identical to the configuration in the target database (except for the desired configuration change).
- When updating the meta-model using Alfabet Expand or the Alfabet Administrator, a window for selection of the AMM file that shall be used for update opens. After having selected an AMM file, you can click the button View Content Summary to see a summary of the content of the AMM file.
- Mechanisms are available that ensure that the translation settings of the target database are not corrupted via a meta-model update with an AMM file:
- Information about the configuration language of the source databse is stored in the AMM file. Update of the meta-model via the AMM file will fail if the settings for the configuration language are different in the AMM file and the target database. This check can be de-activated on performing the update of the meta-model. Please note that de-activation may lead to problems with strings displayed as original being defined in different languages.
- On update of the meta-model with an AMM file which is configured to replace the culture configuration of the target database, the cultures in the target database are removed except for the primary culture (en-US), the default culture and the configuration culture. Any settings in the AMM file about the default culture or the configuration culture are ignored and the settings in the target database are maintained.
- During update of the meta-model with an AMM file the database is run in a restricted mode. That means that all connections to the database except for the one required to update the meta-model are closed and new connections cannot be established. The restricted mode ends automatically when the update process is finished. If the restricted mode persists after the update is finished, it can be manually released via the context menu of a server alias in the Alfabet Administrator.
- Prior to update of the meta-model, database replication mechanisms targeting the Alfabet database must be shut down.
- Login to the Alfabet database on the database server for database update is not performed with the database user defined in the server alias configuration, but rather by means of the database user AlfaRuntimeUser that is automatically generated for the process by the system. This database user has Read/Write access to the database during the update of the meta-model. It is not possible to access the Alfabet database with a user AlfaRuntimeUser in other contexts.