<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mbaas</id>
	<title>Joomla! Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mbaas"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Mbaas"/>
	<updated>2026-05-16T05:51:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Talk:How_to_determine_if_the_user_is_viewing_the_front_page&amp;diff=100285</id>
		<title>Talk:How to determine if the user is viewing the front page</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Talk:How_to_determine_if_the_user_is_viewing_the_front_page&amp;diff=100285"/>
		<updated>2013-06-14T13:49:34Z</updated>

		<summary type="html">&lt;p&gt;Mbaas: /* Strictly speaking: not correct! */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;would then function as in the case of a 404 SEF to show that a module appears as a 404?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Joomla! 1.5 example fails===&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.5 example fails unless the Itemid is added explicitly to URL.&lt;br /&gt;
[[User:Iv660|Iv660]] 19:29, 12 August 2011 (CDT)&lt;br /&gt;
&lt;br /&gt;
== Strictly speaking: not correct! ==&lt;br /&gt;
&lt;br /&gt;
The code is not correct, as it would also return TRUE when viewing a single article from the frontpage individually which (at least IMHO) is not &#039;&#039;&#039;the&#039;&#039;&#039; frontpage.&lt;/div&gt;</summary>
		<author><name>Mbaas</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Portal:Plugin_Development/Reading_list&amp;diff=99743</id>
		<title>Portal:Plugin Development/Reading list</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Portal:Plugin_Development/Reading_list&amp;diff=99743"/>
		<updated>2013-05-29T08:26:06Z</updated>

		<summary type="html">&lt;p&gt;Mbaas: added J1.5-marker to &amp;quot;Supporting plugins in your compnent&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Plugin Developer Overview]]&lt;br /&gt;
* [[Creating a Plugin for Joomla/1.5|Creating a Plugin for Joomla 1.5]] {{JVer|1.5}}&lt;br /&gt;
* [[Creating a content plugin]]&lt;br /&gt;
* [[Creating a search plugin]]&lt;br /&gt;
* [[Creating a Smart Search plug-in]] {{JVer|2.5}}&lt;br /&gt;
* [[Creating an Authentication Plugin for Joomla 1.5]] {{JVer|1.5}}&lt;br /&gt;
* [[Supporting plugins in your component]] {{JVer|1.5}}&lt;br /&gt;
* [[Triggering content plugins in your extension]]&lt;br /&gt;
* [[Creating a System Plugin to augment JRouter]] {{JVer|2.5}}&amp;lt;noinclude&amp;gt;[[Category:Landing subpages|{{PAGENAME}}]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mbaas</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Talk:Manifest_files&amp;diff=81006</id>
		<title>Talk:Manifest files</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Talk:Manifest_files&amp;diff=81006"/>
		<updated>2013-02-11T08:02:20Z</updated>

		<summary type="html">&lt;p&gt;Mbaas: Removed my request for more info after having added the required link on the content-page :)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mbaas</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Manifest_files&amp;diff=81005</id>
		<title>Manifest files</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Manifest_files&amp;diff=81005"/>
		<updated>2013-02-11T08:01:04Z</updated>

		<summary type="html">&lt;p&gt;Mbaas: Added link for more info on &amp;lt;updateservers&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
