Before reading on, you should know some definitions used in this documentation:
- element aka tag: an instruction used to tell the package manager what to do. ie <install></install>
- attribute aka property: an additional value used to describe an element
- inline: code or text that is written in this file instead of coming from an outside source
- file: the name or location of a file to be used instead of "inline"
- location aka path: the location on the computer of a directory and/or file
- ignore: used to ignore an error
- skip: skip this operation/file
- fatal: stop the entire modification and return an error
There are also variables that may be used in place of a path. Italics denotes the commonly used path so you get an understanding of what the variable references.
- $boarddir: The directory where index.php is found. Usually one level beneath the source files are contained.
- $sourcedir: The directory where the source files are contained (ie Post.php, Admin.php, etc) /Sources
- $avatardir: The directory where the avatars may be found /Avatars
- $themedir: The directory of the default theme
- $themes_dir: The directory containing the default, and other themes
- $imagesdir: The images directory of the default theme
- $languagedir: The location of the directories of language files
- $smileysdir: The location of the smiley directory
modification.xml All elements, unless otherwise stated, are not optional and contain no attributes.
- <modification></modification>
- Must encompass all other elements in the file.
- Attributes:
- xmlns: defaults to "http://www.simplemachines.org/xml/modification"; optional
- <id></id>
- Contains the id of the package. Should be in the format of [username]:[package name]. For instance groundup:bestmod When submitting a mod to the mod site, the username should be your username from www.simplemachines.org
- <version></version>
- The package's current version.
- <file></file>
- The file to modify. Including all of the operations to take on this file.
- Attributes:
- name: the name of the file and path
- error: what to do when this file cannot be modified; "ignore" "fatal" or "skip"; use "ignore" to create a new file; optional; default to "fatal"
- Elements:
- <operation></operation>
- An operation to be perfomed on this file
- Attributes:
- error: what to do if this operation can not be performed; "ignore" "fatal" or "required"; use "required" if this operation must fail; defaults to "fatal"; optional
- Elements:
- <search></search> or <search /> (for use with position="end" only)
- The code to search for
- Attributes:
- position: the position of where the search code should exist after changes: "before" (to put the code before your addition), "after" (to put the code after your addition), or "replace"; required
- whitespace: Whether to ignore whitespace or not: "exact" (default) or "loose"; optional; default: exact
- regexp: If the search is a regular expression or not. "true" or "false"; optional; default: false
- <add></add>
- The code to add