This article will describe the steps that you need to take when making a change to the service schema in AM (aka the configuration), in particular this will focus on how the upgrade rules should be created and applied.
Currently there are two ways to change the service schema in AM:
- In the xml schema files that use the sms.dtd
- Through annotations on POJO's in the AM codebase
In either case when a change is made upgrade rules will need to be written so that customers can continue to use their configuration.
Currently there are 3 ways a customer might upgrade AM's configuration:
- Manually through the use of the Upgrade step
- Using config upgrader to update Amster files
- Using config upgrader to update FBC files
A tool for converting AM configuration files (Amster export or FBC) to be usable with a newer version of AM. The project is within the openam repository. The README and its examples is a good place to start, as is the the CLI output. The tool is delivered as part of the AM.zip. It is driven by rules that are either delivered along with the tool or even custom written.
Rules to upgrade Amster files
Rules to upgrade FBC
Set of idempotent rules that will upgrade file based configuration files to be compatible with the latest version of AM on a branch. master.groovy is contained in the AM.zip release.
- How to find service name
- Structure of fbc files
- Update title
Idempotency can be achieved using the configuration version. More information can be found here Upgrade rule filtering based on version.
Guards can be used to achieve idempotency.