<?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=Griiettner</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=Griiettner"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Griiettner"/>
	<updated>2026-07-09T18:25:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/Content&amp;diff=80002</id>
		<title>J1.5:Plugin/Events/Content</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/Content&amp;diff=80002"/>
		<updated>2013-01-20T04:07:24Z</updated>

		<summary type="html">&lt;p&gt;Griiettner: Closing unclosed code tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}&lt;br /&gt;
{{RightTOC}}&lt;br /&gt;
Content events are triggered during the content creation process. This may occur in views in the com_content component, or in other components or modules. &lt;br /&gt;
&lt;br /&gt;
==onPrepareContent==&lt;br /&gt;
===Description===&lt;br /&gt;
This is the first stage in preparing content for output and is the most common point &lt;br /&gt;
for content orientated plugins to do their work. Since the article and related parameters &lt;br /&gt;
are passed by reference, event handlers can modify them prior to display.&lt;br /&gt;
===Parameters===&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; A reference to the article that is being rendered by the view.&lt;br /&gt;
*&amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; A reference to an associative array of relevant parameters. The view determines what it considers to be relevant and passes that information along.&lt;br /&gt;
*&amp;lt;code&amp;gt;limitstart&amp;lt;/code&amp;gt; An integer that determines the &amp;quot;page&amp;quot; of the content that is to be generated. Note that in the context of views that might not generate HTML output, a page is a reasonably abstract concept that depends on the context.&lt;br /&gt;
===Return Value===&lt;br /&gt;
None. Results are returned by modifying the referenced arguments.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/view.pdf.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/category/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/frontpage/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/section/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/code.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/emailcloak.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/geshi.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/image.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/loadmodule.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/pagebreak.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/sef.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onAfterDisplayTitle==&lt;br /&gt;
===Description===&lt;br /&gt;
This is a request for information that should be placed between the content title and &lt;br /&gt;
the content body.&lt;br /&gt;
Although parameters are passed by reference, this is not the event to modify article data. Use onPrepareContent for that purpose.&lt;br /&gt;
===Parameters===&lt;br /&gt;
See the onPrepareContent event for additional discussion of these parameters.&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; The article that is being rendered by the view.&lt;br /&gt;
*&amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; An associative array of relevant parameters.&lt;br /&gt;
*&amp;lt;code&amp;gt;limitstart&amp;lt;/code&amp;gt; An integer that determines the &amp;quot;page&amp;quot; of the content that is to be generated.&lt;br /&gt;
===Return Value===&lt;br /&gt;
String. Returned value from this event will be displayed in a placeholder. Most templates display this placeholder after the article separator.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/category/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/frontpage/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/section/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;modules/mod_newsflash/helper.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===See Also===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onBeforeDisplayContent==&lt;br /&gt;
===Description===&lt;br /&gt;
This is a request for information that should be placed immediately before the generated content. For views that generate XHTML/HTML, this might include the use of styles that are specified as part of the content or related parameters.&lt;br /&gt;
Although parameters are passed by reference, this is not the event to modify article data. Use onPrepareContent for that purpose.&lt;br /&gt;
===Parameters===&lt;br /&gt;
See the onPrepareContent event for additional discussion of these parameters. Note that &lt;br /&gt;
unlike onPrepareContent, these parameters are passed by value.&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; The article that is being rendered by the view.&lt;br /&gt;
*&amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; An associative array of relevant parameters.&lt;br /&gt;
*&amp;lt;code&amp;gt;limitstart&amp;lt;/code&amp;gt; An integer that determines the &amp;quot;page&amp;quot; of the content that is to be generated.&lt;br /&gt;
===Return Value===&lt;br /&gt;
String. Returned value from this event will be displayed in a placeholder. Most templates display this placeholder after the article separator.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/category/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/frontpage/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/section/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;modules/mod_newsflash/helper.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===See Also===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onAfterDisplayContent==&lt;br /&gt;
===Description===&lt;br /&gt;
This is a request for information that should be placed immediately after the generated content. For views that generate XHTML/HTML, this might include the closure of styles that are specified as part of the content or related parameters.&lt;br /&gt;
Although parameters are passed by reference, this is not the event to modify article data. Use onPrepareContent for that purpose.&lt;br /&gt;
===Parameters===&lt;br /&gt;
See the onPrepareContent event for additional discussion of these parameters. Note that unlike onPrepareContent, these parameters are passed by value.&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; The article that is being rendered by the view.&lt;br /&gt;
*&amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; An associative array of relevant parameters.&lt;br /&gt;
*&amp;lt;code&amp;gt;limitstart&amp;lt;/code&amp;gt; An integer that determines the &amp;quot;page&amp;quot; of the content that is to be generated.&lt;br /&gt;
===Return Value===&lt;br /&gt;
String. Returned value from this event will be displayed in a placeholder. Most templates display this placeholder after the article separator.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/category/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/frontpage/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/section/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===See Also===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onBeforeContentSave==&lt;br /&gt;
===Description===&lt;br /&gt;
This is an event that is called right before the content is saved into the database. Since the article object is passed by reference, you can make any changes you wish to the data. You can also abort the save by returning false. In this case the error set by calling $article-&amp;gt;setError($message); will be displayed to user.&lt;br /&gt;
===Parameters===&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; A reference to the JTableContent object that is being saved which holds the article data.&lt;br /&gt;
*&amp;lt;code&amp;gt;isNew&amp;lt;/code&amp;gt; A boolean which is set to true if the content is about to be created.&lt;br /&gt;
===Return Value===&lt;br /&gt;
Boolean. Result will affect the saving process. See description for details.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;administrator/components/com_content/controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/models/article.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onAfterContentSave==&lt;br /&gt;
===Description===&lt;br /&gt;
This is an event that is called after the content is saved into the database. Even though article object is passed by reference, changes will not be saved since storing data into database phase is past. An example use case would be redirecting user to the appropriate place after saving.&lt;br /&gt;
===Parameters===&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; A reference to the JTableContent object that is being saved which holds the article data.&lt;br /&gt;
*&amp;lt;code&amp;gt;isNew&amp;lt;/code&amp;gt; A boolean which is set to true if the content is about to be created.&lt;br /&gt;
===Return Value===&lt;br /&gt;
None. Result will be omitted.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;administrator/components/com_content/controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/models/article.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onContentPrepareData==&lt;br /&gt;
===Description===&lt;br /&gt;
Called after the data for a JForm has been retrieved. It can be used to modify the data for a JForm object in memory before rendering.&lt;br /&gt;
===Parameters===&lt;br /&gt;
*&amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt; The context where this event was triggered (for example, &#039;com_users.profile&#039;). Use this to check whether you are in the desired context for the plugin.&lt;br /&gt;
*&amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; An object containing the data for the form.&lt;br /&gt;
===Return Value===&lt;br /&gt;
*&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; True if method succeeds.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;administrator/components/com_admin/models/profile.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;administrator/components/com_users/models/user.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_contact/models/contact.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_users/models/profile.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/profile/profile.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onContentPrepareForm==&lt;br /&gt;
===Description===&lt;br /&gt;
Called before a JForm is rendered. It can be used to modify the JForm object in memory before rendering. For example, use JForm-&amp;gt;loadFile() to add fields or JForm-&amp;gt;removeField() to remove fields. Or use JForm-&amp;gt;setFieldAttribute() or other JForm methods to modify fields for the form.&lt;br /&gt;
===Parameters===&lt;br /&gt;
*&amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt; The JForm object to be displayed. Use the $form-&amp;gt;getName() method to check whether this is the form you want to work with.&lt;br /&gt;
*&amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; An object containing the data for the form.&lt;br /&gt;
===Return Value===&lt;br /&gt;
*&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; True if method succeeds.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_contact/models/contact.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/application/component/modelform.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_users/models/login.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/profile/profile.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Plugin Development]][[Category:Specifications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Griiettner</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/Content&amp;diff=80001</id>
		<title>J1.5:Plugin/Events/Content</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/Content&amp;diff=80001"/>
		<updated>2013-01-20T04:06:54Z</updated>

		<summary type="html">&lt;p&gt;Griiettner: Closing unclosed code tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}&lt;br /&gt;
{{RightTOC}}&lt;br /&gt;
Content events are triggered during the content creation process. This may occur in views in the com_content component, or in other components or modules. &lt;br /&gt;
&lt;br /&gt;
==onPrepareContent==&lt;br /&gt;
===Description===&lt;br /&gt;
This is the first stage in preparing content for output and is the most common point &lt;br /&gt;
for content orientated plugins to do their work. Since the article and related parameters &lt;br /&gt;
are passed by reference, event handlers can modify them prior to display.&lt;br /&gt;
===Parameters===&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; A reference to the article that is being rendered by the view.&lt;br /&gt;
*&amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; A reference to an associative array of relevant parameters. The view determines what it considers to be relevant and passes that information along.&lt;br /&gt;
*&amp;lt;code&amp;gt;limitstart&amp;lt;/code&amp;gt; An integer that determines the &amp;quot;page&amp;quot; of the content that is to be generated. Note that in the context of views that might not generate HTML output, a page is a reasonably abstract concept that depends on the context.&lt;br /&gt;
===Return Value===&lt;br /&gt;
None. Results are returned by modifying the referenced arguments.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/view.pdf.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/category/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/frontpage/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/section/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/code.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/emailcloak.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/geshi.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/image.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/loadmodule.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/pagebreak.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/sef.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onAfterDisplayTitle==&lt;br /&gt;
===Description===&lt;br /&gt;
This is a request for information that should be placed between the content title and &lt;br /&gt;
the content body.&lt;br /&gt;
Although parameters are passed by reference, this is not the event to modify article data. Use onPrepareContent for that purpose.&lt;br /&gt;
===Parameters===&lt;br /&gt;
See the onPrepareContent event for additional discussion of these parameters.&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; The article that is being rendered by the view.&lt;br /&gt;
*&amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; An associative array of relevant parameters.&lt;br /&gt;
*&amp;lt;code&amp;gt;limitstart&amp;lt;/code&amp;gt; An integer that determines the &amp;quot;page&amp;quot; of the content that is to be generated.&lt;br /&gt;
===Return Value===&lt;br /&gt;
String. Returned value from this event will be displayed in a placeholder. Most templates display this placeholder after the article separator.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/category/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/frontpage/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/section/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;modules/mod_newsflash/helper.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===See Also===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onBeforeDisplayContent==&lt;br /&gt;
===Description===&lt;br /&gt;
This is a request for information that should be placed immediately before the generated content. For views that generate XHTML/HTML, this might include the use of styles that are specified as part of the content or related parameters.&lt;br /&gt;
Although parameters are passed by reference, this is not the event to modify article data. Use onPrepareContent for that purpose.&lt;br /&gt;
===Parameters===&lt;br /&gt;
See the onPrepareContent event for additional discussion of these parameters. Note that &lt;br /&gt;
unlike onPrepareContent, these parameters are passed by value.&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; The article that is being rendered by the view.&lt;br /&gt;
*&amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; An associative array of relevant parameters.&lt;br /&gt;
*&amp;lt;code&amp;gt;limitstart&amp;lt;/code&amp;gt; An integer that determines the &amp;quot;page&amp;quot; of the content that is to be generated.&lt;br /&gt;
===Return Value===&lt;br /&gt;
String. Returned value from this event will be displayed in a placeholder. Most templates display this placeholder after the article separator.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/category/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/frontpage/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/section/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;modules/mod_newsflash/helper.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===See Also===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onAfterDisplayContent==&lt;br /&gt;
===Description===&lt;br /&gt;
This is a request for information that should be placed immediately after the generated content. For views that generate XHTML/HTML, this might include the closure of styles that are specified as part of the content or related parameters.&lt;br /&gt;
Although parameters are passed by reference, this is not the event to modify article data. Use onPrepareContent for that purpose.&lt;br /&gt;
===Parameters===&lt;br /&gt;
See the onPrepareContent event for additional discussion of these parameters. Note that unlike onPrepareContent, these parameters are passed by value.&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; The article that is being rendered by the view.&lt;br /&gt;
*&amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; An associative array of relevant parameters.&lt;br /&gt;
*&amp;lt;code&amp;gt;limitstart&amp;lt;/code&amp;gt; An integer that determines the &amp;quot;page&amp;quot; of the content that is to be generated.&lt;br /&gt;
===Return Value===&lt;br /&gt;
String. Returned value from this event will be displayed in a placeholder. Most templates display this placeholder after the article separator.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/category/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/frontpage/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/section/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===See Also===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onBeforeContentSave==&lt;br /&gt;
===Description===&lt;br /&gt;
This is an event that is called right before the content is saved into the database. Since the article object is passed by reference, you can make any changes you wish to the data. You can also abort the save by returning false. In this case the error set by calling $article-&amp;gt;setError($message); will be displayed to user.&lt;br /&gt;
===Parameters===&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; A reference to the JTableContent object that is being saved which holds the article data.&lt;br /&gt;
*&amp;lt;code&amp;gt;isNew&amp;lt;/code&amp;gt; A boolean which is set to true if the content is about to be created.&lt;br /&gt;
===Return Value===&lt;br /&gt;
Boolean. Result will affect the saving process. See description for details.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;administrator/components/com_content/controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/models/article.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onAfterContentSave==&lt;br /&gt;
===Description===&lt;br /&gt;
This is an event that is called after the content is saved into the database. Even though article object is passed by reference, changes will not be saved since storing data into database phase is past. An example use case would be redirecting user to the appropriate place after saving.&lt;br /&gt;
===Parameters===&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; A reference to the JTableContent object that is being saved which holds the article data.&lt;br /&gt;
*&amp;lt;code&amp;gt;isNew&amp;lt;/code&amp;gt; A boolean which is set to true if the content is about to be created.&lt;br /&gt;
===Return Value===&lt;br /&gt;
None. Result will be omitted.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;administrator/components/com_content/controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/models/article.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onContentPrepareData==&lt;br /&gt;
===Description===&lt;br /&gt;
Called after the data for a JForm has been retrieved. It can be used to modify the data for a JForm object in memory before rendering.&lt;br /&gt;
===Parameters===&lt;br /&gt;
*&amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt; The context where this event was triggered (for example, &#039;com_users.profile&#039;). Use this to check whether you are in the desired context for the plugin.&lt;br /&gt;
*&amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; An object containing the data for the form.&lt;br /&gt;
===Return Value===&lt;br /&gt;
*&amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; True if method succeeds.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;administrator/components/com_admin/models/profile.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;administrator/components/com_users/models/user.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_contact/models/contact.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_users/models/profile.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/profile/profile.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onContentPrepareForm==&lt;br /&gt;
===Description===&lt;br /&gt;
Called before a JForm is rendered. It can be used to modify the JForm object in memory before rendering. For example, use JForm-&amp;gt;loadFile() to add fields or JForm-&amp;gt;removeField() to remove fields. Or use JForm-&amp;gt;setFieldAttribute() or other JForm methods to modify fields for the form.&lt;br /&gt;
===Parameters===&lt;br /&gt;
*&amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt; The JForm object to be displayed. Use the $form-&amp;gt;getName() method to check whether this is the form you want to work with.&lt;br /&gt;
*&amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; An object containing the data for the form.&lt;br /&gt;
===Return Value===&lt;br /&gt;
*&amp;lt;code&amp;gt;boolean&amp;lt;code&amp;gt; True if method succeeds.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_contact/models/contact.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/application/component/modelform.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_users/models/login.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/profile/profile.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Plugin Development]][[Category:Specifications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Griiettner</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/Content&amp;diff=80000</id>
		<title>J1.5:Plugin/Events/Content</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/Content&amp;diff=80000"/>
		<updated>2013-01-20T04:05:26Z</updated>

		<summary type="html">&lt;p&gt;Griiettner: Closing unclosed code tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}&lt;br /&gt;
{{RightTOC}}&lt;br /&gt;
Content events are triggered during the content creation process. This may occur in views in the com_content component, or in other components or modules. &lt;br /&gt;
&lt;br /&gt;
==onPrepareContent==&lt;br /&gt;
===Description===&lt;br /&gt;
This is the first stage in preparing content for output and is the most common point &lt;br /&gt;
for content orientated plugins to do their work. Since the article and related parameters &lt;br /&gt;
are passed by reference, event handlers can modify them prior to display.&lt;br /&gt;
===Parameters===&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; A reference to the article that is being rendered by the view.&lt;br /&gt;
*&amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; A reference to an associative array of relevant parameters. The view determines what it considers to be relevant and passes that information along.&lt;br /&gt;
*&amp;lt;code&amp;gt;limitstart&amp;lt;/code&amp;gt; An integer that determines the &amp;quot;page&amp;quot; of the content that is to be generated. Note that in the context of views that might not generate HTML output, a page is a reasonably abstract concept that depends on the context.&lt;br /&gt;
===Return Value===&lt;br /&gt;
None. Results are returned by modifying the referenced arguments.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/view.pdf.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/category/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/frontpage/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/section/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/code.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/emailcloak.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/geshi.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/image.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/loadmodule.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/pagebreak.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/content/sef.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onAfterDisplayTitle==&lt;br /&gt;
===Description===&lt;br /&gt;
This is a request for information that should be placed between the content title and &lt;br /&gt;
the content body.&lt;br /&gt;
Although parameters are passed by reference, this is not the event to modify article data. Use onPrepareContent for that purpose.&lt;br /&gt;
===Parameters===&lt;br /&gt;
See the onPrepareContent event for additional discussion of these parameters.&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; The article that is being rendered by the view.&lt;br /&gt;
*&amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; An associative array of relevant parameters.&lt;br /&gt;
*&amp;lt;code&amp;gt;limitstart&amp;lt;/code&amp;gt; An integer that determines the &amp;quot;page&amp;quot; of the content that is to be generated.&lt;br /&gt;
===Return Value===&lt;br /&gt;
String. Returned value from this event will be displayed in a placeholder. Most templates display this placeholder after the article separator.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/category/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/frontpage/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/section/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;modules/mod_newsflash/helper.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===See Also===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onBeforeDisplayContent==&lt;br /&gt;
===Description===&lt;br /&gt;
This is a request for information that should be placed immediately before the generated content. For views that generate XHTML/HTML, this might include the use of styles that are specified as part of the content or related parameters.&lt;br /&gt;
Although parameters are passed by reference, this is not the event to modify article data. Use onPrepareContent for that purpose.&lt;br /&gt;
===Parameters===&lt;br /&gt;
See the onPrepareContent event for additional discussion of these parameters. Note that &lt;br /&gt;
unlike onPrepareContent, these parameters are passed by value.&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; The article that is being rendered by the view.&lt;br /&gt;
*&amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; An associative array of relevant parameters.&lt;br /&gt;
*&amp;lt;code&amp;gt;limitstart&amp;lt;/code&amp;gt; An integer that determines the &amp;quot;page&amp;quot; of the content that is to be generated.&lt;br /&gt;
===Return Value===&lt;br /&gt;
String. Returned value from this event will be displayed in a placeholder. Most templates display this placeholder after the article separator.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/category/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/frontpage/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/section/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;modules/mod_newsflash/helper.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===See Also===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onAfterDisplayContent==&lt;br /&gt;
===Description===&lt;br /&gt;
This is a request for information that should be placed immediately after the generated content. For views that generate XHTML/HTML, this might include the closure of styles that are specified as part of the content or related parameters.&lt;br /&gt;
Although parameters are passed by reference, this is not the event to modify article data. Use onPrepareContent for that purpose.&lt;br /&gt;
===Parameters===&lt;br /&gt;
See the onPrepareContent event for additional discussion of these parameters. Note that unlike onPrepareContent, these parameters are passed by value.&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; The article that is being rendered by the view.&lt;br /&gt;
*&amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; An associative array of relevant parameters.&lt;br /&gt;
*&amp;lt;code&amp;gt;limitstart&amp;lt;/code&amp;gt; An integer that determines the &amp;quot;page&amp;quot; of the content that is to be generated.&lt;br /&gt;
===Return Value===&lt;br /&gt;
String. Returned value from this event will be displayed in a placeholder. Most templates display this placeholder after the article separator.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/category/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/frontpage/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/section/view.html.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===See Also===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/views/article/tmpl/default.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onBeforeContentSave==&lt;br /&gt;
===Description===&lt;br /&gt;
This is an event that is called right before the content is saved into the database. Since the article object is passed by reference, you can make any changes you wish to the data. You can also abort the save by returning false. In this case the error set by calling $article-&amp;gt;setError($message); will be displayed to user.&lt;br /&gt;
===Parameters===&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; A reference to the JTableContent object that is being saved which holds the article data.&lt;br /&gt;
*&amp;lt;code&amp;gt;isNew&amp;lt;/code&amp;gt; A boolean which is set to true if the content is about to be created.&lt;br /&gt;
===Return Value===&lt;br /&gt;
Boolean. Result will affect the saving process. See description for details.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;administrator/components/com_content/controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/models/article.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onAfterContentSave==&lt;br /&gt;
===Description===&lt;br /&gt;
This is an event that is called after the content is saved into the database. Even though article object is passed by reference, changes will not be saved since storing data into database phase is past. An example use case would be redirecting user to the appropriate place after saving.&lt;br /&gt;
===Parameters===&lt;br /&gt;
*&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt; A reference to the JTableContent object that is being saved which holds the article data.&lt;br /&gt;
*&amp;lt;code&amp;gt;isNew&amp;lt;/code&amp;gt; A boolean which is set to true if the content is about to be created.&lt;br /&gt;
===Return Value===&lt;br /&gt;
None. Result will be omitted.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;administrator/components/com_content/controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_content/models/article.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onContentPrepareData==&lt;br /&gt;
===Description===&lt;br /&gt;
Called after the data for a JForm has been retrieved. It can be used to modify the data for a JForm object in memory before rendering.&lt;br /&gt;
===Parameters===&lt;br /&gt;
*&amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt; The context where this event was triggered (for example, &#039;com_users.profile&#039;). Use this to check whether you are in the desired context for the plugin.&lt;br /&gt;
*&amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; An object containing the data for the form.&lt;br /&gt;
===Return Value===&lt;br /&gt;
*&amp;lt;code&amp;gt;boolean&amp;lt;code&amp;gt; True if method succeeds.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;administrator/components/com_admin/models/profile.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;administrator/components/com_users/models/user.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_contact/models/contact.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_users/models/profile.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/profile/profile.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onContentPrepareForm==&lt;br /&gt;
===Description===&lt;br /&gt;
Called before a JForm is rendered. It can be used to modify the JForm object in memory before rendering. For example, use JForm-&amp;gt;loadFile() to add fields or JForm-&amp;gt;removeField() to remove fields. Or use JForm-&amp;gt;setFieldAttribute() or other JForm methods to modify fields for the form.&lt;br /&gt;
===Parameters===&lt;br /&gt;
*&amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt; The JForm object to be displayed. Use the $form-&amp;gt;getName() method to check whether this is the form you want to work with.&lt;br /&gt;
*&amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; An object containing the data for the form.&lt;br /&gt;
===Return Value===&lt;br /&gt;
*&amp;lt;code&amp;gt;boolean&amp;lt;code&amp;gt; True if method succeeds.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_contact/models/contact.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/application/component/modelform.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_users/models/login.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/profile/profile.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Plugin Development]][[Category:Specifications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Griiettner</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Manifest_files&amp;diff=79956</id>
		<title>Manifest files</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Manifest_files&amp;diff=79956"/>
		<updated>2013-01-18T03:28:49Z</updated>

		<summary type="html">&lt;p&gt;Griiettner: Closing unclosed code tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}&lt;br /&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;extension&amp;gt; replaces the old &amp;lt;install&amp;gt;&amp;lt;/install&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;1.6&amp;lt;/code&amp;gt; || All extensions&lt;br /&gt;
| String that identifies the version of Joomla for which this extension is developed. For Joomla 1.6 a version higher than 1.5 is required.&lt;br /&gt;
|-&lt;br /&gt;
| method&lt;br /&gt;
| &amp;lt;code&amp;gt;new&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 install will be also used if the method attribute is not used. In these cases the installer will gracefully stop if he 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;
=== 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;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; raw component name (e.g. &amp;lt;code&amp;gt;com_banners&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;author&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; author&#039;s name (e.g. &amp;lt;code&amp;gt;Joomla! Project&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;creationDate&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; date of creation or release (e.g. &amp;lt;code&amp;gt;April 2006&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;copyright&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; a copyright statement (e.g. &amp;lt;code&amp;gt;(C) 2005 - 2011 Open Source Matters. All rights reserved.&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;license&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; a license statement (e.g. &amp;lt;code&amp;gt;NU General Public License version 2 or later; see LICENSE.txt&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;authorEmail&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; author&#039;s email address (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;admin@joomla.org&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;authorUrl&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; URL to the author&#039;s website (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;www.joomla.org&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;version&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; the version number of the extension (e.g. &amp;lt;code&amp;gt;1.6.0&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; the description of the component. This is a translatable field. (e.g. &amp;lt;code&amp;gt;COM_BANNERS_XML_DESCRIPTION&amp;lt;/code&amp;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;
== Examples ==&lt;br /&gt;
For a real-life example, see [http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Fdevelopment%2Ftags%2F1.6.x%2F1.6.5%2Fadministrator%2Fcomponents%2Fcom_banners%2Fbanners.xml&amp;amp;view=markup the manifest of the Banner component in version 1.6.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>Griiettner</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Manifest_files&amp;diff=79955</id>
		<title>Manifest files</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Manifest_files&amp;diff=79955"/>
		<updated>2013-01-18T03:26:57Z</updated>

		<summary type="html">&lt;p&gt;Griiettner: Closing unclosed code tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}&lt;br /&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;extension&amp;gt; replaces the old &amp;lt;install&amp;gt;&amp;lt;/install&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;1.6&amp;lt;/code&amp;gt; || All extensions&lt;br /&gt;
| String that identifies the version of Joomla for which this extension is developed. For Joomla 1.6 a version higher than 1.5 is required.&lt;br /&gt;
|-&lt;br /&gt;
| method&lt;br /&gt;
| &amp;lt;code&amp;gt;new&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 install will be also used if the method attribute is not used. In these cases the installer will gracefully stop if he 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;
=== 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;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; raw component name (e.g. &amp;lt;code&amp;gt;com_banners&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;author&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; author&#039;s name (e.g. &amp;lt;code&amp;gt;Joomla! Project&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;creationDate&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; date of creation or release (e.g. &amp;lt;code&amp;gt;April 2006&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;copyright&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; a copyright statement (e.g. &amp;lt;code&amp;gt;(C) 2005 - 2011 Open Source Matters. All rights reserved.&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;license&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; a license statement (e.g. &amp;lt;code&amp;gt;NU General Public License version 2 or later; see LICENSE.txt&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;authorEmail&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; author&#039;s email address (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;admin@joomla.org&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;authorUrl&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; URL to the author&#039;s website (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;www.joomla.org&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;version&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; the version number of the extension (e.g. &amp;lt;code&amp;gt;1.6.0&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; the description of the component. This is a translatable field. (e.g. &amp;lt;code&amp;gt;COM_BANNERS_XML_DESCRIPTION&amp;lt;/code&amp;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;
== Examples ==&lt;br /&gt;
For a real-life example, see [http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Fdevelopment%2Ftags%2F1.6.x%2F1.6.5%2Fadministrator%2Fcomponents%2Fcom_banners%2Fbanners.xml&amp;amp;view=markup the manifest of the Banner component in version 1.6.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>Griiettner</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_to_Organize_a_JoomlaDay%E2%84%A2&amp;diff=79594</id>
		<title>How to Organize a JoomlaDay™</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=How_to_Organize_a_JoomlaDay%E2%84%A2&amp;diff=79594"/>
		<updated>2013-01-03T17:50:04Z</updated>

		<summary type="html">&lt;p&gt;Griiettner: /* Logo usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Creating a Joomla!Day requires a combination of good leadership, teamwork, and lots of energy.  A successful Joomla!Day isn&#039;t measured solely on the number of attendees, but rather the value of the information shared and the new connections made within the local community.  This is a simple guide that Joomla!Day organizers can use in creating their own Joomla!Days.  Even better, this page should be used by past Joomla!Day organizers to share their knowledge.  The more information the better!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== First Steps and some Basics ==&lt;br /&gt;
&lt;br /&gt;
The best way to start is building a small team. This team should meet regularly and the members of the team should be informed about all the things that are going on. Keep this team small, 3 or 4 people are a good size, if you have more than that, finding a meeting time will become more complicated and the meetings will take more time and become less focused. &lt;br /&gt;
&lt;br /&gt;
Assign individual tasks. Nobody should have the weight of the entire event on their shoulders. Spreading the tasks out to others in the team will make everything easier in the end and promotes accountability within the team.&lt;br /&gt;
&lt;br /&gt;
Document what you have discussed in the meetings, an easy way is to do that is within the meeting with a shared document. Google docs is quite good for that. Documenting the meeting minutes immediately after the meeting will ensure accuracy and accountability. &lt;br /&gt;
&lt;br /&gt;
Start small with your event, you can extend it later but it is easier to extend then to reduce the size later.&lt;br /&gt;
&lt;br /&gt;
== Legal, Organizational, and Fiscal Considerations ==&lt;br /&gt;
To make an official Joomla!Day you have to follow some rules. This can be quite simple or complicated depending on your decisions.&lt;br /&gt;
&lt;br /&gt;
The first thing you should do when you consider organizing a Joomla!Day event is to read the Joomla!Day Charter at this link:&lt;br /&gt;
[http://events.joomla.org/joomla-day-charter.html]&lt;br /&gt;
&lt;br /&gt;
===Requesting a Joomla!Day===&lt;br /&gt;
If you know the date and the city you will make your Joomla!day you should send in your request for a Joomla!day. You can do that over a simple form at the [http://opensourcematters.org/joomla-day-request.html OSM Website]&lt;br /&gt;
&lt;br /&gt;
===Domain usage request===&lt;br /&gt;
When you make your first Joomla!Day you normally don&#039;t have a domain you can use for the Joomla!Day website. Something like joomladay followed by your top level domain is a good choice e.g joomladay.de or joomladay.nl. It is not the best idea to add the year or something else to the domain name, because you can not reuse the domain next year and you have to go to the approval process again. So keep it simple! It is necessary that you have a running website at the domain you&#039;ll use. If you don&#039;t have the website but some mockups or graphics then you should make this available. Here is the link to the [http://opensourcematters.org/domain-name-use-request.html domain request form] &lt;br /&gt;
&lt;br /&gt;
===Logo usage===&lt;br /&gt;
The easy way is to use the conditional Joomla!Day Logos, you can use them without any approval process. If you like to use the Joomla! logo you have to send in a logo usage request and go thru that process. It is strongly recommended to use the conditional logos.&lt;br /&gt;
&lt;br /&gt;
Conditial Logo Example Use:&lt;br /&gt;
&lt;br /&gt;
[[File:Joomladay-logo-white.png]]&lt;br /&gt;
&lt;br /&gt;
===Listed at joomla.org===&lt;br /&gt;
You can have your Joomla!day listed at [[http://community.joomla.org/events.html Joomla,org]]. The process for being listed is quite simple send an email to eventsteam at opensourcematters,org with your promotion text. Normally we have this small poster for the event, it speeds up the process when  you send this with your promotion text, at least you have to send a picture we can use. Please make sure that the license for the picture allow such a usage.&lt;br /&gt;
&lt;br /&gt;
== Building the Right Website ==&lt;br /&gt;
Don&#039;t forget to include prominent and appropriate places in your site for your sponsors and speakers.&lt;br /&gt;
&lt;br /&gt;
A suggested site structure would include the following sitemap structure:&lt;br /&gt;
&lt;br /&gt;
Home | Registration | Speakers | Sponsors | Venue | Contact Us | Hotels&lt;br /&gt;
&lt;br /&gt;
There are also some great Event Registration extensions (both commercial and free) available for Joomla and if you would like to use one to manage your event registrations for your Joomla!Day you should consider contacting the developer (in case of a commercial offering) and ask them if they would donate their extension to your Joomla!Day for your registrations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You have to put the following disclaimer on your Website:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:JoomlaDay&amp;lt;sup&amp;gt;&amp;amp;trade;&amp;lt;/sup&amp;gt; events are officially recognized, but not organized, by the Joomla!&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt; Project and Open Source Matters, Inc.  Each event is managed independently by a local community.&lt;br /&gt;
&lt;br /&gt;
== Choosing a City ==&lt;br /&gt;
&lt;br /&gt;
The city where the event shall be should be easy to reach for the targeted audience. Public transportation should be available to the city and to the venue. There should also be enough hotels (check prices!).&lt;br /&gt;
&lt;br /&gt;
Larger cities offer better infrastructure, but mostly the venues are more expensive. Don&#039;t forget to check smaller cities with good infrastructure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Checklist:&#039;&#039;&#039;&lt;br /&gt;
* possibly in the centre of your country / region&lt;br /&gt;
* public transportation (airport, train, bus)&lt;br /&gt;
* Hotels / Hostels&lt;br /&gt;
* available locations for social events&lt;br /&gt;
* price range of available venues&lt;br /&gt;
&lt;br /&gt;
The final decision for the city should be made together with the venue.&lt;br /&gt;
&lt;br /&gt;
== Choosing a Venue ==&lt;br /&gt;
&lt;br /&gt;
Before choosing the venue, some key facts should be planned:&lt;br /&gt;
&lt;br /&gt;
* expected number of attendees (audience + team + speaker + sponsors)&lt;br /&gt;
* rough timetable (how many rooms?)&lt;br /&gt;
* catering&lt;br /&gt;
* BUDGET&lt;br /&gt;
&lt;br /&gt;
There are a lot of different types of venues possible: conference hotels, companies, university, ... All of them have advantages and disadvantages. A venue at a university can be very cheap - but normally, you have to care for everything on your own (technical equipment, catering, cleaning, ...) while conference hotels offer full service, but are most expensive.&lt;br /&gt;
&lt;br /&gt;
When you compare the prices for the venues, don&#039;t forget to include the technical equipment (Projector/Beamer, WiFi, Whiteboards, Sound, ...). If this is not included, this may be expensive to rent.&lt;br /&gt;
&lt;br /&gt;
== Choosing a Date and Time ==&lt;br /&gt;
&lt;br /&gt;
Check the following dates:&lt;br /&gt;
&lt;br /&gt;
* vacation / holidays&lt;br /&gt;
* other large events in the selected city&lt;br /&gt;
* other events in the Joomla-Community (esp. if you plan to invite international speakers)&lt;br /&gt;
* other web/development related events&lt;br /&gt;
&lt;br /&gt;
There should be at least 2 weeks between other similar events.&lt;br /&gt;
&lt;br /&gt;
The event should be planned at least (!) 6 - 8 months in advance!&lt;br /&gt;
&lt;br /&gt;
== Choosing the Schedule Structure ==&lt;br /&gt;
&lt;br /&gt;
Lecture, breakout rooms, and unconference modes.&lt;br /&gt;
&lt;br /&gt;
=== Lecture ===&lt;br /&gt;
&lt;br /&gt;
=== Breakout Rooms ===&lt;br /&gt;
&lt;br /&gt;
=== Unconference ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Choosing Speakers ==&lt;br /&gt;
Where possible you should aim to have local speakers. Having international speakers can be a great attraction for your event but try to avoid having too many speakers who are not presenting in the native language of the Joomla!Day.&lt;br /&gt;
&lt;br /&gt;
== Finding Fiscal Support and Sponsors ==&lt;br /&gt;
&lt;br /&gt;
===OSM===&lt;br /&gt;
As an approved Joomla!Day you can get fiscal support from OSM. The usually amount is $500.00 USD. This money is for covering the costs, if a Joomla!Day makes surplus then the Joomla Day organizers need to give the money back to OSM.&lt;br /&gt;
&lt;br /&gt;
OSM can send the money to a PayPal account, send a check or transfer the money to a Bank account. For an international wire transfer OSM need the following information:&lt;br /&gt;
&lt;br /&gt;
* Name of bank account holder&lt;br /&gt;
* Address of bank account holder&lt;br /&gt;
* Phone number of bank account holder&lt;br /&gt;
* Bank account number&lt;br /&gt;
* CHIP S/UID# or SWIFT/BIC&lt;br /&gt;
* Bank Name&lt;br /&gt;
* Bank address&lt;br /&gt;
* Bank City&lt;br /&gt;
&lt;br /&gt;
Please contact OSM directly to request this support.&lt;br /&gt;
&lt;br /&gt;
===Sponsors===&lt;br /&gt;
When you try to find sponsors, don&#039;t forget that you are dealing with companies. They expect professional and reliable information and agreements.&lt;br /&gt;
&lt;br /&gt;
Before contacting sponsors, prepare&lt;br /&gt;
&lt;br /&gt;
* sponsoring options (e.g. gold-sponsor, silver-sponsor, ...)&lt;br /&gt;
* sponsoring packages (what does the sponsor get)&lt;br /&gt;
* prices for options and packages&lt;br /&gt;
* sponsoring contract and invoice&lt;br /&gt;
* some information about Joomla, the event and the expected audience&lt;br /&gt;
* one person in the team should be responsible for the sponsors&lt;br /&gt;
* create a list of possible sponsors&lt;br /&gt;
* set up a webpage for sponsors&lt;br /&gt;
* set up an email address like sponsor@yourevent.tld&lt;br /&gt;
&lt;br /&gt;
== Running an Efficient Give-Away ==&lt;br /&gt;
Giving away donated goods and services at the end of the day can be a very slow and boring process. Joseph LeBlanc created a Joomla extension that will make the whole process much faster and less painful http://extensions.joomla.org/extensions/miscellaneous/15024&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;quot;This component allows you to award giveaways at random to the attendees of a Joomla!Day. There are mass import functions for attendees and giveaways, as well as a CSV export feature for downloading the final results. Winners can also be displayed on the frontend of the website.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Another thing that has worked well for non-tangible products such as template and extension provider sponsors is to print business cards (or similar) with unique coupon codes/passwords and put these cards into goodie bags that would be handed out randomly during check-in. This will ensure that the giveaway coupons are distributed randomly and make a nice surprise for the attendees. Then just provide the sponsors with duplicate copies of the coupon codes you distributed so they can verify the winners when they get contacted later.&lt;br /&gt;
[[Category:Events Working Group]][[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Griiettner</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:Joomladay-logo-white.png&amp;diff=79593</id>
		<title>File:Joomladay-logo-white.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:Joomladay-logo-white.png&amp;diff=79593"/>
		<updated>2013-01-03T17:48:34Z</updated>

		<summary type="html">&lt;p&gt;Griiettner: Griiettner uploaded a new version of &amp;amp;quot;File:Joomladay-logo-white.png&amp;amp;quot;: New Logo examples with the TM mark on&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Joomla!day logo with a white background&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{CopyrightByOSM}}&lt;/div&gt;</summary>
		<author><name>Griiettner</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_to_determine_if_the_user_is_viewing_the_front_page&amp;diff=37999</id>
		<title>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=How_to_determine_if_the_user_is_viewing_the_front_page&amp;diff=37999"/>
		<updated>2011-03-15T01:34:24Z</updated>

		<summary type="html">&lt;p&gt;Griiettner: Ading 1.6 conditional statement version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Joomla 1.0 ==&lt;br /&gt;
&lt;br /&gt;
In Joomla! 1.0.x it was possible to determine if the user was viewing the front page by using code like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
if ($option == &#039;com_frontpage&#039; || $option == &#039;&#039;) {&lt;br /&gt;
	echo &#039;This is the front page&#039;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Joomla 1.5 ==&lt;br /&gt;
&lt;br /&gt;
But in Joomla! 1.5.x the com_frontpage component is no longer present.  This is how to achieve the same result in Joomla! 1.5.x&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$menu = &amp;amp; JSite::getMenu();&lt;br /&gt;
if ($menu-&amp;gt;getActive() == $menu-&amp;gt;getDefault()) {&lt;br /&gt;
	echo &#039;This is the front page&#039;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
This works by checking to see if the current active menu item is the default one.&lt;br /&gt;
&lt;br /&gt;
== Joomla 1.6 ==&lt;br /&gt;
&lt;br /&gt;
For the 1.6 version, the conditional statement, became even shorter. This is the result for Joomla! 1.6.x&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
if(JRequest::getVar(‘view’) == “frontpage” ) : &lt;br /&gt;
    echo &#039;This is the front page&#039;;&lt;br /&gt;
else :&lt;br /&gt;
    echo &#039;This is the other pages&#039;;&lt;br /&gt;
endif; &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
You can also use the default menu option to check the home page. If the menu is activated, the default item for menu would be home page.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$menu = &amp;amp;JSite::getMenu();&lt;br /&gt;
if (JRequest::getInt(‘Itemid’) == $menu-&amp;gt;getDefault()) : ?&amp;gt;&lt;br /&gt;
    echo &#039;This is the front page&#039;;&lt;br /&gt;
else : &lt;br /&gt;
    echo &#039;This is the other pages&#039;;&lt;br /&gt;
endif; &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Griiettner</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Joomla_info_page/pt-BR&amp;diff=30098</id>
		<title>Joomla info page/pt-BR</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Joomla_info_page/pt-BR&amp;diff=30098"/>
		<updated>2010-08-26T18:47:08Z</updated>

		<summary type="html">&lt;p&gt;Griiettner: New page: = Português Brasil =  == O que é o Joomla? == Joomla é um gerenciador de conteúdos (CMS) ganhador de vários prêmios em sua categoria, que lhe permite construir Web sites e poderosas ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Português Brasil =&lt;br /&gt;
&lt;br /&gt;
== O que é o Joomla? ==&lt;br /&gt;
Joomla é um gerenciador de conteúdos (CMS) ganhador de vários prêmios em sua categoria, que lhe permite construir Web sites e poderosas aplicações online. Muitos aspectos, incluindo sua facilidade de uso e extensibilidade, transformaram o Joomla no software de Web site disponível, mais popular. Melhor ainda, o Joomla é uma solução de código aberto (Open Source) que esta disponível para todos. Os benefícios do Joomla! incluem:&lt;br /&gt;
&lt;br /&gt;
* Fácil Instalação&lt;br /&gt;
* Manutenção de websites bem simples&lt;br /&gt;
* Super seguro e estavel&lt;br /&gt;
* Poderosas extenções grátis e comerciais&lt;br /&gt;
* Templates em abundancia para facilmente mudar o visual do seu site&lt;br /&gt;
&lt;br /&gt;
== Onde baixar o Joomla? ==&lt;br /&gt;
* Baixar o Joomla: http://www.joomla.org/download.html&lt;br /&gt;
* Baixar pacote de tradução Português Brasil (pt-BR): http://extensions.joomla.org/extensions/languages/translations-for-joomla/333 &lt;br /&gt;
&lt;br /&gt;
== Onde baixar extenções? ==&lt;br /&gt;
* Baixar extenções: http://extensions.joomla.org/&lt;br /&gt;
* Baixar pacote de tradução para pt-BR das extenções: {http://www.example.com/}&lt;br /&gt;
&lt;br /&gt;
== Onde ver documentção do Joomla? ==&lt;br /&gt;
* Dcumentação em Inglês: http://docs.joomla.org/&lt;br /&gt;
* Documentação em Português: http://people.joomla.org/component/community/groups/viewgroup/614-Documenta%C3%A7%C3%A3o+em+Portugu%C3%AAs+do+Brasil.html &lt;br /&gt;
&lt;br /&gt;
== Onde conseguir suporte ao Joomla? ==&lt;br /&gt;
* Suporte grátis em Inglês: http://forum.joomla.org/&lt;br /&gt;
* Suporte grátis em Português:&lt;br /&gt;
** http://forum.joomla.org/viewforum.php?f=23 &lt;br /&gt;
** http://www.joomla.com.br/&lt;br /&gt;
** http://www.joomlaclube.com.br/&lt;br /&gt;
* Suporte Comercial: http://resources.joomla.org/ (website em Inglês)&lt;br /&gt;
&lt;br /&gt;
== Eventos Regionais / Joomladays ==&lt;br /&gt;
Local communities worldwide organise Joomla Days. A Joomla Day is an event created exclusively for Joomla users and projects and usually draws a regional audience. More information: http://community.joomla.org/events/joomla-days.html&lt;br /&gt;
&lt;br /&gt;
== Joomla User Groups (JUG) ==&lt;br /&gt;
Grupo local de usuários Joomla (JUG) é um ótimo caminho para conhecer novas pessoas, conseguir ajuda em projetos, ou dividir seus conhecimentos com outros usuários Joomla. O Joomla esta em todos os lugares, então verifique se já existe um JUG perto de você. Se não, talvez você considere formar um.&lt;br /&gt;
&lt;br /&gt;
* JUGS no Brasil: http://community.joomla.org/user-groups/south-america/brazil.html&lt;br /&gt;
* JUGS em Portugal: http://community.joomla.org/user-groups/europe/portugal.html&lt;br /&gt;
&lt;br /&gt;
* JUG FAQ: http://community.joomla.org/user-groups/jug-faq.html&lt;br /&gt;
&lt;br /&gt;
== Como contribuir ao Joomla? ==&lt;br /&gt;
* Responder perguntas em qualquer Joomla! Forum (link para: Where to get support for Joomla?)&lt;br /&gt;
* Escrever ou Traduzir Tutoriais e ou Documentções (link para: Where to get documentation for Joomla?)&lt;br /&gt;
* Desenvolver Templates ou Extenções&lt;br /&gt;
* Testar ou Adicionar um Comentário para um relatório de problemas (bugg)&lt;br /&gt;
* Inscrever-se em um Grupo de Trabalho do Joomla! &lt;br /&gt;
* Ajudar no Eventos Joomla!t&lt;br /&gt;
* Contribuir com outras maneiras, veja http://contribute.joomla.org/&lt;/div&gt;</summary>
		<author><name>Griiettner</name></author>
	</entry>
</feed>