Modification.xml

Before reading on, you should know some definitions used in this documentation: 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. modification.xml All elements, unless otherwise stated, are not optional and contain no attributes.
 * element aka tag: an instruction used to tell the package manager what to do. ie &lt;install&gt;&lt;/install&gt;
 * 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
 * $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

           
 * &lt;modification&gt;&lt;/modification&gt;
 * Must encompass all other elements in the file.
 * Attributes:
 * xmlns: defaults to "http://www.simplemachines.org/xml/modification"; optional
 * &lt;id&gt;&lt;/id&gt;
 * 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
 * &lt;version&gt;&lt;/version&gt;
 * The package's current version.</ul>
 * &lt;file&gt;&lt;/file&gt;
 * 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"</ul>
 * Elements:
 * &lt;operation&gt;&lt;/operation&gt;
 * 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:
 * &lt;search&gt;&lt;/search&gt; or &lt;search /&gt; (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</ul></ul>
 * &lt;add&gt;&lt;/add&gt;
 * The code to add</ul></ul></ul></ul></ul></ul>