Module.xml 15.0 and later
Breaking changes and deprecation
Modules can declare potentially breaking installs and deprecation. Optional fields provide a default value where needed. You can add multiple conflicts wrapped in a module section.
Field | Description | Optional | Types |
---|---|---|---|
rawname | The rawname of the item that conflicts, such as 'blacklist' |
| deprecated, conflict |
version | If operator is not defined then test is greater than or equal to. | X | deprecated, conflict |
type | Either deprecation or conflict. |
| deprecated, conflict |
replace | The name of a replacement module if one exists. | X | deprecated |
errormessage | A custom error message that replaces the default general error. A place holder RAW_NAME is replaced with the conflicting rawname | X | deprecated, conflict |
replaceerrormessage | A custom error message for a deprecated module with a replacement available. A place holder RAW_NAME is replaced with the replacement rawname an of the old module REPLACE_NAME as a placeholder for the Replacement rawname | X | deprecated |
versionerrormessage | A custom error message for a module affected at a specific version. A place holder RAW_NAME is replaced with the replacement rawname | X | conflict |
The following declares barmodule deprecated at 15.0.1.
Example of deprecation
<breaking>
<module>
<rawname>barmodule</rawname>
<version>15.0.1</version>
<type>deprecated</type>
<replace>bazmodule</replace>
<errormessage>The module RAW_NAME no longer does the thing.</errormessage>
<replaceerrormessage>The module RAW_NAME has been replaced by REPLACE_NAME</replaceerrormessage>
</module>
</breaking> |
The following shows module conflicts that may break the system
Example of breaking changes
<breaking>
<module>
<rawname>foomodule</rawname>
<version>ge 15.0.1</version>
<type>conflict</type>
<errormessage>The module RAW_NAME performs a conflicting function and should not be installed with this module</errormessage>
<versionerrormessage>The module RAW_NAME at 15.0.1 may break functionality of foomodule and should not be installed with this module</versionerrormessage>
</module>
</breaking> |