==Introduction==&lt;br /&gt;
Within Joomla there are manifest files for all of the extensions. These files include the general installation information as well as parameters for the configuration of the [[extension]] itself. Since Joomla! 1.6 {{JVer|1.6}}, there are very few differences between the manifest file formats for the different [[Extension types (technical definitions)|types of extensions]], allowing each type to access the full power of the Joomla! installer.&lt;br /&gt;
&lt;br /&gt;
==Naming conventions==&lt;br /&gt;
The file must be named &amp;lt;tt&amp;gt;manifest.xml&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;&amp;lt;extension_name&amp;gt;.xml&amp;lt;/tt&amp;gt; and located in the root directory of the installation package.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&lt;br /&gt;
=== Root element ===&lt;br /&gt;
The primary tag of the installation file is: &lt;br /&gt;
&amp;lt;source lang=xml&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/extension&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This starting and closing tags are now valid for all extensions. The new tag &amp;lt;code&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/code&amp;gt; replaces the old &amp;lt;code&amp;gt;&amp;lt;install&amp;gt;&amp;lt;/install&amp;gt;&amp;lt;/code&amp;gt; from Joomla {{JVer|1.5}}. The following attributes are allowed within the tag:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 150px&amp;quot; | Attribute || style=&amp;quot;width: 150px&amp;quot; | Values || Applicable&amp;amp;nbsp;to || Description&lt;br /&gt;
|-&lt;br /&gt;
| type || &amp;lt;code&amp;gt;component&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;file&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;language&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;library&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;module&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;package&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;plugin&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;template&amp;lt;/code&amp;gt; || All extensions&lt;br /&gt;
| This attribute describes the type of the extension for the installer. Based on this type further requirements to sub-tags apply.&lt;br /&gt;
|-&lt;br /&gt;
| version&lt;br /&gt;
| &amp;lt;code&amp;gt;2.5&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;3.0&amp;lt;/code&amp;gt; || All extensions&lt;br /&gt;
| String that identifies the version of Joomla for which this extension is developed.&lt;br /&gt;
|-&lt;br /&gt;
| method&lt;br /&gt;
| &amp;lt;code&amp;gt;install&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;upgrade&amp;lt;/code&amp;gt; || All extensions&lt;br /&gt;
| The default value &amp;lt;code&amp;gt;install&amp;lt;/code&amp;gt; will be also used if the method attribute is not used. The &amp;lt;code&amp;gt;install&amp;lt;/code&amp;gt; value means the installer will gracefully stop if it finds any existing file/folder of the new extension.&lt;br /&gt;
|-&lt;br /&gt;
| client&lt;br /&gt;
| &amp;lt;code&amp;gt;site&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;administrator&amp;lt;/code&amp;gt; || Modules&lt;br /&gt;
| The client attribute allows you to specify for which application client the new module is available.&lt;br /&gt;
|-&lt;br /&gt;
| group&lt;br /&gt;
| &#039;&#039;string&#039;&#039; || Plugins&lt;br /&gt;
| The group name specifies for which group of plugins the new plugin is available. The existing groups are the folder names within the directory &amp;lt;tt&amp;gt;/plugins&amp;lt;/tt&amp;gt;. The installer will create new folder names for group names that do not exist yet.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Metadata ===&lt;br /&gt;
&lt;br /&gt;
The following elements can be used to insert metadata. None of these elements are required; if they are present, they must be a child of the root element.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt; &amp;amp;ndash; raw component name (e.g. com_banners)&lt;br /&gt;
&amp;lt;author&amp;gt; &amp;amp;ndash; author&#039;s name (e.g. Joomla! Project)&lt;br /&gt;
&amp;lt;creationDate&amp;gt; &amp;amp;ndash; date of creation or release (e.g. April 2006)&lt;br /&gt;
&amp;lt;copyright&amp;gt; &amp;amp;ndash; a copyright statement (e.g. (C) 2005 - 2011 Open Source Matters. All rights reserved.)&lt;br /&gt;
&amp;lt;license&amp;gt; &amp;amp;ndash; a license statement (e.g. NU General Public License version 2 or later; see LICENSE.txt)&lt;br /&gt;
&amp;lt;authorEmail&amp;gt; &amp;amp;ndash; author&#039;s email address (e.g. admin@joomla.org)&lt;br /&gt;
&amp;lt;authorUrl&amp;gt; &amp;amp;ndash; URL to the author&#039;s website (e.g. www.joomla.org)&lt;br /&gt;
&amp;lt;version&amp;gt; &amp;amp;ndash; the version number of the extension (e.g. 1.6.0)&lt;br /&gt;
&amp;lt;description&amp;gt; &amp;amp;ndash; the description of the component. This is a translatable field. (e.g. COM_BANNERS_XML_DESCRIPTION)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Front-end files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;files folder=&amp;quot;from-folder&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;example.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;examples&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Files to copy to the front-end directory should be placed in the &amp;lt;code&amp;gt;&amp;lt;files&amp;gt;&amp;lt;/code&amp;gt; element. You can use the optional &amp;lt;code&amp;gt;folder&amp;lt;/code&amp;gt; attribute to specify a directory &#039;&#039;&#039;in the ZIP package&#039;&#039;&#039; to copy &#039;&#039;&#039;from&#039;&#039;&#039;. Each file to copy must be represented by a &amp;lt;code&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/code&amp;gt; element. If you want to copy an entire folder at once, you can define it as a &amp;lt;code&amp;gt;&amp;lt;folder&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Media files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;gt;&lt;br /&gt;
	&amp;lt;media folder=&amp;quot;media&amp;quot; destination=&amp;quot;com_example&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;com_example_logo.png&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;css&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;js&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will copy the file(s) (&amp;lt;tt&amp;gt;/media/com_example_logo.png&amp;lt;/tt&amp;gt;) and folders ( &amp;lt;tt&amp;gt;/media/css/&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/media/js/&amp;lt;/tt&amp;gt; ) listed to &amp;lt;tt&amp;gt;/media/com_example/&amp;lt;/tt&amp;gt;, creating the &amp;lt;tt&amp;gt;com_example&amp;lt;/tt&amp;gt; folder if required. You can use the optional &amp;lt;code&amp;gt;folder&amp;lt;/code&amp;gt; attribute to specify a directory &#039;&#039;&#039;in the ZIP package&#039;&#039;&#039; to copy &#039;&#039;&#039;from&#039;&#039;&#039; (in this case, &amp;lt;tt&amp;gt;media&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Extensions should be storing assets they need to be web accessible (JS, CSS, images etc) in &amp;lt;code&amp;gt;media&amp;lt;/code&amp;gt;. Amongst other things this feature was added as step in the progression to multi-site support and the eventual move of code files (PHP) out of the web accessible areas of the server.&lt;br /&gt;
