How to upgrade the definition version?
If you want to upgrade the current definition to a new version, use the following CHANGELOG together with this step-by-step guide, or use VS Code Extension command.
How to proceed:
-
Take your current definition, and in
config.yml, check the version. -
Change the version in
config.ymlto a new version. -
Use the CHANGELOG and start making changes step by step from your current version to the newest version that is compatible with IXP.
-
Make one single change at a time.
-
Be sure to make the change for all the concerning files and their attributes before proceeding with the following change.
-
Each version contains information about changes and a structured description of affected files and their arguments.
-
Note that not every change is reflected in the files; some changes are only concerned with the behavior of certain definition aspects rather than syntax changes in the YAML files.
-
Lastly, check the new version against definition documentation to see if the fields in the files are the same.
-
Zip the definition and upload it to the IXP for the last validation.
-
Done. Enjoy your upgraded version!
Example:
-
Current version: 0.24.7
-
New version: 0.25.0
-
In the
config.ymlchange the fieldversionfrom 0.24.7 to 0.25.0.
0.24.7 to 0.24.8
- In the CHANGELOG, find the first subsequent definition version to the current version, which is 0.24.8 in this case.
- The change lies in adding a new optional feature
commands, for activating milestones based on commands run in the sandboxes. The feature does not break the syntax of the previous version of the definition. - Skip the change.
0.24.8 to 0.24.9
- In the CHANGELOG, find the first subsequent definition version to the current version, which is 0.24.9 in this case.
- The change lies in extending the control block of emails with
milestone_condition. The feature does not break the syntax of the previous version of the definition. - Skip the change.
0.24.9 to 0.24.10
- In the CHANGELOG, find the first subsequent definition version to the current version, which is 0.24.10 in this case.
- The change lies in adding the optional field
typeto learning activities, which is used by the editor. The feature does not break the syntax of the previous version of the definition. - Skip the change.
0.24.10 to 0.25.0
- In the CHANGELOG, find the first subsequent definition version to the current version, which is 0.25.0 in this case.
- The change lies in removing all links except milestones from learning activities. Milestones are now the only element that can be linked to a learning activity. All other elements are linked implicitly through milestones.
- Remove all fields
tools,injects,addresses, andquestionnairesfrom theobjectives.yml. - Check all the edited files against the structure in the definition documentation.
Note
The validation process does not allow fields other than those mentioned in definition documentation. Before proceeding, please check that no definition file has extra fields. If it has, remove it, or the validation will fail.
- Create a new .zip archive and upload it to the IXP.
- The upload process will check the definition for errors.
You have successfully upgraded the definition version.