A package is a extension that is used to install multiple extensions in one go. This is used if you have for example a component and a module that are depending on each other. Combining them in a package will let the user install and uninstall both extensions in one go. Package extensions can be used with Joomla and higher.
A package extension is created by zipping all zip files of the extensions together with a xml manifest file. If you have a helloworld component and module you make the following tree in your zipfile:
-- pkg_helloworld.xml -- packages <dir> |-- com_helloworld.zip |-- mod_helloworld.zip
The pkg_helloworld.xml could have the following contents:
<?xml version="1.0" encoding="UTF-8" ?> <extension type="package" version="1.6"> <name>Hello World Package</name> <packagename>helloworld</packagename> <version>1.0.0</version> <url>http://www.yoururl.com/</url> <packager>Hello World Package Team</packager> <packagerurl>http://www.yoururl.com/</packagerurl> <description>Example package to combine multiple extensions</description> <update>http://www.updateurl.com/update</update> <files folder="packages"> <file type="component" id="com_helloworld" >com_helloworld.zip</file> <file type="module" id="mod_helloworld" client="site">mod_helloworld.zip</file> </files> </extension>
When you zip this and try to install it, you will see that every extension will be installed. Also the package will be visible in the extension list to uninstall all the extension of this package.