&lt;br /&gt;
Ref:&lt;br /&gt;
* [https://groups.google.com/forum/#!msg/joomla-dev-cms/4CAASJqFY-k/PvPj14gP29EJ Google Groups - joomla-dev-cms thread]&lt;br /&gt;
* [https://groups.google.com/forum/#!msg/joomla-dev-cms/uNmhX98sKbE/p8p68Jke680J Google Groups - joomla-dev-cms thread]&lt;br /&gt;
&lt;br /&gt;
=== Administration section ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;administration&amp;gt;&lt;br /&gt;
		&amp;lt;!-- various elements --&amp;gt;&lt;br /&gt;
	&amp;lt;/administration&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The administration section is defined in the &amp;lt;code&amp;gt;&amp;lt;administration&amp;gt;&amp;lt;/code&amp;gt; element. Since only [[Component|components]] apply to both the [[Site (Application)|site]] and the [[Administrator (Application)|administrator]], &#039;&#039;&#039;only component manifests can include this element&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Back-end files ====&lt;br /&gt;
&lt;br /&gt;
Files to copy to the back-end directory should be placed in the &amp;lt;code&amp;gt;&amp;lt;files&amp;gt;&amp;lt;/code&amp;gt; element under the &amp;lt;code&amp;gt;&amp;lt;administration&amp;gt;&amp;lt;/code&amp;gt;. You can use the optional &amp;lt;code&amp;gt;folder&amp;lt;/code&amp;gt; attribute to specify a directory &#039;&#039;&#039;in the ZIP package&#039;&#039;&#039; to copy &#039;&#039;&#039;from&#039;&#039;&#039;. See &#039;&#039;Front-end files&#039;&#039; for further rules.&lt;br /&gt;
&lt;br /&gt;
==== Menu links and submenus ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;menu&amp;gt;COM_EXAMPLE&amp;lt;/menu&amp;gt;&lt;br /&gt;
	&amp;lt;submenu&amp;gt;&lt;br /&gt;
		&amp;lt;menu link=&amp;quot;anoption=avalue&amp;quot;&amp;gt;COM_EXAMPLE_SUBMENU_ANOPTION&amp;lt;/menu&amp;gt;&lt;br /&gt;
		&amp;lt;menu view=&amp;quot;viewname&amp;quot;&amp;gt;COM_EXAMPLE_SUBMENU_VIEWNAME&amp;lt;/menu&amp;gt;&lt;br /&gt;
	&amp;lt;/submenu&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The text for the main menu item for the component is defined in the &amp;lt;code&amp;gt;&amp;lt;menu&amp;gt;&amp;lt;/code&amp;gt; item, a child of &amp;lt;code&amp;gt;&amp;lt;administration&amp;gt;&amp;lt;/code&amp;gt;. A &amp;lt;code&amp;gt;&amp;lt;submenu&amp;gt;&amp;lt;/code&amp;gt; element may also be present (also a child of &amp;lt;code&amp;gt;&amp;lt;administration&amp;gt;&amp;lt;/code&amp;gt;), which may contain more menu items defined by &amp;lt;code&amp;gt;&amp;lt;menu&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Additionally, each &amp;lt;code&amp;gt;&amp;lt;menu&amp;gt;&amp;lt;/code&amp;gt; item can define the following attributes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px&amp;quot; | Attribute || Description&lt;br /&gt;
|-&lt;br /&gt;
| link || A link to send the user to when the menu item is clicked&lt;br /&gt;
|-&lt;br /&gt;
| img || The (relative) path to an image (16x16 pixels) to appear beside the menu item. &lt;br /&gt;
&amp;lt;u&amp;gt;Must be an url compatible as a file too (e.g. no spaces) !&amp;lt;/u&amp;gt;&lt;br /&gt;
| alt ||&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;string&#039;&#039; || An URL parameter to add to the link.  For example, &amp;lt;code&amp;gt;&amp;lt;menu view=&amp;quot;cpanel&amp;quot;&amp;gt;COM_EXAMPLE&amp;lt;/menu&amp;gt;&amp;lt;/code&amp;gt; in com_example&#039;s XML manifest would cause the URL of the menu item to be &amp;lt;tt&amp;gt;index.php?option=com_example&amp;amp;view=cpanel&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The value inside the tag is the menu&#039;s label. Unlike Joomla! 1.5, you can not use a natural language string. For example, if you would enter &amp;quot;Example Component&amp;quot; instead of COM_EXAMPLE, it would result in your component name appearing as example-component in the menu and you would be unable to provide a translation. In order to provide a translation you need to create a file named en-GB.com_example.sys.ini in administrator/languages/en-GB (you can use the manifest&#039;s &amp;lt;code&amp;gt;&amp;lt;languages&amp;gt;&amp;lt;/code&amp;gt; tag to copy it during installation) or in administrator/components/com_example/language/en-GB. In the latter case, you must not include the translation file in the &amp;lt;code&amp;gt;&amp;lt;languages&amp;gt;&amp;lt;/code&amp;gt; tag. As long as you have placed the language directory in your &amp;lt;code&amp;gt;&amp;lt;files&amp;gt;&amp;lt;/code&amp;gt; tag, it will be copied along when the component is being installed.&lt;br /&gt;
&lt;br /&gt;
The contents of that file should be:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
COM_EXAMPLE=&amp;quot;Example Component&amp;quot;&lt;br /&gt;
COM_EXAMPLE_SUBMENU_ANOPTION=&amp;quot;Another Option&amp;quot;&lt;br /&gt;
COM_EXAMPLE_SUBMENU_VIEWNAME=&amp;quot;Another View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the language string must be enclosed in double quotes, as per Joomla!&#039;s translation standards. Important note: Joomla! 1.6 and later sorts the Component menu items based on the actual translation of the key you supply in your XML manifest. This means that the sorting order is correct no matter what you call your translation key and no matter which language the site is being displayed in. Essentially, Joomla! 1.6 fixed the wrong sorting of the Components menu for the majority (non-English speaking!) of Joomla! users experienced under Joomla! 1.5.&lt;br /&gt;
&lt;br /&gt;
{{Needsinfo|In Platform 11.1 no alt attribute processed and if link provide in menu tag other provided attributes were ignore. The other tags are task, view, controller, act, layout, sub. Please confirm this, please.}}&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
{{warning|Components &#039;&#039;&#039;do not support&#039;&#039;&#039; configuration definitions &#039;&#039;&#039;in the manifest&#039;&#039;&#039;. This is a way implemented in Joomla! 1.5. They can define configuration options for multiple levels using [[Component configuration metadata]].}}&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;config&amp;gt;&amp;lt;/code&amp;gt; element, a child of the root, describes the configuration options for the extension. If applicable, the options will be shown by the appropriate Manager (Plugin Manager, Module Manager or Template Manager). &#039;&#039;&#039;Configuration options can also be defined in a separate file named &amp;lt;code&amp;gt;config.xml&amp;lt;/code&amp;gt;. Its root element should be &amp;lt;code&amp;gt;&amp;lt;config&amp;gt;&amp;lt;/code&amp;gt;.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{:XML JForm form definitions}}&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;install folder=&amp;quot;admin&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;sql&amp;gt;&lt;br /&gt;
            &amp;lt;file driver=&amp;quot;mysql&amp;quot; charset=&amp;quot;utf8&amp;quot;&amp;gt;sql/example.install.sql&amp;lt;/file&amp;gt;&lt;br /&gt;
        &amp;lt;/sql&amp;gt;&lt;br /&gt;
    &amp;lt;/install&amp;gt;&lt;br /&gt;
    &amp;lt;uninstall folder=&amp;quot;admin&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;sql&amp;gt;&lt;br /&gt;
            &amp;lt;file driver=&amp;quot;mysql&amp;quot; charset=&amp;quot;utf8&amp;quot;&amp;gt;sql/example.uninstall.sql&amp;lt;/file&amp;gt;&lt;br /&gt;
        &amp;lt;/sql&amp;gt;&lt;br /&gt;
    &amp;lt;/uninstall&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In above example, we put sql files in &amp;quot;admin/sql&amp;quot; folder of installation package. You have to include &amp;quot;sql&amp;quot; folder in administration files.&lt;br /&gt;
&lt;br /&gt;
You can execute SQL during installation and/or uninstallation using the &amp;lt;code&amp;gt;&amp;lt;install&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;uninstall&amp;gt;&amp;lt;/code&amp;gt; elements, respectively. An &amp;lt;code&amp;gt;&amp;lt;sql&amp;gt;&amp;lt;/code&amp;gt; element should appear as a child of these elements. &amp;lt;code&amp;gt;&amp;lt;sql&amp;gt;&amp;lt;/code&amp;gt; can contain any number of &amp;lt;code&amp;gt;&amp;lt;file&amp;gt;&amp;lt;/code&amp;gt; elements, each defining a single SQL file to execute. Their database driver types are described by the &amp;lt;code&amp;gt;driver&amp;lt;/code&amp;gt; attribute, their character sets by the &amp;lt;code&amp;gt;charset&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
==== Update of the SQL schema ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;update&amp;gt;&lt;br /&gt;
		&amp;lt;schemas&amp;gt;&lt;br /&gt;
			&amp;lt;schemapath type=&amp;quot;mysql&amp;quot;&amp;gt;sql/updates/mysql&amp;lt;/schemapath&amp;gt;&lt;br /&gt;
			&amp;lt;schemapath type=&amp;quot;sqlsrv&amp;quot;&amp;gt;sql/updates/sqlsrv&amp;lt;/schemapath&amp;gt;&lt;br /&gt;
		&amp;lt;/schemas&amp;gt;&lt;br /&gt;
	&amp;lt;/update&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since 1.6, there is also an &amp;lt;code&amp;gt;&amp;lt;update&amp;gt;&amp;lt;/code&amp;gt; tag, which allows to provide a series of SQL files to update the current schema.&lt;br /&gt;
&lt;br /&gt;
=== Language files ===&lt;br /&gt;
In Joomla! 1.5, we put extension language files in Joomla! main language file, using &amp;lt;languages&amp;gt;..&amp;lt;/languages&amp;gt; tag as shown below. &#039;&#039;&#039;This tag considered to be deprecated since Joomla! 1.6.&#039;&#039;&#039; We encourage you to put extension &#039;s language files in extension folder and Joomla! is responsible for loading of required language files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Joomla! 1.5 language tag, deprecated since Joomla! 1.6 --&amp;gt;&lt;br /&gt;
&amp;lt;languages folder=&amp;quot;langfiles&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;language tag=&amp;quot;en-GB&amp;quot;&amp;gt;en-GB.com_example.ini&amp;lt;/language&amp;gt;&lt;br /&gt;
&amp;lt;/languages&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Storing extension language files in extension folder, you gain benefit when removing some language from Joomla! installation. As your language files were not removed, when reinstall the language again you can use that files without install them again.&lt;br /&gt;
&lt;br /&gt;
The structure of language folder for frontend and backend is the same. You put them in &amp;lt;language&amp;gt; tag of your folder e.g. language/en-GB/. You have to specify these folders in front-end and back-end files too.&lt;br /&gt;
&lt;br /&gt;
During development you can turn on language debuggin in Joomla! global configuration. So you can investigate if the problems exists.&lt;br /&gt;
&lt;br /&gt;
=== Script file ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;scriptfile&amp;gt;example.script.php&amp;lt;/scriptfile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An optional &#039;&#039;&#039;script file&#039;&#039;&#039; (PHP code that is run before, during and/or after installation, uninstallation and upgrading) can be defined using a &amp;lt;code&amp;gt;&amp;lt;scriptfile&amp;gt;&amp;lt;/code&amp;gt; element. This file should contain a class named &amp;quot;&amp;lt;element_name&amp;gt;IntallerScript&amp;quot; where &amp;lt;element_name&amp;gt; is the name of your extension (e.g. com_componentname, mod_modulename, etc.). Plugins requires to state the group (e.g. plgsystempluginname). The structure of the class is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class com_componentnameInstallerScript&lt;br /&gt;
{&lt;br /&gt;
	/**&lt;br /&gt;
	 * Constructor&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param   JAdapterInstance  $adapter  The object responsible for running this script&lt;br /&gt;
	 */&lt;br /&gt;
	public function __constructor(JAdapterInstance $adapter);&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Called before any type of action&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param   string  $route  Which action is happening (install|uninstall|discover_install)&lt;br /&gt;
	 * @param   JAdapterInstance  $adapter  The object responsible for running this script&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return  boolean  True on success&lt;br /&gt;
	 */&lt;br /&gt;
	public function preflight($route, JAdapterInstance $adapter);&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Called after any type of action&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param   string  $route  Which action is happening (install|uninstall|discover_install)&lt;br /&gt;
	 * @param   JAdapterInstance  $adapter  The object responsible for running this script&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return  boolean  True on success&lt;br /&gt;
	 */&lt;br /&gt;
	public function postflight($route, JAdapterInstance $adapter);&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Called on installation&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param   JAdapterInstance  $adapter  The object responsible for running this script&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return  boolean  True on success&lt;br /&gt;
	 */&lt;br /&gt;
	public function install(JAdapterInstance $adapter);&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Called on update&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param   JAdapterInstance  $adapter  The object responsible for running this script&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return  boolean  True on success&lt;br /&gt;
	 */&lt;br /&gt;
	public function update(JAdapterInstance $adapter);&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Called on uninstallation&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param   JAdapterInstance  $adapter  The object responsible for running this script&lt;br /&gt;
	 */&lt;br /&gt;
	public function uninstall(JAdapterInstance $adapter);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update servers ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;extension&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Extension Update Site&amp;quot;&amp;gt;http://example.com/extension.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;2&amp;quot; name=&amp;quot;Collection Update Site&amp;quot;&amp;gt;http://example.com/collection.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Update servers can be defined in the &amp;lt;code&amp;gt;&amp;lt;updateservers&amp;gt;&amp;lt;/code&amp;gt; element, a child of the root. This element may contain one or more &amp;lt;code&amp;gt;&amp;lt;server&amp;gt;&amp;lt;/code&amp;gt; element, each describing a location to fetch updates from. Each &amp;lt;code&amp;gt;&amp;lt;server&amp;gt;&amp;lt;/code&amp;gt; item can define the following attributes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px&amp;quot; | Attribute || style=&amp;quot;width: 150px&amp;quot; | Values || Description&lt;br /&gt;
|-&lt;br /&gt;
| type || &amp;lt;code&amp;gt;extension&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;collection&amp;lt;/code&amp;gt; || The update server type&lt;br /&gt;
|-&lt;br /&gt;
| priority || &#039;&#039;integer&#039;&#039; || The priority of the update server&lt;br /&gt;
|-&lt;br /&gt;
| name || &#039;&#039;string&#039;&#039; || The name of the update server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
More info: [http://docs.joomla.org/Developing_a_Model-View-Controller_Component/2.5/Adding_an_update_server Developing a Model-View-Controller Component/2.5/Adding an update server]&lt;br /&gt;
== Examples ==&lt;br /&gt;
For a real-life example, see [https://github.com/joomla/joomla-cms/blob/2.5.x/administrator/components/com_banners/banners.xml the manifest of the Banner component in the latest version of Joomla! 2.5].&lt;br /&gt;
&lt;br /&gt;
The Joomla testing process uses several extensions to test whether the installer works correctly. The latest versions of the manifests of these extensions are:&lt;br /&gt;
&lt;br /&gt;
* [http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/com_alpha/alpha.xml com_alpha manifest]&lt;br /&gt;
* [http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/mod_alpha/mod_alpha.xml mod_alpha manifest]&lt;br /&gt;
* [http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/plg_system_alpha/alpha.xml plg_system_alpha manifest]&lt;br /&gt;
* [http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/tpl_simple/templateDetails.xml tpl_simple manifest]&lt;br /&gt;
* [http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/lng_xx-XX/xx-XX.xml lng_xx-XX manifest]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
*[[User:akede|Alex Kempkens]]&lt;br /&gt;
*[[User:dperaza|Daniel Peraza]]&lt;br /&gt;
*[[User:nikosdion|Nicholas K. Dionysopoulos]]&lt;br /&gt;
*[[User:mrs.siam|Prasit Gebsaap]]&lt;br /&gt;
*[[User:cppl|Craig Phillips]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Extension development]]&lt;br /&gt;
[[Category:Specifications]]&lt;/div&gt;</summary>
		<author><name>Mbaas</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Talk:Manifest_files&amp;diff=81004</id>
		<title>Talk:Manifest files</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Talk:Manifest_files&amp;diff=81004"/>
		<updated>2013-02-11T07:54:27Z</updated>

		<summary type="html">&lt;p&gt;Mbaas: Created page with &amp;quot;The doc on &amp;lt;UpdateServers&amp;gt; is a bit sparse... i.e.: what info is needed on an updateserver, file-format etc.? Significance of &amp;quot;extension&amp;quot; vs. &amp;quot;collection&amp;quot;?&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The doc on &amp;lt;UpdateServers&amp;gt; is a bit sparse... i.e.: what info is needed on an updateserver, file-format etc.? Significance of &amp;quot;extension&amp;quot; vs. &amp;quot;collection&amp;quot;?&lt;/div&gt;</summary>
		<author><name>Mbaas</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Talk:Plugin&amp;diff=80050</id>
		<title>Talk:Plugin</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Talk:Plugin&amp;diff=80050"/>
		<updated>2013-01-23T09:18:35Z</updated>

		<summary type="html">&lt;p&gt;Mbaas: Whining about onContentAfterDisplay (2.5) not being mentioned&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I wasted a lot of time as I was misled by the list of events,which no longer applies to 2.5 (i.e. &amp;quot;onContentAfterDisplay&amp;quot; vs. &amp;quot;onAfterDisplayContent&amp;quot;). It would be nice if these things were mentioned, especially because the doc appears to be valid, with a few exceptions highlighted...&lt;/div&gt;</summary>
		<author><name>Mbaas</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Extension_Installer/Adapters&amp;diff=79932</id>
		<title>Extension Installer/Adapters</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Extension_Installer/Adapters&amp;diff=79932"/>
		<updated>2013-01-16T11:36:29Z</updated>

		<summary type="html">&lt;p&gt;Mbaas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joomla! comes with default adapters to install various extensions into your Joomla! system.&lt;br /&gt;
&lt;br /&gt;
These adapters include:&lt;br /&gt;
* [[Extension_Installer/Adapters/Component|Components Adapter]]&lt;br /&gt;
* [[Extension_Installer/Adapters/Module|Modules Adapter]]&lt;br /&gt;
* [[Extension_Installer/Adapters/Plugin|Plugins Adapter]]&lt;br /&gt;
* [[Extension_Installer/Adapters/Library|Libraries Adapter]]&lt;br /&gt;
* [[Extension_Installer/Adapters/Package|Packages Adapter]]&lt;br /&gt;
* [[Extension_Installer/Adapters/Template|Templates Adapter]]&lt;br /&gt;
* [[Extension_Installer/Adapters/Language|Languages Adapter]]&lt;/div&gt;</summary>
		<author><name>Mbaas</name></author>
	</entry>
</feed>