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

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>

Return to Documentation Home I Return to Sangoma Support