Skip to content
This repository was archived by the owner on Jul 17, 2018. It is now read-only.

Manifest.xml documentation

simonharrer edited this page May 28, 2011 · 17 revisions

The Manifest.xml - A complete documentation

The manifest.xml is the metadata description file of every extension. This file can either be named manifest.xml or having the same name as the extension it describes. However, the name manifest.xml is preferred.

The manifest.xml is mainly the same for each type of extension, however, some minor differences exist.

The manifest.xml for modules

<extension type="module" version="1.6.0" client="site" method="upgrade">
     <!-- more -->
</extension>
  • type*: The type is always module for modules
  • version*: The version has to be a number greater than or equal to 1.6.0 for Joomla 1.6
  • client*: site describes that the module is for the frontend/site, admin states that the module is for the backend/admin
  • method*: install states that the installation is aborted if the extension is already installed. upgrade will overwrite existing files. upgrade also works for the first installation and will probably be the preferred way of an installation.
<name>mensaplan_today</name>
<author>Simon Harrer</author>
<creationDate>Mai 2008</creationDate>
<copyright>(C) 2007 Feki.de e.V.</copyright>
<license>http://www.gnu.org/copyleft/gpl.html</license>
<version>0.9</version>
<authorEmail>simon.harrer@feki.de</authorEmail>
<authorUrl>www.feki.de</authorUrl>
<description>Gibt die Essen des heutigen, nächsten oder übernachsten Tag an</description>
  • name*: the name of the module under which it will be published and presented
  • author: the name of the author
  • creationDate: the date of the creation (can be an arbitrary string)
  • copyright:

Required attributes and elements are marked with the asterisk (*). The code elements are wrapped as code

Media files (assets like images, etc.)

This directive states that all specified files and folders within media[@folder] are copied to the newly created folder images/media[@destination] within the joomla installation.

  • media[@destination] is typically the name of the extension
  • media[@folder] is typically the media folder within the extension development folder. The media folder typically contains an images folder for the images and other folders for other resources (binary files like pdf, etc.).
<media destination="NAME" folder="media">
	<filename>index.html</filename>
	<folder>images</folder>
</media>

SQL

SQL statements can be executed automatically during install, uninstall or update. However, the syntax between the update and the installation differs while the semantic is the same.

  • schemas
<install>
	<sql>
		<file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
	</sql>
</install>
<uninstall>
	<sql>
		<file driver="mysql" charset="utf8">sql/uninstall.mysql.utf8.sql</file>
	</sql>
</uninstall>
<update>
	<schemas>
		<schemapath type="mysql">sql/updates/mysql</schemapath>
	</schemas>
</update>

Scriptfile

The scriptfile refers to a specific file which is called during install, uninstall or upgrade. The scriptfile does not have to be included in other parts of the manifest.xml. The structure of a scriptfile is given on scriptfile.

<scriptfile>script.php</scriptfile>

File and folder specifications

Files are folders can be specified by using either filename or the folder element. For some extensions, these elements do also have attributes containing additional metadata.

Update Server Definitions

The update server definition should happen at the end of the manifest.xml.

<updateservers>
	<!-- Note: No spaces or linebreaks allowed between the server tags -->
	<server type="extension" priority="1" name="HelloWorld Update Site">http://yourdomain.com/update/helloworld-update.xml</server>
</updateservers>
  • server@type:
  • server@priority:
  • server@name: the name of the update site
  • server: contains an URL to the update site. This document has also a special formation. See update.xml for more information about this xml file.
Clone this wiki locally