Package-info.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. package-info.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
 * $sourcedir: The directory where the source files are contained (ie Post.php, Admin.php, etc)
 * $boarddir: The directory where index.php is found. Usually one level beneath the source files are contained.
 * $avatardir: The directory where the avatars may be found
 * $themedir: The directory where the directories of the themes are located
 * $imagesdir: The directory of the images for each theme
 * $languagedir: The location of the directories of language files
 * $smileysdir: The location of the smiley directory

                              <ul class="bbc_list"> <ul class="bbc_list"> <ul class="bbc_list"> <ul class="bbc_list">
 * &lt;package-info&gt;&lt;/package-info&gt;
 * Must encompass all other elements in the file.
 * Attributes:<ul class="bbc_list">
 * xmlns: defaults to ; optional</ul></ul>
 * &lt;id&gt;&lt;/id&gt;
 * Contains the id of the package. Should be in the format of [username]:[package name]. For instance sleepy:LeetMod When submitting a mod to the mod site, the username should be your username from www.simplemachines.org</ul>
 * &lt;name&gt;&lt;/name&gt;
 * Contains the name of the package.</ul>
 * &lt;type&gt;&lt;/type&gt;
 * The type of package - "avatar", "language", or "modification".</ul>
 * &lt;version&gt;&lt;/version&gt;
 * The package's current version.</ul>
 * &lt;install&gt;&lt;/install&gt;, &lt;upgrade&gt;&lt;/upgrade&gt;, and &lt;uninstall&gt;&lt;/uninstall&gt;
 * Actions taken on installation. The elements and their attributes are the same for the install, upgrade, and uninstall elements.
 * Attributes:
 * for: What versions to install/upgrade/uninstall for. Comma delimited string with ranges such as "1.0-1.5,2.0"; optional
 * from: Upgrade Only; What mod versions they are upgrading from. Comma delimited string with ranges such as "1.0-1.5,2.0"; optional</ul>
 * Elements:
 * &lt;readme&gt;&lt;/readme&gt; or &lt;readme /&gt; (for use with type="file" only)
 * Filename of the readme file
 * Optional: Yes
 * Attributes:
 * lang: which language this readme applies to; optional
 * parsebbc: whether or not to parse bbcode in the readme; optional; defaults to false
 * type: "inline" or "file"; defaults to "file"; optional</ul></ul>
 * &lt;code&gt;&lt;/code&gt; or &lt;code /&gt; (for use with type="file" only)
 * Filename of a php file to be executed.
 * Deprecated use in SMF 2.0, please use &lt;database&gt; in SMF 2.0 or higher
 * Optional: Yes
 * Attributes:
 * type: "inline" or "file"; defaults to "file"; optional</ul></ul>
 * &lt;database&gt;&lt;/database&gt; or &lt;database /&gt; (for use with type="file" only)
 * Filename of a database code to be executed.
 * Only exists in SMF 2.0 or higher
 * Optional: Yes
 * Attributes:
 * type: "inline" or "file"; defaults to "file"; optional</ul></ul>
 * &lt;modification&gt;&lt;/modification&gt; or &lt;modification /&gt; (for use with type="file" only)
 * Instructions to take for a modification.
 * Optional: Yes
 * Attributes:
 * type: if "inline", you may use the &lt;file&gt;, &lt;operation&gt;, &lt;search&gt;, and &lt;add&gt; elements listed in the modification.xml documentation."inline" or "file"; defaults to "file"; optional
 * reverse: reverse the instructions; "true" or "false"; defaults to "false"; optional
 * format: this documentation only covers xml formatted modifications and it is recommended that you use this format; "xml" or "boardmod"; defaults to "xml"; optional</ul></ul>
 * &lt;create-dir /&gt;
 * Create a new directory.
 * Optional: Yes
 * Attributes:
 * name: the name of the directory
 * destination: the path of the directory where you want to create this new directory</ul></ul>
 * &lt;create-file /&gt;
 * Create a blank file.
 * Optional: Yes
 * Attributes:
 * name: the name of the file
 * destination: the path of the directory where you want to create this new file</ul></ul>
 * &lt;require-dir /&gt;
 * Require a directory and all files in it from inside the package.
 * Optional: Yes
 * Attributes:
 * from: the path to the directory
 * name: the name of the directory
 * destination: the path of where you want to put this directory</ul></ul>
 * &lt;require-file /&gt;
 * Require a file from inside the package.
 * Optional: Yes
 * Attributes:
 * from: the path to the file
 * name: the name of the file
 * destination: the path of where you want to put this file</ul></ul>
 * &lt;move-dir /&gt;
 * Move an entire directory. May also be used to rename a directory by moving it to it's parent directory with a different name.
 * Optional: Yes
 * Attributes:
 * from: the path of the directory you want to move
 * name: the name of the directory
 * destination: the path to where you want to put the directory</ul></ul>
 * &lt;move-file /&gt;
 * Move a file. May also be used to rename a file by moving it to it's parent directory with a different name.
 * Optional: Yes
 * Attributes:
 * from: the path of the file you want to move
 * name: the name of the file
 * destination: the path to where you want to put the file</ul></ul>
 * &lt;remove-dir /&gt;
 * Remove a directory and all files in it.
 * Optional: Yes
 * Attributes:
 * name: the name and path of the directory to be removed</ul></ul>
 * &lt;remove-file /&gt;
 * Remove a file.
 * Optional: Yes
 * Attributes:
 * name: the name and path of the file to be removed</ul></ul>
 * &lt;redirect&gt;&lt;/redirect&gt; or &lt;redirect /&gt;
 * Redirect after install/upgrade/uninstall.
 * Optional: Yes
 * Attributes:
 * url: the url to redirect to; Required. "$boardurl", "$scripturl", and "$session_id" are accepted.
 * type: inline or file. Whether to use a file or inline text for redirect text.
 * timeout: Time until the redirect occurs. Default: 5 seconds