<?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=Oc666</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=Oc666"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Oc666"/>
	<updated>2026-06-29T19:27:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Nginx&amp;diff=168431</id>
		<title>Nginx</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Nginx&amp;diff=168431"/>
		<updated>2015-04-01T07:14:45Z</updated>

		<summary type="html">&lt;p&gt;Oc666: remove unsupported argument&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://nginx.net/ nginx] is a lightweight Web server that powers about 13% of Web servers across all domains[http://en.wikipedia.org/wiki/Nginx#Description]. Unless you have specific requirements that demand a heavy Web server like Apache, you are much better off using nginx.&lt;br /&gt;
&lt;br /&gt;
Below are instructions on how to get Joomla! running with [http://wiki.nginx.org/PHPFcgiExample nginx and PHP via FastCGI].&lt;br /&gt;
&lt;br /&gt;
== Install nginx ==&lt;br /&gt;
For Ubuntu, run &amp;lt;tt&amp;gt;aptitude install nginx&amp;lt;/tt&amp;gt;. For other distros, run the corresponding package manager, or see http://wiki.nginx.org/Install.&lt;br /&gt;
&lt;br /&gt;
== Install PHP FastCGI == &lt;br /&gt;
For Ubuntu, read this excellent page on how to [http://wiki.nginx.org/PHPFcgiExample configure PHP and FastCGI for nginx].&lt;br /&gt;
&lt;br /&gt;
For Gentoo, PHP will run as a FastCGI service (fpm), so the nginx server will run PHP as a separated process:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo &amp;quot;dev-lang/php gd gd2 curl simplexml tokenizer dom tidy sqlite xml fpm cgi&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# emerge php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The default settings of php-fpm are good for most servers. For special configurations, visit the [http://php.net/manual/en/install.fpm.php PHP FPM site].&lt;br /&gt;
&lt;br /&gt;
== Configure Nginx ==&lt;br /&gt;
nginx configuration files reside in:&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/nginx/sites-available/&amp;lt;/tt&amp;gt; on Ubuntu (for sites running on that nginx instance)&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/nginx/nginx.conf&amp;lt;/tt&amp;gt; on Gentoo and Raspbian(= Debian optimized for Raspberry Pi)&lt;br /&gt;
&lt;br /&gt;
Here is an sample nginx configuration file, joomla.conf, that you can reuse over all your nginx enabled-sites.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
        listen 80;&lt;br /&gt;
        server_name YOUR_DOMAIN;&lt;br /&gt;
        server_name_in_redirect off;&lt;br /&gt;
&lt;br /&gt;
        access_log /var/log/nginx/localhost.access_log;&lt;br /&gt;
        error_log /var/log/nginx/localhost.error_log info;&lt;br /&gt;
&lt;br /&gt;
        root PATH_ON_SERVER;&lt;br /&gt;
        index index.php index.html index.htm default.html default.htm;&lt;br /&gt;
        # Support Clean (aka Search Engine Friendly) URLs&lt;br /&gt;
        location / {&lt;br /&gt;
                try_files $uri $uri/ /index.php?$args;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        # deny running scripts inside writable directories&lt;br /&gt;
        location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {&lt;br /&gt;
                return 403;&lt;br /&gt;
                error_page 403 /403_error.html;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        location ~ \.php$ {&lt;br /&gt;
            fastcgi_pass  127.0.0.1:9000;&lt;br /&gt;
            fastcgi_index index.php;&lt;br /&gt;
            include fastcgi_params;&lt;br /&gt;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;&lt;br /&gt;
            include /etc/nginx/fastcgi.conf;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        # caching of files &lt;br /&gt;
        location ~* \.(ico|pdf|flv)$ {&lt;br /&gt;
                expires 1y;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {&lt;br /&gt;
                expires 14d;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pay attention to a few things:&lt;br /&gt;
# The parameter &amp;lt;tt&amp;gt;fastcgi_pass&amp;lt;/tt&amp;gt; is set to 127.0.0.1:9000, corresponding to the port that fpm is configured to listen to. This means you can run the PHP processes on separate servers. On Gentoo, you can find this configuration in &amp;lt;tt&amp;gt;/etc/php/fpm-php5.3/php-fpm.conf/&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Don&#039;t forget to replace YOUR_DOMAIN &amp;amp; PATH_ON_SERVER above depending on your domain and the path of Joomla on your server.&lt;br /&gt;
&lt;br /&gt;
== GZip support ==&lt;br /&gt;
If you need GZip compression support, add the following section to the http section of the main nginx configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        gzip on;&lt;br /&gt;
        gzip_http_version 1.1;&lt;br /&gt;
        gzip_comp_level 6;&lt;br /&gt;
        gzip_min_length 1100;&lt;br /&gt;
        gzip_buffers 4 8k;&lt;br /&gt;
        gzip_types text/plain application/xhtml+xml text/css application/xml application/xml+rss text/javascript application/javascript application/x-javascript&lt;br /&gt;
        gzip_proxied     any;&lt;br /&gt;
        gzip_disable     &amp;quot;MSIE [1-6]\.&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* [http://en.gentoo-wiki.com/wiki/Nginx Nginx in Gentoo]&lt;br /&gt;
* [http://www.kevinworthington.com/nginx-for-windows/ Nginx for Windows]&lt;br /&gt;
* [http://wiki.nginx.org/Install#Ubuntu_PPA Nginx in Ubuntu]&lt;br /&gt;
* [http://www.debianadmin.com/howto-install-nginx-webserver-in-debian.html Nginx in Debian]&lt;br /&gt;
* [http://php.net/manual/en/install.fpm.php PHP-FPM installation and configuration]&lt;br /&gt;
* [http://wiki.nginx.org/HttpGzipModule GZip in Nginx]&lt;br /&gt;
* [http://wiki.nginx.org/HttpRewriteModule Rewrite in Nginx]&lt;br /&gt;
* [http://nginx.org/en/docs/http/request_processing.html How nginx processes a request]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Joomla_info_page/he-IL&amp;diff=162805</id>
		<title>Joomla info page/he-IL</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Joomla_info_page/he-IL&amp;diff=162805"/>
		<updated>2015-03-10T22:41:43Z</updated>

		<summary type="html">&lt;p&gt;Oc666: /* אירועים אזוריים / Joomladays */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
= Hebrew / עברית =&lt;br /&gt;
&lt;br /&gt;
== מה זה ג&#039;ומלה? ==&lt;br /&gt;
ג&#039;ומלה היא מערכת ניהול תוכן עטורת פרסים, אשר מאפשרת לך לבנות אתרי אינטרנט ויישומים מקוונים רבי עוצמה. היבטים רבים, כולל שימוש קלות ויכולת הרחבתה, הפכו את ג&#039;ומלה לתוכנת אתרי האינטרנט הפופולרית ביותר. החשוב מכל, ג&#039;ומלה הינו פתרון קוד פתוח והוא זמין באופן חופשי לכולם. היתרונות של ג&#039;ומלה! כוללים:&lt;br /&gt;
* התקנה קלה&lt;br /&gt;
* אתר אינטרנט פשוט לתחזוקה&lt;br /&gt;
* אבטחה מעולה ויציבות&lt;br /&gt;
* הרחבות חינם ומסחריות רבות עוצמה&lt;br /&gt;
* שפע תבניות כדי לשנות בקלות את המראה של האתר שלך&lt;br /&gt;
&lt;br /&gt;
== איפה ניתן להשיג ג&#039;ומלה? ==&lt;br /&gt;
* הורדת ג&#039;ומלה: http://www.joomla.org.il/download.html&lt;br /&gt;
* הורדת ג&#039;ומלה חבילת שפה עבור עברית (he-IL): http://joomlacode.org/gf/project/jtranslation1_6/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5685&lt;br /&gt;
&lt;br /&gt;
== איפה ניתן לקבל הרחבות? ==&lt;br /&gt;
* הורדת הרחבות: http://extensions.joomla.org/&lt;br /&gt;
* הורדת חבילות שפה עברית עבור הרחבות: http://www.joomla.org.il&lt;br /&gt;
&lt;br /&gt;
== היכן להשיג תיעוד של ג&#039;ומלה? ==&lt;br /&gt;
* תיעוד באנגלית: http://docs.joomla.org&lt;br /&gt;
* תיעוד בעברית: http://www.joomla.org.il/תיעוד.html&lt;br /&gt;
&lt;br /&gt;
== איפה ניתן לקבל תמיכה עבור ג&#039;ומלה? ==&lt;br /&gt;
* תמיכה חינם באנגלית: http://forum.joomla.org/&lt;br /&gt;
* תמיכה חינם בעברית:&lt;br /&gt;
** http://forum.joomla.org/viewforum.php?f=172&lt;br /&gt;
** http://www.joomla.org.il/פורום.html&lt;br /&gt;
* תמיכה מסחרית: http://resources.joomla.org/ (האתר באנגלית)&lt;br /&gt;
&lt;br /&gt;
== אירועים אזוריים / Joomladays ==&lt;br /&gt;
[http://jday11.joomla.org.il ג&#039;ומלה דיי ישראל Joomla!Day Israel 2011]&lt;br /&gt;
&lt;br /&gt;
[http://jday12.joomla.org.il ג&#039;ומלה דיי ישראל Joomla!Day Israel 2012]&lt;br /&gt;
&lt;br /&gt;
[http://jday13.joomla.org.il ג&#039;ומלה דיי ישראל Joomla!Day Israel 2013]&lt;br /&gt;
&lt;br /&gt;
[http://jday14.joomla.org.il ג&#039;ומלה דיי ישראל Joomla!Day Israel 2014]&lt;br /&gt;
&lt;br /&gt;
קהילות מקומיות ברחבי העולם מארגנות ימי ג&#039;ומלה. יום ג&#039;ומלה הינו אירוע שנוצר באופן בלעדי עבור משתמשי ג&#039;ומלה ופרויקטים ובדרך כלל מושך קהל אזורי. מידע נוסף: http://community.joomla.org/events/joomla-days.html&lt;br /&gt;
&lt;br /&gt;
== קבוצות משתמשי ג&#039;ומלה (JUG) ==&lt;br /&gt;
קבוצות משתמשי ג&#039;ומלה מקומיות הם דרך מצוינת להכיר אנשים חדשים, לקבל עזרה עם פרויקט, או לחלוק את הידע שלכם עם משתמשי ג&#039;ומלה אחרים. ג&#039;ומלה נמצא בכל מקום, אז בדקו אם יש כבר קבוצה כזו באזורך. אם לא, אולי כדאי לך לשקול להקים אחד.&lt;br /&gt;
&lt;br /&gt;
* JUG בישראל: http://community.joomla.org/user-groups/middle-east/israel/tel-aviv-jug.html&lt;br /&gt;
* JUG שאלות נפוצות: http://community.joomla.org/user-groups/jug-faq.html&lt;br /&gt;
&lt;br /&gt;
== כיצד לתרום לג&#039;ומלה? ==&lt;br /&gt;
* לענות על שאלות בפורום ג&#039;ומלה http://www.joomla.org.il&lt;br /&gt;
* כתוב או תרגם הדרכה או תיעוד http://www.joomla.org.il/תיעוד.html (נדרש רישום)&lt;br /&gt;
* לפתח הרחבה או תבנית&lt;br /&gt;
* לבדוק או לדווח על בעיה: http://docs.joomla.org/How_do_you_report_a_bug%3F&lt;br /&gt;
* הצטרף לקבוצת עבודה של ג&#039;ומלה!&lt;br /&gt;
* לעזור בארגון אירוע ג&#039;ומלה!&lt;br /&gt;
* לתרום בדרכים אחרות http://contribute.joomla.org&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=JoomlaDays/History&amp;diff=126272</id>
		<title>JoomlaDays/History</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=JoomlaDays/History&amp;diff=126272"/>
		<updated>2014-09-29T11:41:21Z</updated>

		<summary type="html">&lt;p&gt;Oc666: update JoomlaDay Israel 2013 link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Joomla! community has a long history of JoomlaDay™ events from around the world.  Let&#039;s document these here, so we can ensure we have a historical timeline of JoomlaDay™s. See current events at [http://events.joomla.org/joomladays Joomla Days]&lt;br /&gt;
&lt;br /&gt;
Instructions:  please add the name, date, location, and if possible the web address, of any JoomlaDay™s that have happened in the past.  Please use the following format:  Name_of_JoomlaDay™ - Month DD-DD, YYYY - City, Country&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2005 ==&lt;br /&gt;
&lt;br /&gt;
(1 Event)&lt;br /&gt;
&lt;br /&gt;
MamboDay Germany, May 28, 2005 - Bonn, Germany&lt;br /&gt;
(worldwide first Mambo / Joomla conference) [http://www.joomladay.de/fakten/historie/mamboday-2005 (german)]&lt;br /&gt;
&lt;br /&gt;
== 2006 ==&lt;br /&gt;
&lt;br /&gt;
(5 Events)&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Netherlands (1) - April 22, 2006 - Breda, Netherlands&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ UK (1) - July 30, 2006 - Leeds, United Kingdom [http://web.archive.org/web/20060709173546/http://www.joomlatraining.org.uk/joomla-day/ programme] [http://web.archive.org/web/20060814225232/http://www.joomlatraining.org.uk/content/view/297/36/ Day 1] [http://web.archive.org/web/20060813123831/http://www.joomlatraining.org.uk/content/view/298/36/ Day 2]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Sweden - October 6-7, 2006 - Västerås, Sweden&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Netherlands (2) - December 8-9 2006 - Den Bosch, Netherlands&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Germany - September 29-30, 2006 - Bonn, Germany [http://www.joomladay.de/fakten/historie/joomladay-2006 Report in German]&lt;br /&gt;
&lt;br /&gt;
== 2007 == &lt;br /&gt;
&lt;br /&gt;
(17 Events)&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Melbourne - January 24, 2007 - Melbourne, Australia [http://forum.joomla.org/viewtopic.php?f=306&amp;amp;t=116577&amp;amp;start=150] and [http://forum.joomla.org/viewtopic.php?t=134393]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ France - March 25, 2007 - Paris, France&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Norway - June 2, 2007 - Drammen, Norway&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Cape Town (South Africa) - June 16, 2007 [http://www.joomladay.org.za/archive/2007-cape-town-june-16-2007.html programme]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Johannesburg (South Africa) - July 14, 2007 [http://www.joomladay.org.za/archive/2007-johannesburg-july-14-2007.html programme]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ (Central) USA and Mexico - July 21, 2007 - Austin, Texas, USA&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Bangkok - August 4, 2008 - Bangkok , Thailand [http://www.flickr.com/photos/laithaiphoto/sets/72157601327115053/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Brasil - August 18, 2007 - São Paulo/SP, Brazil&lt;br /&gt;
 &lt;br /&gt;
JoomlaDay™ USA West - May 12-13, 2007 - Mountain View, California, USA&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ NYC - October 13, 2007 - New York, New York, USA&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Hungary - October 21, 2007 - Budapest, Hungary&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Sweden - November 3, 2007 - Västerås, Sweden&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Helsinki - November 12, 2007 - Helsinki, Finland&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Cape Town (South Africa) - December 10, 2007 [http://www.joomladay.org.za/archive/2007-cape-town-december-10-2007.html programme]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Nigeria - date unknown&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Serbia - November 17, 2007 - Belgrade, Serbia&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ New Zealand - December 15, 2007&lt;br /&gt;
&lt;br /&gt;
== 2008 ==&lt;br /&gt;
&lt;br /&gt;
(20 Events)&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Italy - January 19, 2008 - Rome, Italy&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Melbourne - February 2, 2008 - Melbourne, Australia [http://forum.joomla.org/viewtopic.php?p=1184586]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Spain (1) - April 19, 2008 - Madrid[http://www.joomladay.info/2008/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Netherlands (3), April 4-5, 2008 - Utrecht, Netherlands&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Norway - April 26, 2008 - Drammen, Norway&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ France - April 27, 2008 - Paris, France&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Bangkok - May 10, 2008 - Bangkok, Thailand [http://www.flickr.com/photos/laithaiphoto/sets/72157605299681211/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Byron Bay - May 11, 2008 - Byron Bay, NSW, Australia]] [http://forum.joomla.org/viewtopic.php?f=306&amp;amp;t=262909]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Sydney - May 19, 2008 - Sydney, Australia [http://forum.joomla.org/viewtopic.php?p=1304388]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Vancouver - June 14, 2008 - Vancouver, British Columbia, Canada]] [http://community.joomla.org/events/joomla-days/400-joomla-day-vancouver-2008.html]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Philippines - June 14, 2008&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Hungary - June 20-21, 2008&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Durban - June 20-21, 2008 - Durban, South Africa&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Brasil - August 16, 2008 - São Paulo/SP, Brazil&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ San Francisco - September 20, 2008 - San Francisco, California, USA&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Johannesburg - October 18, 2008 - Johannesburg, South Africa&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Turkey - October 25, 2008&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Switzerland - November 15, 2008&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Sweden - November 15, 2008&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Nigeria - November 19, 2008&lt;br /&gt;
&lt;br /&gt;
== 2009 ==&lt;br /&gt;
&lt;br /&gt;
(23 Events)&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Turkey - January 10, 2009 &lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Melbourne - February 7-8, 2009 - Melbourne, Australia [http://community.joomla.org/events/joomla-days/641-joomladay-melbourne-2009.html]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ UK (2) - March 13-14, 2009 - Maidstone, England, United Kingdom&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Las Vegas - April 4, 2009 - Las Vegas, Nevada, USA [http://lasvegas.joomladayusa.org/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ India - April 25, 2009 - Pune, India [http://community.joomla.org/blogs/community/811-joomla-day-pune-india-a-big-success.html]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Sweden - May 15-16, 2009 - Stockholm, Sweden&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ France - May 24, 2009 - Paris, France&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ New England - May 30, 2009 - Brattleboro, Vermont, USA [http://community.joomla.org/events/joomla-days/771-joomladay-new-england-2009.html]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Netherlands (4) - June 12-13, 2009 - Nieuwegein, Netherlands&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Cape Town - August 14, 2009 - Cape Town, South Africia&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Bangkok - August 22-23, 2009 - Bangkok, Thailand [http://www.flickr.com/photos/laithaiphoto/sets/72157622115004400/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Brasil - September, 12, 2009 - Rio de Janeiro/RJ, Brazil &lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Germany - September, 24 - 26, 2009 - Bad Nauheim, Germany&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Mongolia - September 29-30, 2009 - Ulan Bataar, Mongolia&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Norway - October ?, 2009 - Drammen, Norway&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Gauteng - October 8-10, 2009 - Gauteng, South Africa&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Hungary - October 10, 2009 - Budapest, Hungary&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ New York - October 12, 2009 - New York, New York, USA [http://community.joomla.org/events/joomla-days/912-joomla-day-new-york.html]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Sydney - October 17-18, 2009 - Sydney, Australia [http://sydney.joomladay.org.au/groups/viewgroup/5-Welcome+to+Sydney+JoomlaDay+17%2B18+Oct+2009]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Vietnam - November 1, 2009 - Hồ Chí Minh City, Vietnam [http://community.joomla.org/events/joomla-days/1056-joomladay-vietnam-2009.html]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Italy - November 21, 2009 - Rome, Italy&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Spain (2) - December 11-12, 2009 - Barcelona, Spain [http://www.joomladay.info/2009/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Nigeria - December 12, 2009 - Lagos, Nigeria&lt;br /&gt;
&lt;br /&gt;
== 2010 ==&lt;br /&gt;
&lt;br /&gt;
(17 Events)&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Melbourne - February 12-14, 2010 - Melbourne, Australia [http://community.joomla.org/events/joomla-days/1102-joomladay-melbourne-2010.html]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ France - March 21, 2010 - Bordeaux, France&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Spain (3) - April 9-10, 2010 - Mallorca, Spain [http://www.joomladay.cat/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Netherlands (5) - April 23-24, 2010 - Utrecht, Netherlands [http://www.joomladagen.nl/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Sweden - April 23-24, 2010 - Stockholm, Sweden [http://www.joomladay.se/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Norway - June 4-5, 2010 - Drammen, Norway [http://www.joomladay.no/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ New England - June 5, 2010 - Marlboro, Vermont, USA&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Brisbane - June 18-19, 2010 - Brisbane, Australia&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Brasil - September 11-12, 2010 - Brasília/DF, Brazil [http://www.joomladaybrasil.org/2010]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ USA West - October 1-3, 2010 - San Jose, California, USA [http://www.joomladaywest.com/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Italy - October 9, 2010 - Verona, Italy&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ DC - October 16, 2010 - Chevy Chase, Maryland, USA [http://www.joomladaydc.com]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Denmark - October 29-30, 2010 - Kolding, Denmark [http://www.joomladay.dk]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ UK (3) - October 30-31, 2010 - Ipswich, England, United Kingdom&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Bangkok - November 13-14, 2010 - Bangkok, Thailand [http://www.joomladay.in.th/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Spain (4) - November 26-27, 2010 - Valencia, Spain [http://www.joomladay2010.es/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ NYC - December 4-5, 2010 - New York City, New York, USA&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Nigeria - December 11, 2010 - Lagos, Nigeria&lt;br /&gt;
&lt;br /&gt;
== 2011 ==&lt;br /&gt;
&lt;br /&gt;
(29 Events)&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Chile - January 18, 2011 - Santiago, Chile [http://www.joomladay-chile.cl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Night Stockholm - February 4, 2011 - Stockholm, Sweden&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ India - March 12-13, 2011 - Pune, Maharashtra, India [http://www.joomladay.co.in]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Netherlands (6) - April 2-3, 2011 - Doorn, Netherlands [http://www.joomladagen.nl/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ New England - April 2, 2011 - Brattleboro, Vermont, USA [http://www.joomladaynewengland.org]&lt;br /&gt;
[[Media:JoomlaDayNEProgram2011-schedule.jpg]] &lt;br /&gt;
[[Media:JoomlaDayNEProgram2011-speakers.jpg]] &lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ France - April 2-3, 2011 - Lyon, France [http://www.joomladay.fr/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Algeria - April 19 2011 - Alger, Algeria [http://www.joomladayalgerie.com/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Greece - May 28-29, 2011 - Athens, Greece [http://joomladay.gr/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Malaysia - June 25, 2011 - Kuala Lumpur, Malaysia [http://www.joomla-day.org.my/2011/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Night Chile - July 6, 2011 - Santiago, Chile [http://joomlanight-chile.cl/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Chicago - August 5-6, 2011 - Chicago, Illinois, USA [http://www.joomladaychicago.com]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Norway - August 12-13, 2011 - Drammen, Norway [http://www.joomladay.no/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Bosnia and Herzegovina - August 12-14, 2011 - Tesanj, Bosnia [http://www.joomla.ba/konferencija]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Cape Town - August  19-20, 2011 - Cape Town, South Africa [http://www.joomladay.org.za/] [http://www.joomladay.org.za/talks-sessions/programme.html programme]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Germany - September 2-3, 2011 - Hamburg, Germany [http://www.joomladay.de]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Brasil - September 2-4, 2011 - Florianópolis/SC, Brazil [http://www.joomladaybrasil.org/2011]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Austin - September 15, 2011 - Austin, Texas, USA [http://www.joomladayaustin.com]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ UK - September 24-25, 2011 - London, England [http://www.joomladayuk2011.org]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Israel - October 10, 2011 - Tel Aviv, Israel [http://jday11.joomla.org.il]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Italy - October 22, 2011 - Florence, Italy [http://www.joomladay.it]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ NYC - October 22-23, 2011 - New York City, New York, USA [http://www.joomladaynyc.com]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Denmark - October 28-29, 2011 - Kolding, Denmark [http://www.joomladay.dk]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Australia - November 5-6, 2011 - Sydney, Australia [http://sydney.joomladay.org.au/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Finland - November 5, 2011 - Helsinki, Finland [http://joomladayfinland.com/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Spain - November 9-10, 2011 - Zaragoza, Spain [http://www.joomladay2011.es/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Midwest - November 12, 2011 - Milwaukee, Wisconsin, USA [http://www.joomladaymidwest.org]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Algeria - November 19, 2011 - Oran, Algeria [http://www.joomladayoran.com/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Los Angeles - December 3, 2011 - Los Angeles, California, USA [http://www.jdayla.com]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Lagos  - December 17, 2011 - Lagos, Nigeria [http://joomlang.com/]&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
(29 events)&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Chile - January 19, 2012 - Santiago, Chile&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Bangkok - February 25, 2012 - Bangkok, Thailand [http://www.joomladay.in.th]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Guatemala - February 29 - March 3, 2012 - Guatemala City, Guatemala [http://www.joomlagt.org/joomladay2012/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ France - March 24, 2012 - Strasbourg, France [http://www.joomladay.fr/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ New England - March 31, 2012 - Brattleboro, Vermont, USA [http://www.joomladaynewengland.org/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Iran - April 12, 2012 - Mashhad, Iran [http://www.joomladay.ir]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Netherlands (7) - April 21-22, 2012 - Zeist, Netherlands [http://www.joomladagen.nl/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Ribeirão Preto - May 11-12, 2012 - Ribeirão Preto, Brasil [http://jdrp.unaerp.br/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Sweden - May 26, 2012 - Stockholm, Sweden [http://www.joomladay.se/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ China 2012 - June 2, 2012 - Pudong, China [http://joomla.51qiangzuo.com/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Greece 2012 - June 2-3, 2012 - Athens, Greece [http://joomladay.gr]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Togo - June 14, 2012 - Assahoun, Togo&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Mexico - June 22-23, 2012 - Mexico City, Mexico [http://www.joomladaymexico.org/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Chicago - August 10-11, 2012 - Chicago, Illinois, USA [http://joomladaychicago.com]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Cape Town - August 17-18, 2012 - Cape Town, South Africa [http://www.joomladay.org.za]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Colombia - September 06, 2012 - Cali, Colombia [http://www.joomladay.com.co/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Brasil - September 07-08, 2012 - Belo Horizonte, Minas Gerais, Brasil [http://www.joomladaybrasil.org/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Poland - September 22-23, 2012 - Poznań, Poland [http://www.joomla-day.pl/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ NYC - September 22-23, 2012 - New York, New York, USA [http://www.joomladaynyc.com/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Spain - September 28-29, 2012 - Mérida, Spain [http://www.joomladayspain.com/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Italy - September 29, 2012 - Turin, Italy [http://www.joomladay.it/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Turkey - September 29, 2012 - Konya, Turkey [http://www.joomla.org.tr/en/Konya]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Germany - October 05-06, 2012 - Berlin, Germany [http://www.joomladay.de/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Israel - October 10, 2012- Tel Aviv, Israel [http://jday12.joomla.org.il]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Bulgaria - October 13, 2012 - Sofia, Bulgaria [http://joomladay.bg/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Australia - October 20-21, 2012 - Sydney, Australia [http://sydney.joomladay.org.au/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Denmark - October 26-27, 2012 - Kolding, Denmark [http://www.joomladay.dk]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Iran - November 15, 2012 - Kerman, Iran [http://www.joomladay.ir/]&lt;br /&gt;
&lt;br /&gt;
Joomla! World Conference - November 16-18, 2012 - San Jose, California, USA [http://conference.joomla.org]&lt;br /&gt;
&lt;br /&gt;
== 2013 ==&lt;br /&gt;
(35 events)&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Melbourne - January 19-20, 2013 - Melbourne, Australia [http://melbourne.joomladay.org.au/] &lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ India - February 8-10, 2013 - Mumbai, India [http://www.joomladayindia.in/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ North Carolina - February 23, 2013 - Raleigh, North Carolina, USA [http://joomladaync.org]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Gabon - March 7-8, 2013 - Libreville, Gabon [http://www.joomladaygabon.info]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Boston - March 16, 2013 - Cambridge, MA, USA [http://joomladayboston.com/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ France - March 22-24, 2013 - Blagnac, France [http://www.joomladay.fr/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ New England - April 13, 2013 - Brattleboro, Vermont, USA [http://www.joomladaynewengland.org/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Alger - April 18, 2013 - Alger, Algérie [http://www.joomladayalger.com/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Netherlands - April 20-21, 2013 - Zeist, Netherlands [http://www.joomladagen.nl/2013/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Guatemala - April 25-26, 2013 - Guatemala City, Guatemala [http://www.joomlagt.org/joomladay2013/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Bosnia and Herzegovina - May 3, 2013 - Sarajevo, Bosnia and Herzegovina [http://www.joomladay.ba/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Greece - June 15-17, 2013 - Athens, Greece [http://joomladay.gr/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Taiwan - June 15, 2013 - Taipei City, Taiwan [http://joomladay.tw/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ São Paulo - July 5-6, 2013 - São Paulo, Brazil [http://www.joomladaysp.com.br/2013/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Cotonou (Benin) - July 5, 2013 - Cotonou, Bénin [http://joomladaybenin.info/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Kenya - August 2, 2013 - Nairobi, Kenya [http://www.joomladay.or.ke/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Germany - September 13-14, 2013 - Nuremberg, Germany [http://joomladay.de/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Switzerland - September 21, 2013 - Berne, Switzerland [http://www.joomladayswiss.org/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Spain - September 27-29, 2013 - Albacete, Spain [http://www.joomladayspain.org/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ San Francisco - September 27-29, 2013 - San Francisco, CA, USA [http://www.joomladaysf.com/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ UK - October 5-6, 2013 -  Ascot, Berkshire, United Kingdom [http://www.joomladay.co.uk/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Poland - October 5-6, 2013 - Łódź, Poland [http://www.joomla-day.pl/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Israel - October 10, 2013 - Tel Aviv, Israel [http://jday13.joomla.org.il]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Italy - October 12, 2013 - Naples, Italy [http://www.joomladay.it/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Bulgaria - October 12, 2013 - Sofia, Bulgaria [http://joomladay.bg]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Hungary - October 12, 2013 - Budapest, Hungary [http://joomladay.hu/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ South Africa - October 18-19, 2013 - Johannesburg, South Africa [http://www.joomladay.org.za/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Houston - October 19, 2013 - Houston, TX, USA [http://joomladayhouston.com]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Sydney - October 19, 2013 - Sydney, NSW, Australia [http://sydney.joomladay.org.au/]&lt;br /&gt;
&lt;br /&gt;
Joomla! World Conference - November 8-10, 2013 - Boston, Massachusetts, USA [http://conference.joomla.org]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Rio de Janeiro - November 15-17, 2013 - Rio de Janeiro, Brazil [http://www.joomladayrio.com.br/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Bangkok - November 22-24, 2013 - Bangkok, Thailand [http://www.joomladay.in.th/en/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Mexico City - November 27-29, 2013 - Mexico DF, Mexico [http://www.joomladaymx.com/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Colombia - November 28-29, 2013 - Ibagué, Colombia [http://www.joomladay.com.co/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Lagos - December 14, 2013 - Lagos, Nigeria [http://www.joomlang.com/]&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
(35 events)&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Addis Ababa - 16th February 2014, Ethiopia [http://www.joomladayaddis.org/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Gabon - 20th February 2014, Gabon [http://jday.ga/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Prague - 1st March 2014, Prague [http://joomladayprague.org/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Denmark - 7-8th March 2014, Copenhagen, Denmark [http://www.joomladay.dk]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Boston - 15-16th March 2014, Cambridge, Massachusetts, USA [http://joomladayboston.com/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Netherlands - 22-23rd March 2014, Zeist, Netherlands [http://www.joomladagen.nl/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ La Rioja - 3rd April 2014, Logroño, Spain [http://joomladaylarioja.org/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Norway - 4-5th April 2014, Oslo, Norway [http://www.joomladay.no/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Atlanta - 5th April 2014, Atlanta, Georgia, USA [http://www.joomladayatlanta.com]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Brazil - 2-3 May 2014, Sao Paulo, Brazil [http://joomladaybrasil.org/2014/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Algeria - 15-16th May 2014, Alger, Algeria [http://www.joomladayalger.com/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ France - 23-24th May 2014, Paris, France [http://www.joomladay.fr/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Russia - 26th June 2014, Moscow, Russia [http://joomladay.ru/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Mexico City - July 17-18, 2014 - Mexico DF, Mexico [http://joomladaymexico.com/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Minnesota - July 19, 2014 - Minneapolis, Minnesota, USA [http://joomladay.mn/]&lt;br /&gt;
&lt;br /&gt;
Joomla! Developer Conference - August 7-8, 2014 - Chicago, IL, USA [http://devcon.joomla.org/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Chicago - August 9th, 2014 - Chicago, IL, USA [http://www.joomladaychicago.com]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Kenya - September 5th, 2014 - Nairobi, Kenya [http://joomladay.or.ke/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Benin - September 11-13, 2014 - Cotonou, Benin [http://jdaybenin.com]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Deutschland - September 12-13, 2014 - Cologne, Germany [http://www.joomladay.de]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Poland - September 20-21, 2014 - Warsaw, Poland [http://joomla-day.pl]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Houston - September 20th, 2014 Houston, TX, USA [http://joomladayhouston.com]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Ghana - October 2-3, 2014 - Accra, Ghana [http://joomladayghana.net]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ UK - October 4-5, 2014 - Ascot, United Kingdom [http://www.joomladay.co.uk]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Spain - October 10-11, 2014 - Madrid, Spain [http://joomladayspain.org]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ NYC - October 11-12, 2014 - New York City, NY, USA [http://joomladaynyc.com]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Bulgaria - October 11th, 2014 - Sofia, Bulgaria [http://joomladay.bg]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Viña del mar - October 17-18, 2014 - Viña del Mar, Chile [http://www.joomladay.cl/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Hungary - October 17th - Budapest, Hungary [http://joomladay.hu/]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Israel - October 20th, 2014 - Tel Aviv, Israel [http://jday.joomla.org.il]&lt;br /&gt;
&lt;br /&gt;
Joomla! World Conference - November 7-9, 2014 - Cancún, Mexico [http://conference.joomla.org]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Italy - November 8th, 2014 - Milan, Italy [http://www.joomladay.it]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Málaga - November 14th, 2014 - Málaga, Spain [http://joomladaymalaga.org]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Faso - November 14-15, 2014 - Ouagadougou, Burkina Faso [http://jdayfaso.net]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Cuba - November 15th, 2014 Havana, Cuba [http://www.joomladaycuba.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Events Working Group]]&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J3.x:Module_article_news_ordering_ascending&amp;diff=104808</id>
		<title>J3.x:Module article news ordering ascending</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J3.x:Module_article_news_ordering_ascending&amp;diff=104808"/>
		<updated>2013-11-07T17:48:17Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is the cause ==&lt;br /&gt;
Module article news show articles in reverse order.&lt;br /&gt;
&lt;br /&gt;
== How to fix ==&lt;br /&gt;
Go to modules/mod_articles_news/helper.php and change the value of list.direction from ASC to DESC. See the change in the next patch: https://github.com/joomla/joomla-cms/pull/2446.diff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Version 3.2.0 FAQ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J3.x:Module_article_news_ordering_ascending&amp;diff=104807</id>
		<title>J3.x:Module article news ordering ascending</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J3.x:Module_article_news_ordering_ascending&amp;diff=104807"/>
		<updated>2013-11-07T17:45:43Z</updated>

		<summary type="html">&lt;p&gt;Oc666: Created page with &amp;quot;== What is the cause == Module article news show articles in reverse order.  == How to fix == Go to modules/mod_articles_news/helper.php and change the value of list.direction...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is the cause ==&lt;br /&gt;
Module article news show articles in reverse order.&lt;br /&gt;
&lt;br /&gt;
== How to fix ==&lt;br /&gt;
Go to modules/mod_articles_news/helper.php and change the value of list.direction from ASC to DESC. See the change in the next patch: https://github.com/joomla/joomla-cms/pull/2446.diff&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=JoomlaDays/History&amp;diff=99460</id>
		<title>JoomlaDays/History</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=JoomlaDays/History&amp;diff=99460"/>
		<updated>2013-05-21T16:05:54Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Joomla! community has a long history of Joomla!Day events from around the world.  Let&#039;s document these here, so we can ensure we have a historical timeline of Joomla!Days. See current events at [http://events.joomla.org/joomla-days.html Joomla Days]&lt;br /&gt;
&lt;br /&gt;
Instructions:  please add the name, date, location, and if possible the web address, of any Joomla!Days that have happened in the past.  Please use the following format:  Name_of_Joomla!Day - Month DD-DD, YYYY - City, Country&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2005 ==&lt;br /&gt;
&lt;br /&gt;
(1 Event)&lt;br /&gt;
&lt;br /&gt;
MamboDay Germany, May 28, 2005 - Bonn, Germany&lt;br /&gt;
(worldwide first Mambo / Joomla conference) [http://www.joomladay.de/fakten/historie/mamboday-2005/item/mamboday-2005.html (german)]&lt;br /&gt;
&lt;br /&gt;
== 2006 ==&lt;br /&gt;
&lt;br /&gt;
(5 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (1) - April 22, 2006 - Breda, Netherlands&lt;br /&gt;
&lt;br /&gt;
Joomla!Day UK (1) - July 30, 2006 - Leeds, United Kingdom [http://web.archive.org/web/20060709173546/http://www.joomlatraining.org.uk/joomla-day/ programme] [http://web.archive.org/web/20060814225232/http://www.joomlatraining.org.uk/content/view/297/36/ Day 1] [http://web.archive.org/web/20060813123831/http://www.joomlatraining.org.uk/content/view/298/36/ Day 2]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - October 6-7, 2006 - Västerås, Sweden&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (2) - December 8-9 2006 - Den Bosch, Netherlands&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Germany - September 29-30, 2006 - Bonn, Germany [http://www.joomladay.de/fakten/historie/joomladay-2006.html Report in German]&lt;br /&gt;
&lt;br /&gt;
== 2007 == &lt;br /&gt;
&lt;br /&gt;
(17 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Melbourne - January 24, 2007 - Melbourne, Australia [http://forum.joomla.org/viewtopic.php?f=306&amp;amp;t=116577&amp;amp;start=150] and [http://forum.joomla.org/viewtopic.php?t=134393]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - March 25, 2007 - Paris, France&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Norway - June 2, 2007 - Drammen, Norway&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Cape Town (South Africa) - June 16, 2007 [http://www.joomladay.org.za/archive/2007-cape-town-june-16-2007.html programme]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Johannesburg (South Africa) - July 14, 2007 [http://www.joomladay.org.za/archive/2007-johannesburg-july-14-2007.html programme]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day (Central) USA and Mexico - July 21, 2007 - Austin, Texas, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bangkok - August 4, 2008 - Bangkok , Thailand [http://www.flickr.com/photos/laithaiphoto/sets/72157601327115053/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - August 18, 2007 - São Paulo/SP, Brazil&lt;br /&gt;
 &lt;br /&gt;
Joomla!Day USA West - May 12-13, 2007 - Mountain View, California, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day NYC - October 13, 2007 - New York, New York, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Hungary - October 21, 2007 - Budapest, Hungary&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - November 3, 2007 - Västerås, Sweden&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Helsinki - November 12, 2007 - Helsinki, Finland&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Cape Town (South Africa) - December 10, 2007 [http://www.joomladay.org.za/archive/2007-cape-town-december-10-2007.html programme]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Nigeria - date unknown&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Serbia - November 17, 2007 - Belgrade, Serbia&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New Zealand - December 15, 2007&lt;br /&gt;
&lt;br /&gt;
== 2008 ==&lt;br /&gt;
&lt;br /&gt;
(20 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Italy - January 19, 2008 - Rome, Italy&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Melbourne - February 2, 2008 - Melbourne, Australia [http://forum.joomla.org/viewtopic.php?p=1184586]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain (1) - April 19, 2008 - Madrid[http://www.joomladay.info/2008/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (3), April 4-5, 2008 - Utrecht, Netherlands&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Norway - April 26, 2008 - Drammen, Norway&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - April 27, 2008 - Paris, France&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bangkok - May 10, 2008 - Bangkok, Thailand [http://www.flickr.com/photos/laithaiphoto/sets/72157605299681211/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Byron Bay - May 11, 2008 - Byron Bay, NSW, Australia]] [http://forum.joomla.org/viewtopic.php?f=306&amp;amp;t=262909]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sydney - May 19, 2008 - Sydney, Australia [http://forum.joomla.org/viewtopic.php?p=1304388]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Vancouver - June 14, 2008 - Vancouver, British Columbia, Canada]] [http://community.joomla.org/events/joomla-days/400-joomla-day-vancouver-2008.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Philippines - June 14, 2008&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Hungary - June 20-21, 2008&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Durban - June 20-21, 2008 - Durban, South Africa&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - August 16, 2008 - São Paulo/SP, Brazil&lt;br /&gt;
&lt;br /&gt;
Joomla!Day San Francisco - September 20, 2008 - San Francisco, California, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Johannesburg - October 18, 2008 - Johannesburg, South Africa&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Turkey - October 25, 2008&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Switzerland - November 15, 2008&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - November 15, 2008&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Nigeria - November 19, 2008&lt;br /&gt;
&lt;br /&gt;
== 2009 ==&lt;br /&gt;
&lt;br /&gt;
(23 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Turkey - January 10, 2009 &lt;br /&gt;
&lt;br /&gt;
Joomla!Day Melbourne - February 7-8, 2009 - Melbourne, Australia [http://community.joomla.org/events/joomla-days/641-joomladay-melbourne-2009.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day UK (2) - March 13-14, 2009 - Maidstone, England, United Kingdom&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Las Vegas - April 4, 2009 - Las Vegas, Nevada, USA [http://lasvegas.joomladayusa.org/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day India - April 25, 2009 - Pune, India [http://community.joomla.org/blogs/community/811-joomla-day-pune-india-a-big-success.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - May 15-16, 2009 - Stockholm, Sweden&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - May 24, 2009 - Paris, France&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New England - May 30, 2009 - Brattleboro, Vermont, USA [http://community.joomla.org/events/joomla-days/771-joomladay-new-england-2009.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (4) - June 12-13, 2009 - Nieuwegein, Netherlands&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Cape Town - August 14, 2009 - Cape Town, South Africia&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bangkok - August 22-23, 2009 - Bangkok, Thailand [http://www.flickr.com/photos/laithaiphoto/sets/72157622115004400/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - September, 12, 2009 - Rio de Janeiro/RJ, Brazil &lt;br /&gt;
&lt;br /&gt;
Joomla!Day Germany - September, 24 - 26, 2009 - Bad Nauheim, Germany&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Mongolia - September 29-30, 2009 - Ulan Bataar, Mongolia&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Norway - October ?, 2009 - Drammen, Norway&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Gauteng - October 8-10, 2009 - Gauteng, South Africa&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Hungary - October 10, 2009 - Budapest, Hungary&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New York - October 12, 2009 - New York, New York, USA [http://community.joomla.org/events/joomla-days/912-joomla-day-new-york.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sydney - October 17-18, 2009 - Sydney, Australia [http://sydney.joomladay.org.au/groups/viewgroup/5-Welcome+to+Sydney+JoomlaDay+17%2B18+Oct+2009]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Vietnam - November 1, 2009 - Hồ Chí Minh City, Vietnam [http://community.joomla.org/events/joomla-days/1056-joomladay-vietnam-2009.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Italy - November 21, 2009 - Rome, Italy&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain (2) - December 11-12, 2009 - Barcelona, Spain [http://www.joomladay.info/2009/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Nigeria - December 12, 2009 - Lagos, Nigeria&lt;br /&gt;
&lt;br /&gt;
== 2010 ==&lt;br /&gt;
&lt;br /&gt;
(17 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Melbourne - February 12-14, 2010 - Melbourne, Australia [http://community.joomla.org/events/joomla-days/1102-joomladay-melbourne-2010.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - March 21, 2010 - Bordeaux, France&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain (3) - April 9-10, 2010 - Mallorca, Spain [http://www.joomladay.cat/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (5) - April 23-24, 2010 - Utrecht, Netherlands [http://www.joomladagen.nl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - April 23-24, 2010 - Stockholm, Sweden [http://www.joomladay.se/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Norway - June 4-5, 2010 - Drammen, Norway [http://www.joomladay.no/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New England - June 5, 2010 - Marlboro, Vermont, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brisbane - June 18-19, 2010 - Brisbane, Australia&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - September 11-12, 2010 - Brasília/DF, Brazil [http://www.joomladaybrasil.org/2010]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day USA West - October 1-3, 2010 - San Jose, California, USA [http://www.joomladaywest.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Italy - October 9, 2010 - Verona, Italy&lt;br /&gt;
&lt;br /&gt;
Joomla!Day DC - October 16, 2010 - Chevy Chase, Maryland, USA [http://www.joomladaydc.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Denmark - October 29-30, 2010 - Kolding, Denmark [http://www.joomladay.dk]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day UK (3) - October 30-31, 2010 - Ipswich, England, United Kingdom&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bangkok - November 13-14, 2010 - Bangkok, Thailand [http://www.joomladay.in.th/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain (4) - November 26-27, 2010 - Valencia, Spain [http://www.joomladay2010.es/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day NYC - December 4-5, 2010 - New York City, New York, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Nigeria - December 11, 2010 - Lagos, Nigeria&lt;br /&gt;
&lt;br /&gt;
== 2011 ==&lt;br /&gt;
&lt;br /&gt;
(29 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Chile - January 18, 2011 - Santiago, Chile [http://www.joomladay-chile.cl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Night Stockholm - February 4, 2011 - Stockholm, Sweden&lt;br /&gt;
&lt;br /&gt;
Joomla!Day India - March 12-13, 2011 - Pune, Maharashtra, India [http://www.joomladay.co.in]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (6) - April 2-3, 2011 - Doorn, Netherlands [http://www.joomladagen.nl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New England - April 2, 2011 - Brattleboro, Vermont, USA [http://www.joomladaynewengland.org]&lt;br /&gt;
[[Media:JoomlaDayNEProgram2011-schedule.jpg]] &lt;br /&gt;
[[Media:JoomlaDayNEProgram2011-speakers.jpg]] &lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - April 2-3, 2011 - Lyon, France [http://www.joomladay.fr/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Algeria - April 19 2011 - Alger, Algeria [http://www.joomladayalgerie.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Greece - May 28-29, 2011 - Athens, Greece [http://joomladay.gr/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Malaysia - June 25, 2011 - Kuala Lumpur, Malaysia [http://www.joomla-day.org.my/2011/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Night Chile - July 6, 2011 - Santiago, Chile [http://joomlanight-chile.cl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Chicago - August 5-6, 2011 - Chicago, Illinois, USA [http://www.joomladaychicago.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Norway - August 12-13, 2011 - Drammen, Norway [http://www.joomladay.no/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bosnia and Herzegovina - August 12-14, 2011 - Tesanj, Bosnia [http://www.joomla.ba/konferencija]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Cape Town - August  19-20, 2011 - Cape Town, South Africa [http://www.joomladay.org.za/] [http://www.joomladay.org.za/talks-sessions/programme.html programme]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Germany - September 2-3, 2011 - Hamburg, Germany [http://www.joomladay.de]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - September 2-4, 2011 - Florianópolis/SC, Brazil [http://www.joomladaybrasil.org/2011]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Austin - September 15, 2011 - Austin, Texas, USA [http://www.joomladayaustin.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day UK - September 24-25, 2011 - London, England [http://www.joomladayuk2011.org]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Israel - October 10, 2011 - Tel Aviv, Israel [http://jday11.joomla.org.il]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Italy - October 22, 2011 - Florence, Italy [http://www.joomladay.it]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day NYC - October 22-23, 2011 - New York City, New York, USA [http://www.joomladaynyc.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Denmark - October 28-29, 2011 - Kolding, Denmark [http://www.joomladay.dk]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Australia - November 5-6, 2011 - Sydney, Australia [http://sydney.joomladay.org.au/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Finland - November 5, 2011 - Helsinki, Finland [http://joomladayfinland.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain - November 9-10, 2011 - Zaragoza, Spain [http://www.joomladay2011.es/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Midwest - November 12, 2011 - Milwaukee, Wisconsin, USA [http://www.joomladaymidwest.org]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Algeria - November 19, 2011 - Oran, Algeria [http://www.joomladayoran.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Los Angeles - December 3, 2011 - Los Angeles, California, USA [http://www.jdayla.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Lagos  - December 17, 2011 - Lagos, Nigeria [http://joomlang.com/]&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
(29 events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Chile - January 19, 2012 - Santiago, Chile&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bangkok - February 25, 2012 - Bangkok, Thailand [http://www.joomladay.in.th]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Guatemala - February 29 - March 3, 2012 - Guatemala City, Guatemala [http://www.joomlagt.org/joomladay2012/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - March 24, 2012 - Strasbourg, France [http://www.joomladay.fr/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New England - March 31, 2012 - Brattleboro, Vermont, USA [http://www.joomladaynewengland.org/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Iran - April 12, 2012 - Mashhad, Iran [http://www.joomladay.ir]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (7) - April 21-22, 2012 - Zeist, Netherlands [http://www.joomladagen.nl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Ribeirão Preto - May 11-12, 2012 - Ribeirão Preto, Brasil [http://jdrp.unaerp.br/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - May 26, 2012 - Stockholm, Sweden [http://www.joomladay.se/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day China 2012 - June 2, 2012 - Pudong, China [http://joomla.51qiangzuo.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Greece 2012 - June 2-3, 2012 - Athens, Greece [http://joomladay.gr]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Togo - June 14, 2012 - Assahoun, Togo&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Mexico - June 22-23, 2012 - Mexico City, Mexico [http://www.joomladaymexico.org/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Chicago - August 10-11, 2012 - Chicago, Illinois, USA [http://joomladaychicago.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Cape Town - August 17-18, 2012 - Cape Town, South Africa [http://www.joomladay.org.za]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Colombia - September 06, 2012 - Cali, Colombia [http://www.joomladay.com.co/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - September 07-08, 2012 - Belo Horizonte, Minas Gerais, Brasil [http://www.joomladaybrasil.org/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Poland - September 22-23, 2012 - Poznań, Poland [http://www.joomla-day.pl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day NYC - September 22-23, 2012 - New York, New York, USA [http://www.joomladaynyc.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain - September 28-29, 2012 - Mérida, Spain [http://www.joomladayspain.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Italy - September 29, 2012 - Turin, Italy [http://www.joomladay.it/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Turkey - September 29, 2012 - Konya, Turkey [http://www.joomla.org.tr/en/Konya]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Germany - October 05-06, 2012 - Berlin, Germany [http://www.joomladay.de/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Israel - October 10, 2012- Tel Aviv, Israel [http://jday12.joomla.org.il]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bulgaria - October 13, 2012 - Sofia, Bulgaria [http://joomladay.bg/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Australia - October 20-21, 2012 - Sydney, Australia [http://sydney.joomladay.org.au/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Denmark - October 26-27, 2012 - Kolding, Denmark [http://www.joomladay.dk]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Iran - November 15, 2012 - Kerman, Iran [http://www.joomladay.ir/]&lt;br /&gt;
&lt;br /&gt;
Joomla World Conference - November 16-18, 2012 - San Jose, California, USA [http://conference.joomla.org]&lt;br /&gt;
&lt;br /&gt;
== 2013 ==&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Melbourne - January 19-20, 2013 - Melbourne, Australia [http://melbourne.joomladay.org.au/] &lt;br /&gt;
&lt;br /&gt;
Joomla!Day India - February 8-10, 2013 - Mumbai, India [http://www.joomladayindia.in/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day North Carolina - February 23, 2013 - Raleigh, North Carolina, USA [http://joomladaync.org]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Gabon - March 7-8, 2013 - Libreville, Gabon [www.joomladaygabon.info]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Boston - March 16, 2013 - Cambridge, MA, USA [http://joomladayboston.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - March 22-24, 2013 - Blagnac, France [http://www.joomladay.fr/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New England - April 13, 2013 - Brattleboro, Vermont, USA [http://www.joomladaynewengland.org/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands - April 20-21, 2013 - Zeist, Netherlands [http://www.joomladagen.nl/2013/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Guatemala - April 25-26, 2013 - Guatemala City, Guatemala [http://www.joomlagt.org/joomladay2013/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Taiwan - June 15, 2013 - Taipei City, Taiwan [http://joomladay.tw/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Germany - September 13,14, 2013 - Nuremberg, German [http://joomladay.de/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Switzerland - September 21, 2013 - Berne, Switzerland [http://www.joomladay.ch/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Israel - October 10, 2013- Tel Aviv, Israel [http://jday.joomla.org.il]&lt;br /&gt;
&lt;br /&gt;
JoomlaDay™ Italy - October 12, 2013 - Naples, Italy [http://www.joomladay.it/]&lt;br /&gt;
&lt;br /&gt;
[[Category:Events Working Group]]&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Nginx&amp;diff=99411</id>
		<title>Nginx</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Nginx&amp;diff=99411"/>
		<updated>2013-05-17T18:56:15Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://nginx.net/ nginx] is a lightweight web server that powers 12.07% of web servers across all domains[http://en.wikipedia.org/wiki/Nginx#Usage]. Unless you have specific requirements that demand a heavy web server like Apache, you are much better off using nginx.&lt;br /&gt;
&lt;br /&gt;
Below are instructions on how to get Joomla! running with [http://wiki.nginx.org/PHPFcgiExample nginx and PHP via FastCGI].&lt;br /&gt;
&lt;br /&gt;
== Install nginx ==&lt;br /&gt;
For Ubuntu, run &amp;lt;tt&amp;gt;aptitude install nginx&amp;lt;/tt&amp;gt;. For other distros, run the corresponding package manager, or see http://wiki.nginx.org/Install.&lt;br /&gt;
&lt;br /&gt;
== Install PHP FastCGI == &lt;br /&gt;
For Ubuntu, read this excellent page on how to [http://wiki.nginx.org/PHPFcgiExample configure PHP and FastCGI for nginx].&lt;br /&gt;
&lt;br /&gt;
For Gentoo, PHP will run as a FastCGI service (fpm), so the nginx server will run PHP as a separated process:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo &amp;quot;dev-lang/php gd gd2 curl simplexml tokenizer dom tidy sqlite xml fpm cgi&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# emerge php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The default settings of php-fpm are good for most servers. For special configuration visit the [http://php.net/manual/en/install.fpm.php PHP FPM site].&lt;br /&gt;
&lt;br /&gt;
== Configure Nginx ==&lt;br /&gt;
nginx configuration files reside in:&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/nginx/sites-available/&amp;lt;/tt&amp;gt; on Ubuntu (for sites running on that nginx instance)&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/nginx/nginx.conf&amp;lt;/tt&amp;gt; on Gentoo and Raspbian(= Debian optimized for Raspberry Pi)&lt;br /&gt;
&lt;br /&gt;
Here is an sample nginx configuration file joomla.conf that you can reuse over all your nginx enabled-sites&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
        listen 80;&lt;br /&gt;
        server_name YOUR_DOMAIN;&lt;br /&gt;
        server_name_in_redirect off;&lt;br /&gt;
&lt;br /&gt;
        access_log /var/log/nginx/localhost.access_log main;&lt;br /&gt;
        error_log /var/log/nginx/localhost.error_log info;&lt;br /&gt;
&lt;br /&gt;
        root PATH_ON_SERVER;&lt;br /&gt;
        index index.php index.html index.htm default.html default.htm;&lt;br /&gt;
        # Support Clean (aka Search Engine Friendly) URLs&lt;br /&gt;
        location / {&lt;br /&gt;
                try_files $uri $uri/ /index.php?$args;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        # deny running scripts inside writable directories&lt;br /&gt;
        location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {&lt;br /&gt;
                return 403;&lt;br /&gt;
                error_page 403 /403_error.html;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        location ~ \.php$ {&lt;br /&gt;
            fastcgi_pass  127.0.0.1:9000;&lt;br /&gt;
            fastcgi_index index.php;&lt;br /&gt;
            include fastcgi_params;&lt;br /&gt;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;&lt;br /&gt;
            include /etc/nginx/fastcgi.conf;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        # caching of files &lt;br /&gt;
        location ~* \.(ico|pdf|flv)$ {&lt;br /&gt;
                expires 1y;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {&lt;br /&gt;
                expires 14d;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pay attention for few things:&lt;br /&gt;
# The parameter &amp;lt;tt&amp;gt;fastcgi_pass&amp;lt;/tt&amp;gt; is set to 127.0.0.1:9000, corresponding to the port that fpm is configured to listen to. This means you can run the PHP processes on separate servers. On Gentoo, you can find this configuration in &amp;lt;tt&amp;gt;/etc/php/fpm-php5.3/php-fpm.conf/&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Don&#039;t forget to replace YOUR_DOMAIN &amp;amp; PATH_ON_SERVER depend on your domain and the path of Joomla on your server.&lt;br /&gt;
&lt;br /&gt;
== GZip support ==&lt;br /&gt;
If you need GZip compression support, add the following section to the http section of the main nginx configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        gzip on;&lt;br /&gt;
        gzip_http_version 1.1;&lt;br /&gt;
        gzip_comp_level 6;&lt;br /&gt;
        gzip_min_length 1100;&lt;br /&gt;
        gzip_buffers 4 8k;&lt;br /&gt;
        gzip_types text/plain application/xhtml+xml text/css application/xml application/xml+rss text/javascript application/javascript application/x-javascr$&lt;br /&gt;
        gzip_proxied     any;&lt;br /&gt;
        gzip_disable     &amp;quot;MSIE [1-6]\.&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* [http://en.gentoo-wiki.com/wiki/Nginx Nginx in Gentoo]&lt;br /&gt;
* [http://www.kevinworthington.com/nginx-for-windows/ Nginx for Windows]&lt;br /&gt;
* [http://wiki.nginx.org/Install#Ubuntu_PPA Nginx in Ubuntu]&lt;br /&gt;
* [http://www.debianadmin.com/howto-install-nginx-webserver-in-debian.html Nginx in Debian]&lt;br /&gt;
* [http://php.net/manual/en/install.fpm.php PHP-FPM installation and configuration]&lt;br /&gt;
* [http://wiki.nginx.org/HttpGzipModule GZip in Nginx]&lt;br /&gt;
* [http://wiki.nginx.org/HttpRewriteModule Rewrite in Nginx]&lt;br /&gt;
* [http://nginx.org/en/docs/http/request_processing.html How nginx processes a request]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:Developing_a_MVC_Component/Adding_categories&amp;diff=82504</id>
		<title>Archived:Developing a MVC Component/Adding categories</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:Developing_a_MVC_Component/Adding_categories&amp;diff=82504"/>
		<updated>2013-03-12T16:01:43Z</updated>

		<summary type="html">&lt;p&gt;Oc666: fix PHP strict standard - inheritance should have the same stamp as parent&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{version/tutor|2.5}}&lt;br /&gt;
{{Chunk:Developing a Model-View-Controller (MVC) Component for Joomla!2.5 - Contents}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This tutorial is part of the [[Developing a Model-View-Controller (MVC) Component for Joomla!2.5]] tutorial. You are encouraged to read the previous parts of the tutorial before reading this.&lt;br /&gt;
&lt;br /&gt;
The Joomla framework has implemented the use of categories for all components. Adding categorized ability to a component is fairly simple.&lt;br /&gt;
&lt;br /&gt;
== Modifying the SQL ==&lt;br /&gt;
In order to manage categories, we have to change the SQL tables.&lt;br /&gt;
&lt;br /&gt;
With your favorite editor, modify &#039;&#039;admin/sql/install.mysql.utf8.sql&#039;&#039; and put these lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;admin/sql/install.mysql.utf8.sql&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;admin/sql/install.mysql.utf8.sql&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
DROP TABLE IF EXISTS `#__helloworld`;&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `#__helloworld` (&lt;br /&gt;
  `id` int(11) NOT NULL auto_increment,&lt;br /&gt;
  `greeting` varchar(25) NOT NULL,&lt;br /&gt;
  `catid` int(11) NOT NULL default &#039;0&#039;,&lt;br /&gt;
   PRIMARY KEY  (`id`)&lt;br /&gt;
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;&lt;br /&gt;
&lt;br /&gt;
INSERT INTO `#__helloworld` (`greeting`) VALUES&lt;br /&gt;
	(&#039;Hello World!&#039;),&lt;br /&gt;
	(&#039;Good bye World!&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;admin/sql/updates/mysql/0.0.12.sql&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;admin/sql/updates/mysql/0.0.12.sql&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
ALTER TABLE `#__helloworld` ADD `catid` int(11) NOT NULL default &#039;0&#039; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modifying the form ==&lt;br /&gt;
A HelloWorld message can now belong to a category. We have to modify the editing form. In the &#039;&#039;admin/models/forms/helloworld.xml&#039;&#039; file, put these lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;admin/models/forms/helloworld.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;admin/models/forms/helloworld.xml&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&lt;br /&gt;
	addrulepath=&amp;quot;/administrator/components/com_helloworld/models/rules&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
	&amp;lt;fieldset&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;id&amp;quot;&lt;br /&gt;
			type=&amp;quot;hidden&amp;quot;&lt;br /&gt;
		/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;greeting&amp;quot;&lt;br /&gt;
			type=&amp;quot;text&amp;quot;&lt;br /&gt;
			label=&amp;quot;COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_LABEL&amp;quot;&lt;br /&gt;
			description=&amp;quot;COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_DESC&amp;quot;&lt;br /&gt;
			size=&amp;quot;40&amp;quot;&lt;br /&gt;
			class=&amp;quot;inputbox validate-greeting&amp;quot;&lt;br /&gt;
			validate=&amp;quot;greeting&amp;quot;&lt;br /&gt;
			required=&amp;quot;true&amp;quot;&lt;br /&gt;
			default=&amp;quot;&amp;quot;&lt;br /&gt;
		/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;catid&amp;quot;&lt;br /&gt;
			type=&amp;quot;category&amp;quot;&lt;br /&gt;
			extension=&amp;quot;com_helloworld&amp;quot;&lt;br /&gt;
			class=&amp;quot;inputbox&amp;quot;&lt;br /&gt;
			default=&amp;quot;&amp;quot;&lt;br /&gt;
			label=&amp;quot;COM_HELLOWORLD_HELLOWORLD_FIELD_CATID_LABEL&amp;quot;&lt;br /&gt;
			description=&amp;quot;COM_HELLOWORLD_HELLOWORLD_FIELD_CATID_DESC&amp;quot;&lt;br /&gt;
			required=&amp;quot;true&amp;quot;&lt;br /&gt;
		&amp;gt;&lt;br /&gt;
			&amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JOPTION_SELECT_CATEGORY&amp;lt;/option&amp;gt;&lt;br /&gt;
		&amp;lt;/field&amp;gt;&lt;br /&gt;
	&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the category can be 0 (representing no category).&lt;br /&gt;
&lt;br /&gt;
== Modifying the menu type ==&lt;br /&gt;
The HelloWorld menu type displays a drop down list of all messages. If the message is categorized, we have to add the category in this display.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;admin/models/fields/helloworld.php&#039;&#039; file, put these lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;admin/models/fields/helloworld.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;admin/models/fields/helloworld.php&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
&lt;br /&gt;
// import the list field type&lt;br /&gt;
jimport(&#039;joomla.form.helper&#039;);&lt;br /&gt;
JFormHelper::loadFieldClass(&#039;list&#039;);&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * HelloWorld Form Field class for the HelloWorld component&lt;br /&gt;
 */&lt;br /&gt;
class JFormFieldHelloWorld extends JFormFieldList&lt;br /&gt;
{&lt;br /&gt;
	/**&lt;br /&gt;
	 * The field type.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @var		string&lt;br /&gt;
	 */&lt;br /&gt;
	protected $type = &#039;HelloWorld&#039;;&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Method to get a list of options for a list input.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	array		An array of JHtml options.&lt;br /&gt;
	 */&lt;br /&gt;
	protected function getOptions() &lt;br /&gt;
	{&lt;br /&gt;
		$db = JFactory::getDBO();&lt;br /&gt;
&lt;br /&gt;
		/// $query = new JDatabaseQuery; WARNING - There&#039;s an error in this line, JDatabaseQuery is an abstract class&lt;br /&gt;
		$query = $db-&amp;gt;getQuery(true); // THIS IS THE FIX, WARNING IT MUST BE FIXED IN THE ZIP FILES&lt;br /&gt;
&lt;br /&gt;
		$query-&amp;gt;select(&#039;#__helloworld.id as id,greeting,#__categories.title as category,catid&#039;);&lt;br /&gt;
		$query-&amp;gt;from(&#039;#__helloworld&#039;);&lt;br /&gt;
		$query-&amp;gt;leftJoin(&#039;#__categories on catid=#__categories.id&#039;);&lt;br /&gt;
		$db-&amp;gt;setQuery((string)$query);&lt;br /&gt;
		$messages = $db-&amp;gt;loadObjectList();&lt;br /&gt;
		$options = array();&lt;br /&gt;
		if ($messages)&lt;br /&gt;
		{&lt;br /&gt;
			foreach($messages as $message) &lt;br /&gt;
			{&lt;br /&gt;
				$options[] = JHtml::_(&#039;select.option&#039;, $message-&amp;gt;id, $message-&amp;gt;greeting .&lt;br /&gt;
				                      ($message-&amp;gt;catid ? &#039; (&#039; . $message-&amp;gt;category . &#039;)&#039; : &#039;&#039;));&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		$options = array_merge(parent::getOptions(), $options);&lt;br /&gt;
		return $options;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It will now display the category between parenthesis.&lt;br /&gt;
&lt;br /&gt;
== Managing the submenu ==&lt;br /&gt;
The &#039;&#039;com_categories&#039;&#039; component allows to set the submenu using a helper file. With your favorite file manager and editor, put a &#039;&#039;admin/helpers/helloworld.php&#039;&#039; file containing these lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;admin/helpers/helloworld.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;admin/helpers/helloworld.php&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * HelloWorld component helper.&lt;br /&gt;
 */&lt;br /&gt;
abstract class HelloWorldHelper&lt;br /&gt;
{&lt;br /&gt;
	/**&lt;br /&gt;
	 * Configure the Linkbar.&lt;br /&gt;
	 */&lt;br /&gt;
	public static function addSubmenu($submenu) &lt;br /&gt;
	{&lt;br /&gt;
		JSubMenuHelper::addEntry(JText::_(&#039;COM_HELLOWORLD_SUBMENU_MESSAGES&#039;),&lt;br /&gt;
		                         &#039;index.php?option=com_helloworld&#039;, $submenu == &#039;messages&#039;);&lt;br /&gt;
		JSubMenuHelper::addEntry(JText::_(&#039;COM_HELLOWORLD_SUBMENU_CATEGORIES&#039;),&lt;br /&gt;
		                         &#039;index.php?option=com_categories&amp;amp;view=categories&amp;amp;extension=com_helloworld&#039;,&lt;br /&gt;
		                         $submenu == &#039;categories&#039;);&lt;br /&gt;
		// set some global property&lt;br /&gt;
		$document = JFactory::getDocument();&lt;br /&gt;
		$document-&amp;gt;addStyleDeclaration(&#039;.icon-48-helloworld &#039; .&lt;br /&gt;
		                               &#039;{background-image: url(../media/com_helloworld/images/tux-48x48.png);}&#039;);&lt;br /&gt;
		if ($submenu == &#039;categories&#039;) &lt;br /&gt;
		{&lt;br /&gt;
			$document-&amp;gt;setTitle(JText::_(&#039;COM_HELLOWORLD_ADMINISTRATION_CATEGORIES&#039;));&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; You MUST use your component name (without com_) for the helper file name, or else your submenus won&#039;t show in category view.&lt;br /&gt;
&lt;br /&gt;
This function will be automatically called by the &#039;&#039;com_categories&#039;&#039; component. Note that it will&lt;br /&gt;
* change the submenu&lt;br /&gt;
* change some css properties (for displaying icons)&lt;br /&gt;
* change the browser title if the submenu is &#039;&#039;categories&#039;&#039;&lt;br /&gt;
* change the title and add a &#039;&#039;preferences&#039;&#039; button&lt;br /&gt;
&lt;br /&gt;
We have to change the general controller to call this function and modify the component entry point (the &#039;&#039;.icon-48-helloworld&#039;&#039; css class is now set in the &#039;&#039;addSubmenu&#039;&#039; function)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;admin/controller.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;admin/controller.php&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die(&#039;Restricted access&#039;);&lt;br /&gt;
&lt;br /&gt;
// import Joomla controller library&lt;br /&gt;
jimport(&#039;joomla.application.component.controller&#039;);&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * General Controller of HelloWorld component&lt;br /&gt;
 */&lt;br /&gt;
class HelloWorldController extends JController&lt;br /&gt;
{&lt;br /&gt;
	/**&lt;br /&gt;
	 * display task&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return void&lt;br /&gt;
	 */&lt;br /&gt;
	public function display($cachable = false, $urlparams = false)&lt;br /&gt;
	{&lt;br /&gt;
		// set default view if not set&lt;br /&gt;
		$input = JFactory::getApplication()-&amp;gt;input;&lt;br /&gt;
		$input-&amp;gt;set(&#039;view&#039;, $input-&amp;gt;getCmd(&#039;view&#039;, &#039;HelloWorlds&#039;));&lt;br /&gt;
&lt;br /&gt;
		// call parent behavior&lt;br /&gt;
		parent::display($cachable, $urlparams);&lt;br /&gt;
&lt;br /&gt;
		// Set the submenu&lt;br /&gt;
		HelloWorldHelper::addSubmenu(&#039;messages&#039;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;admin/helloworld.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;admin/helloworld.php&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die(&#039;Restricted access&#039;);&lt;br /&gt;
&lt;br /&gt;
// require helper file&lt;br /&gt;
JLoader::register(&#039;HelloWorldHelper&#039;, dirname(__FILE__) . DS . &#039;helpers&#039; . DS . &#039;helloworld.php&#039;);&lt;br /&gt;
&lt;br /&gt;
// import joomla controller library&lt;br /&gt;
jimport(&#039;joomla.application.component.controller&#039;);&lt;br /&gt;
&lt;br /&gt;
// Get an instance of the controller prefixed by HelloWorld&lt;br /&gt;
$controller = JController::getInstance(&#039;HelloWorld&#039;);&lt;br /&gt;
&lt;br /&gt;
// Perform the Request task&lt;br /&gt;
$input = JFactory::getApplication()-&amp;gt;input;&lt;br /&gt;
$controller-&amp;gt;execute($input-&amp;gt;getCmd(&#039;task&#039;));&lt;br /&gt;
&lt;br /&gt;
// Redirect if set by the controller&lt;br /&gt;
$controller-&amp;gt;redirect();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Adding some translation strings ==&lt;br /&gt;
Some strings have to be translated. In the &#039;&#039;admin/language/en-GB/en-GB.com_helloworld.ini&#039;&#039; file, put these lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;admin/language/en-GB/en-GB.com_helloworld.ini&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;admin/language/en-GB/en-GB.com_helloworld.ini&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
COM_HELLOWORLD=&amp;quot;Hello World!&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_ADMINISTRATION=&amp;quot;HelloWorld - Administration&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_ADMINISTRATION_CATEGORIES=&amp;quot;HelloWorld - Categories&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_HELLOWORLD_CREATING=&amp;quot;HelloWorld - Creating&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_HELLOWORLD_DETAILS=&amp;quot;Details&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_HELLOWORLD_EDITING=&amp;quot;HelloWorld - Editing&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_HELLOWORLD_ERROR_UNACCEPTABLE=&amp;quot;Some values are unacceptable&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_HELLOWORLD_FIELD_CATID_DESC=&amp;quot;The category the messages belongs to&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_HELLOWORLD_FIELD_CATID_LABEL=&amp;quot;Category&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_DESC=&amp;quot;This message will be displayed&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_LABEL=&amp;quot;Message&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_HELLOWORLD_HEADING_GREETING=&amp;quot;Greeting&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_HELLOWORLD_HEADING_ID=&amp;quot;Id&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_MANAGER_HELLOWORLD_EDIT=&amp;quot;HelloWorld manager: Edit Message&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_MANAGER_HELLOWORLD_NEW=&amp;quot;HelloWorld manager: New Message&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_MANAGER_HELLOWORLDS=&amp;quot;HelloWorld manager&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_N_ITEMS_DELETED_1=&amp;quot;One message deleted&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_N_ITEMS_DELETED_MORE=&amp;quot;%d messages deleted&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_SUBMENU_MESSAGES=&amp;quot;Messages&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_SUBMENU_CATEGORIES=&amp;quot;Categories&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Packaging the component ==&lt;br /&gt;
&lt;br /&gt;
Content of your code directory&lt;br /&gt;
* &#039;&#039;[[#helloworld.xml|helloworld.xml]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_02#site/helloworld.php|site/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_02#site/controller.php|site/controller.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/views/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/views/helloworld/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_04#site/views/helloworld/view.html.php|site/views/helloworld/view.html.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/views/helloworld/tmpl/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_06#site/views/helloworld/tmpl/default.xml|site/views/helloworld/tmpl/default.xml]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_02#site/views/helloworld/tmpl/default.php|site/views/helloworld/tmpl/default.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/models/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_06#site/models/helloworld.php|site/models/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/language/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/language/en-GB/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_08#site/language/en-GB/en-GB.com_helloworld.ini|site/language/en-GB/en-GB.com_helloworld.ini]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#admin/helloworld.php|admin/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#admin/controller.php|admin/controller.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/sql/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_06#admin/sql/install.mysql.utf8.sql|admin/sql/install.mysql.utf8.sql]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_06#admin/sql/uninstall.mysql.utf8.sql|admin/sql/uninstall.mysql.utf8.sql]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/sql/updates/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/sql/updates/mysql/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#admin/sql/updates/mysql/0.0.1.sql|admin/sql/updates/mysql/0.0.1.sql]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_06#admin/sql/install.mysql.utf8.sql|admin/sql/updates/mysql/0.0.6.sql]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#admin/sql/updates/mysql/0.0.12.sql|admin/sql/updates/mysql/0.0.12.sql]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/models/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/models/fields/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#admin/models/fields/helloworld.php|admin/models/fields/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/models/forms/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#admin/models/forms/helloworld.xml|admin/models/forms/helloworld.xml]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_11#admin/models/forms/helloworld.js|admin/models/forms/helloworld.js]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/models/rules/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_11#admin/models/rules/greeting.php|admin/models/rules/greeting.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_11#admin/models/helloworld.php|admin/models/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_09#admin/models/helloworlds.php|admin/models/helloworlds.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/views/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/views/helloworlds/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_10#admin/views/helloworlds/view.html.php|admin/views/helloworlds/view.html.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/views/helloworlds/tmpl/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_09#admin/views/helloworlds/tmpl/default.php|admin/views/helloworlds/tmpl/default.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_07#admin/views/helloworlds/tmpl/default_head.php|admin/views/helloworlds/tmpl/default_head.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_07#admin/views/helloworlds/tmpl/default_body.php|admin/views/helloworlds/tmpl/default_body.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_07#admin/views/helloworlds/tmpl/default_foot.php|admin/views/helloworlds/tmpl/default_foot.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/views/helloworlds/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_11#admin/views/helloworld/view.html.php|admin/views/helloworld/view.html.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_11#admin/views/helloworld/submitbutton.js|admin/views/helloworld/submitbutton.js]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/views/helloworld/tmpl/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_11#admin/views/helloworld/tmpl/edit.php|admin/views/helloworld/tmpl/edit.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/helpers/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#admin/helpers/helloworld.php|admin/helpers/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/tables/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#admin/tables/helloworld.php|admin/tables/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#admin/language/en-GB/en-GB.com_helloworld.ini|admin/language/en-GB/en-GB.com_helloworld.ini]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_08#admin/language/en-GB/en-GB.com_helloworld.menu.ini|admin/language/en-GB/en-GB.com_helloworld.menu.ini]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/controllers/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_11#admin/controllers/helloworld.php|admin/controllers/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_11#admin/controllers/helloworlds.php|admin/controllers/helloworldlist.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_08#language/en-GB/en-GB.ini|language/en-GB/en-GB.ini]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|media/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|media/images/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;media/images/tux-16x16.png&#039;&#039;&lt;br /&gt;
* &#039;&#039;media/images/tux-48x48.png&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create a compressed file of this directory or directly download the [http://joomlacode.org/gf/download/frsrelease/11394/58410/com_helloworld-1.6-part12.zip archive] and install it using the extension manager of Joomla. You can add a menu item of this component using the menu manager in the backend.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;helloworld.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;helloworld.xml&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;component&amp;quot; version=&amp;quot;2.5.0&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;name&amp;gt;COM_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The following elements are optional and free of formatting constraints --&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;November 2009&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;!--  The version string is recorded in the components table --&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.12&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The description is optional and defaults to the name --&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;COM_HELLOWORLD_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;install&amp;gt; &amp;lt;!-- Runs on install --&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/install.mysql.utf8.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&amp;gt; &amp;lt;!-- Runs on uninstall --&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/uninstall.mysql.utf8.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;update&amp;gt; &amp;lt;!-- Runs on update; New in 2.5 --&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;/schemas&amp;gt;&lt;br /&gt;
	&amp;lt;/update&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- Site Main File Copy Section --&amp;gt;&lt;br /&gt;
	&amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
		to copy FROM in the package to install therefore files copied&lt;br /&gt;
		in this section are copied from /site/ in the package --&amp;gt;&lt;br /&gt;
	&amp;lt;files folder=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;controller.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;views&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;models&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;media destination=&amp;quot;com_helloworld&amp;quot; folder=&amp;quot;media&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;images&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;administration&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Administration Menu Section --&amp;gt;&lt;br /&gt;
		&amp;lt;menu img=&amp;quot;../media/com_helloworld/images/tux-16x16.png&amp;quot;&amp;gt;COM_HELLOWORLD_MENU&amp;lt;/menu&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Administration Main File Copy Section --&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
			to copy FROM in the package to install therefore files copied&lt;br /&gt;
			in this section are copied from /admin/ in the package --&amp;gt;&lt;br /&gt;
		&amp;lt;files folder=&amp;quot;admin&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Admin Main File Copy Section --&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;controller.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
			&amp;lt;!-- SQL files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;sql&amp;lt;/folder&amp;gt;&lt;br /&gt;
			&amp;lt;!-- tables files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;tables&amp;lt;/folder&amp;gt;&lt;br /&gt;
			&amp;lt;!-- models files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;models&amp;lt;/folder&amp;gt;&lt;br /&gt;
			&amp;lt;!-- views files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;views&amp;lt;/folder&amp;gt;&lt;br /&gt;
			&amp;lt;!-- controllers files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;controllers&amp;lt;/folder&amp;gt;&lt;br /&gt;
			&amp;lt;!-- helpers files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;helpers&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;languages folder=&amp;quot;admin&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;language tag=&amp;quot;en-GB&amp;quot;&amp;gt;language/en-GB/en-GB.com_helloworld.ini&amp;lt;/language&amp;gt;&lt;br /&gt;
			&amp;lt;language tag=&amp;quot;en-GB&amp;quot;&amp;gt;language/en-GB/en-GB.com_helloworld.sys.ini&amp;lt;/language&amp;gt;&lt;br /&gt;
		&amp;lt;/languages&amp;gt;&lt;br /&gt;
	&amp;lt;/administration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zips ==&lt;br /&gt;
Download the zip file for this Part:&lt;br /&gt;
[https://github.com/downloads/rvsjoen/joomla-tutorials/com_helloworld-part12.zip]&lt;br /&gt;
&lt;br /&gt;
== Navigate ==&lt;br /&gt;
[[Developing a Model-View-Controller (MVC) Component for Joomla!2.5 - Part 11|Prev: Adding verifications]]&lt;br /&gt;
[[Developing a Model-View-Controller (MVC) Component for Joomla!2.5 - Part 13|Next: Adding configuration]]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
*[[User:cdemko|Christophe Demko]]&lt;br /&gt;
*[[User:oaksu|Ozgur Aksu]]&lt;br /&gt;
*[[User:Anibal.sanchez|Anibal Sanchez]] // Just a fix&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/User&amp;diff=77793</id>
		<title>J1.5:Plugin/Events/User</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/User&amp;diff=77793"/>
		<updated>2012-11-26T14:49:02Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|This page is under migrating to Joomla 2.5 new plugin trigger methods}}&lt;br /&gt;
&lt;br /&gt;
In a standard installation of Joomla! 2.5 we have several predefined events which, when triggered, call functions in the associated plugins.&lt;br /&gt;
&lt;br /&gt;
The user events are divided into two parts. First we have the events used while &lt;br /&gt;
authentication of a user takes place:&lt;br /&gt;
*onUserLogin (on Joomla 1.5: onLoginUser)&lt;br /&gt;
*onUserLogout (on Joomla 1.5: onLogoutUser)&lt;br /&gt;
*onUserAuthenticate (on Joomla 1.5: onAuthenticate)&lt;br /&gt;
*onUserAuthorisationFailure (on Joomla 1.5: onAuthenticateFailure)&lt;br /&gt;
  &lt;br /&gt;
Second we have the events triggered during user management:&lt;br /&gt;
*onUserBeforeSave (on Joomla 1.5: onBeforeStoreUser)&lt;br /&gt;
*onUserAfterSave (on Joomla 1.5: onAfterStoreUser)&lt;br /&gt;
*onUserBeforeDelete (on Joomla 1.5: onBeforeDeleteUser)&lt;br /&gt;
*onUserAfterDelete (on Joomla 1.5: onAfterDeleteUser)&lt;br /&gt;
&lt;br /&gt;
==onUserLogin==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered after the user is authenticated against the Joomla! user-base.&lt;br /&gt;
&lt;br /&gt;
If you need to abort the login process (authentication), you will need to use [http://docs.joomla.org/Reference:User_Events_for_Plugin_System#5.3.4_onAuthenticate onAuthenticate] instead.&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
* $user - an associative array of [http://api.joomla.org/Joomla-Framework/User/JAuthenticationResponse.html JAuthenticateResponse] type (see link for array keys)&lt;br /&gt;
* $options - an associative array containing these keys: [&amp;quot;remember&amp;quot;] =&amp;gt; bool, [&amp;quot;return&amp;quot;] =&amp;gt; string, [&amp;quot;entry_url&amp;quot;] =&amp;gt; string&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
Boolean&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/application/application.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/joomla.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onUserLogout==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered before the user is logged out of the system. &amp;lt;del&amp;gt;If one plugin&lt;br /&gt;
returns false, the global logout fails.&amp;lt;/del&amp;gt; (needs verification)&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
* $credentials - an associative array containing these keys: [&amp;quot;username&amp;quot;] =&amp;gt; string, [&amp;quot;id&amp;quot;] =&amp;gt; int&lt;br /&gt;
* $options - an associative array containing this key: [&amp;quot;clientid&amp;quot;] =&amp;gt; int&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
Boolean&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/application/application.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/joomla.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onUserAuthenticate==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered to verify that a set of login credentials is valid.&lt;br /&gt;
===Parameters===&lt;br /&gt;
Array of credentials. Structure:\\&lt;br /&gt;
[&#039;username&#039;]\\&lt;br /&gt;
[&#039;password&#039;]\\&lt;br /&gt;
Alternative authentication mechanisms can supply additional credentials.&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
An array of [[references:joomla.framework:user:jauthenticateresponse|JAuthenticateResponse]] objects detailing the results of each called plugin, including success or failure.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/application/user/authentication.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/authentication/gmail.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/authentication/joomla.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/authentication/ldap.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/authentication/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onUserLoginFailure==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered whenever a user authentication request is failed by any plugin.&lt;br /&gt;
===Parameters===&lt;br /&gt;
Two parameters. The credentials array for the user (see onAuthenticate), and the&lt;br /&gt;
[[references:joomla.framework:user:jauthenticateresponse|JAuthenticateResponse]] that caused the failure.&lt;br /&gt;
===Return Value===&lt;br /&gt;
Unknown. The return value appears to be ignored in any case.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/application/user/authentication.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onUserBeforeSave==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered before an update of a user record.&lt;br /&gt;
&lt;br /&gt;
Password in $user array is already hashed at this point. You may retrieve the cleartext password using $_POST[&#039;password&#039;].&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
* $user - An associative array of the columns in the user table (current values).&lt;br /&gt;
* $isnew - Boolean to identify if this is a new user (true - insert) or an existing one (false - update)&lt;br /&gt;
Note; You can retrieve the values that are about to get updated with JFactory::getUser();&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
None&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/user/user.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onUserAfterSave==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered after an update of a user record, or when a new user has been stored in the database.&lt;br /&gt;
&lt;br /&gt;
Password in $user array is already hashed at this point. You may retrieve the cleartext password using $_POST[&#039;password&#039;].&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
* &#039;&#039;&#039;$user&#039;&#039;&#039; - An associative array of the columns in the user table.&lt;br /&gt;
* &#039;&#039;&#039;$isnew&#039;&#039;&#039; - Boolean to identify if this is a new user (true - insert) or an existing one (false - update)&lt;br /&gt;
* &#039;&#039;&#039;$success&#039;&#039;&#039; - Boolean to identify if the store was successful&lt;br /&gt;
* &#039;&#039;&#039;$msg&#039;&#039;&#039; - Error message if store failed&lt;br /&gt;
Note: The old values that were just updated are not available here or afterwards. In case you need the old values, use onBeforeStoreUser().&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
None&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/user/user.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onUserBeforeDelete==&lt;br /&gt;
===Description===&lt;br /&gt;
The event is triggered when a user is about to be deleted from the system.&lt;br /&gt;
===Parameters===&lt;br /&gt;
* $user - An associative array of the columns in the user table.&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
None.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/user/user.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/joomla.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onUserAfterDelete==&lt;br /&gt;
===Description===&lt;br /&gt;
The event is triggered after a user has been deleted from the system.&lt;br /&gt;
===Parameters===&lt;br /&gt;
* $user - An associative array of the columns in the user table.&lt;br /&gt;
* $succes - Boolean to identify if the deletion was successful&lt;br /&gt;
* $msg - Error message if delete failed ([http://api.joomla.org/Joomla-Framework/Error/JError.html JError] object detailing the error, if any)&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
None.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/user/user.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/joomla.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&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>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/User&amp;diff=77791</id>
		<title>J1.5:Plugin/Events/User</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/User&amp;diff=77791"/>
		<updated>2012-11-26T14:37:11Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|This page is under migrating to Joomla 2.5 new plugin trigger methods}}&lt;br /&gt;
&lt;br /&gt;
In a standard installation of Joomla! 2.5 we have several predefined events which, when triggered, call functions in the associated plugins.&lt;br /&gt;
&lt;br /&gt;
The user events are divided into two parts. First we have the events used while &lt;br /&gt;
authentication of a user takes place:&lt;br /&gt;
*onUserLogin (on Joomla 1.5: onLoginUser)&lt;br /&gt;
*onUserLogout (on Joomla 1.5: onLogoutUser)&lt;br /&gt;
*onUserAuthorisation (on Joomla 1.5: onAuthenticate)&lt;br /&gt;
*onUserAuthorisationFailure (on Joomla 1.5: onAuthenticateFailure)&lt;br /&gt;
  &lt;br /&gt;
Second we have the events triggered during user management:&lt;br /&gt;
*onUserBeforeSave (on Joomla 1.5: onBeforeStoreUser)&lt;br /&gt;
*onUserAfterSave (on Joomla 1.5: onAfterStoreUser)&lt;br /&gt;
*onUserBeforeDelete (on Joomla 1.5: onBeforeDeleteUser)&lt;br /&gt;
*onUserAfterDelete (on Joomla 1.5: onAfterDeleteUser)&lt;br /&gt;
&lt;br /&gt;
==onUserLogin==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered after the user is authenticated against the Joomla! user-base.&lt;br /&gt;
&lt;br /&gt;
If you need to abort the login process (authentication), you will need to use [http://docs.joomla.org/Reference:User_Events_for_Plugin_System#5.3.4_onAuthenticate onAuthenticate] instead.&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
* $user - an associative array of [http://api.joomla.org/Joomla-Framework/User/JAuthenticationResponse.html JAuthenticateResponse] type (see link for array keys)&lt;br /&gt;
* $options - an associative array containing these keys: [&amp;quot;remember&amp;quot;] =&amp;gt; bool, [&amp;quot;return&amp;quot;] =&amp;gt; string, [&amp;quot;entry_url&amp;quot;] =&amp;gt; string&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
Boolean&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/application/application.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/joomla.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onUserLogout==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered before the user is logged out of the system. &amp;lt;del&amp;gt;If one plugin&lt;br /&gt;
returns false, the global logout fails.&amp;lt;/del&amp;gt; (needs verification)&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
* $credentials - an associative array containing these keys: [&amp;quot;username&amp;quot;] =&amp;gt; string, [&amp;quot;id&amp;quot;] =&amp;gt; int&lt;br /&gt;
* $options - an associative array containing this key: [&amp;quot;clientid&amp;quot;] =&amp;gt; int&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
Boolean&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/application/application.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/joomla.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onUserAuthorisation==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered to verify that a set of login credentials is valid.&lt;br /&gt;
===Parameters===&lt;br /&gt;
Array of credentials. Structure:\\&lt;br /&gt;
[&#039;username&#039;]\\&lt;br /&gt;
[&#039;password&#039;]\\&lt;br /&gt;
Alternative authentication mechanisms can supply additional credentials.&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
An array of [[references:joomla.framework:user:jauthenticateresponse|JAuthenticateResponse]] objects detailing the results of each called plugin, including success or failure.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/application/user/authentication.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/authentication/gmail.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/authentication/joomla.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/authentication/ldap.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/authentication/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onUserLoginFailure==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered whenever a user authentication request is failed by any plugin.&lt;br /&gt;
===Parameters===&lt;br /&gt;
Two parameters. The credentials array for the user (see onAuthenticate), and the&lt;br /&gt;
[[references:joomla.framework:user:jauthenticateresponse|JAuthenticateResponse]] that caused the failure.&lt;br /&gt;
===Return Value===&lt;br /&gt;
Unknown. The return value appears to be ignored in any case.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/application/user/authentication.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onUserBeforeSave==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered before an update of a user record.&lt;br /&gt;
&lt;br /&gt;
Password in $user array is already hashed at this point. You may retrieve the cleartext password using $_POST[&#039;password&#039;].&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
* $user - An associative array of the columns in the user table (current values).&lt;br /&gt;
* $isnew - Boolean to identify if this is a new user (true - insert) or an existing one (false - update)&lt;br /&gt;
Note; You can retrieve the values that are about to get updated with JFactory::getUser();&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
None&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/user/user.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onUserAfterSave==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered after an update of a user record, or when a new user has been stored in the database.&lt;br /&gt;
&lt;br /&gt;
Password in $user array is already hashed at this point. You may retrieve the cleartext password using $_POST[&#039;password&#039;].&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
* &#039;&#039;&#039;$user&#039;&#039;&#039; - An associative array of the columns in the user table.&lt;br /&gt;
* &#039;&#039;&#039;$isnew&#039;&#039;&#039; - Boolean to identify if this is a new user (true - insert) or an existing one (false - update)&lt;br /&gt;
* &#039;&#039;&#039;$success&#039;&#039;&#039; - Boolean to identify if the store was successful&lt;br /&gt;
* &#039;&#039;&#039;$msg&#039;&#039;&#039; - Error message if store failed&lt;br /&gt;
Note: The old values that were just updated are not available here or afterwards. In case you need the old values, use onBeforeStoreUser().&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
None&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/user/user.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onUserBeforeDelete==&lt;br /&gt;
===Description===&lt;br /&gt;
The event is triggered when a user is about to be deleted from the system.&lt;br /&gt;
===Parameters===&lt;br /&gt;
* $user - An associative array of the columns in the user table.&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
None.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/user/user.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/joomla.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onUserAfterDelete==&lt;br /&gt;
===Description===&lt;br /&gt;
The event is triggered after a user has been deleted from the system.&lt;br /&gt;
===Parameters===&lt;br /&gt;
* $user - An associative array of the columns in the user table.&lt;br /&gt;
* $succes - Boolean to identify if the deletion was successful&lt;br /&gt;
* $msg - Error message if delete failed ([http://api.joomla.org/Joomla-Framework/Error/JError.html JError] object detailing the error, if any)&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
None.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/user/user.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/joomla.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&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>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/User&amp;diff=76623</id>
		<title>J1.5:Plugin/Events/User</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/User&amp;diff=76623"/>
		<updated>2012-10-16T07:36:13Z</updated>

		<summary type="html">&lt;p&gt;Oc666: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In a standard installation of Joomla! 1.5 we have several predefined events which, when triggered, call functions in the associated plugins.&lt;br /&gt;
&lt;br /&gt;
The user events are divided into two parts. First we have the events used while &lt;br /&gt;
authentication of a user takes place:&lt;br /&gt;
*onLoginUser&lt;br /&gt;
*onLogoutUser&lt;br /&gt;
*onAuthenticate&lt;br /&gt;
*onAuthenticateFailure&lt;br /&gt;
  &lt;br /&gt;
Second we have the events triggered during user management:&lt;br /&gt;
*onBeforeStoreUser&lt;br /&gt;
*onAfterStoreUser&lt;br /&gt;
*onBeforeDeleteUser&lt;br /&gt;
*onAfterDeleteUser&lt;br /&gt;
&lt;br /&gt;
==onLoginUser==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered after the user is authenticated against the Joomla! user-base.&lt;br /&gt;
&lt;br /&gt;
If you need to abort the login process (authentication), you will need to use [http://docs.joomla.org/Reference:User_Events_for_Plugin_System#5.3.4_onAuthenticate onAuthenticate] instead.&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
* $user - an associative array of [http://api.joomla.org/Joomla-Framework/User/JAuthenticationResponse.html JAuthenticateResponse] type (see link for array keys)&lt;br /&gt;
* $options - an associative array containing these keys: [&amp;quot;remember&amp;quot;] =&amp;gt; bool, [&amp;quot;return&amp;quot;] =&amp;gt; string, [&amp;quot;entry_url&amp;quot;] =&amp;gt; string&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
Boolean&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/application/application.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/joomla.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onLogoutUser==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered before the user is logged out of the system. &amp;lt;del&amp;gt;If one plugin&lt;br /&gt;
returns false, the global logout fails.&amp;lt;/del&amp;gt; (needs verification)&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
* $credentials - an associative array containing these keys: [&amp;quot;username&amp;quot;] =&amp;gt; string, [&amp;quot;id&amp;quot;] =&amp;gt; int&lt;br /&gt;
* $options - an associative array containing this key: [&amp;quot;clientid&amp;quot;] =&amp;gt; int&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
Boolean&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/application/application.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/joomla.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onAuthenticate==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered to verify that a set of login credentials is valid.&lt;br /&gt;
===Parameters===&lt;br /&gt;
Array of credentials. Structure:\\&lt;br /&gt;
[&#039;username&#039;]\\&lt;br /&gt;
[&#039;password&#039;]\\&lt;br /&gt;
Alternative authentication mechanisms can supply additional credentials.&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
An array of [[references:joomla.framework:user:jauthenticateresponse|JAuthenticateResponse]] objects detailing the results of each called plugin, including success or failure.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/application/user/authentication.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/authentication/gmail.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/authentication/joomla.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/authentication/ldap.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/authentication/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onLoginFailure==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered whenever a user authentication request is failed by any plugin.&lt;br /&gt;
===Parameters===&lt;br /&gt;
Two parameters. The credentials array for the user (see onAuthenticate), and the&lt;br /&gt;
[[references:joomla.framework:user:jauthenticateresponse|JAuthenticateResponse]] that caused the failure.&lt;br /&gt;
===Return Value===&lt;br /&gt;
Unknown. The return value appears to be ignored in any case.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/application/user/authentication.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onBeforeStoreUser==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered before an update of a user record.&lt;br /&gt;
&lt;br /&gt;
Password in $user array is already hashed at this point. You may retrieve the cleartext password using $_POST[&#039;password&#039;].&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
* $user - An associative array of the columns in the user table (current values).&lt;br /&gt;
* $isnew - Boolean to identify if this is a new user (true - insert) or an existing one (false - update)&lt;br /&gt;
Note; You can retrieve the values that are about to get updated with JFactory::getUser();&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
None&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/user/user.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onAfterStoreUser==&lt;br /&gt;
===Description===&lt;br /&gt;
This event is triggered after an update of a user record, or when a new user has been stored in the database.&lt;br /&gt;
&lt;br /&gt;
Password in $user array is already hashed at this point. You may retrieve the cleartext password using $_POST[&#039;password&#039;].&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
* &#039;&#039;&#039;$user&#039;&#039;&#039; - An associative array of the columns in the user table.&lt;br /&gt;
* &#039;&#039;&#039;$isnew&#039;&#039;&#039; - Boolean to identify if this is a new user (true - insert) or an existing one (false - update)&lt;br /&gt;
* &#039;&#039;&#039;$success&#039;&#039;&#039; - Boolean to identify if the store was successful&lt;br /&gt;
* &#039;&#039;&#039;$msg&#039;&#039;&#039; - Error message if store failed&lt;br /&gt;
Note: The old values that were just updated are not available here or afterwards. In case you need the old values, use onBeforeStoreUser().&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
None&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/user/user.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onBeforeDeleteUser==&lt;br /&gt;
===Description===&lt;br /&gt;
The event is triggered when a user is about to be deleted from the system.&lt;br /&gt;
===Parameters===&lt;br /&gt;
* $user - An associative array of the columns in the user table.&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
None.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/user/user.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/joomla.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==onAfterDeleteUser==&lt;br /&gt;
===Description===&lt;br /&gt;
The event is triggered after a user has been deleted from the system.&lt;br /&gt;
===Parameters===&lt;br /&gt;
* $user - An associative array of the columns in the user table.&lt;br /&gt;
* $succes - Boolean to identify if the deletion was successful&lt;br /&gt;
* $msg - Error message if delete failed ([http://api.joomla.org/Joomla-Framework/Error/JError.html JError] object detailing the error, if any)&lt;br /&gt;
&lt;br /&gt;
===Return Value===&lt;br /&gt;
None.&lt;br /&gt;
===Used in files===&lt;br /&gt;
*&amp;lt;tt&amp;gt;libraries/joomla/user/user.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/joomla.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
*&amp;lt;tt&amp;gt;plugins/user/example.php&amp;lt;/tt&amp;gt;&lt;br /&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>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_to_update_from_joomla_3.0_to_3.0.1&amp;diff=76356</id>
		<title>How to update from joomla 3.0 to 3.0.1</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=How_to_update_from_joomla_3.0_to_3.0.1&amp;diff=76356"/>
		<updated>2012-10-10T20:50:41Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(note: Joomla 3.0.1 will be released at approximately 9am PDT on October 9th, 2012)&lt;br /&gt;
&lt;br /&gt;
This tutorial will show you how to update from Joomla 3.0.0 to 3.0.1, which is a bit different than normal. &lt;br /&gt;
&lt;br /&gt;
If you use Joomla!&#039;s FTP layer please see Note 3 below.&lt;br /&gt;
&lt;br /&gt;
== Backup your site ==&lt;br /&gt;
&lt;br /&gt;
The update process is generally safe, but it&#039;s always a good idea to make a backup before updating. So  please go ahead and make a backup of your site now.&lt;br /&gt;
&lt;br /&gt;
== Install the hotfix patch via Extension Manager. ==&lt;br /&gt;
&lt;br /&gt;
[[Image:media_1349743656750.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
=== Go to the Install from URL tab===&lt;br /&gt;
=== Copy and Past the Update URL===&lt;br /&gt;
The URL for the hot patch is: http://joomlacode.org/gf/download/frsrelease/17575/76677/joomla_3-0-0_hotpatch.zip. Copy and paste this into the Install URL text box.&lt;br /&gt;
&lt;br /&gt;
[[Image:media_1349749085366.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
&lt;br /&gt;
If you have any difficulty installing from URL, download the file to your computer and install using Upload Package File.&lt;br /&gt;
&lt;br /&gt;
== Set the Joomla! Update Server to Short Term Support ==&lt;br /&gt;
&lt;br /&gt;
Navigate to Components&amp;amp;rarr;Joomla! Update and click the Options button. Change the Update server to Short Term Support as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:Version-3-0-1-update-image01.png|frame|none]]&lt;br /&gt;
Click &#039;&#039;&#039;Save &amp;amp; Close&#039;&#039;&#039; to save the change.&lt;br /&gt;
&lt;br /&gt;
== Update to Joomla 3.0.1 via the Joomla! update component==&lt;br /&gt;
After getting the success message, go to Components &amp;gt;&amp;gt; Joomla! Update.&lt;br /&gt;
&lt;br /&gt;
[[Image:media_1349749557492.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note #1: If you are not getting the &amp;quot;Note: Hot patch for 3.0.1 update is installed&amp;quot; message, then please repeat Step 2 or ask for some help from a trusted developer.&lt;br /&gt;
&lt;br /&gt;
Note #2: If you&#039;re not getting the &amp;quot;Joomla! update was found&amp;quot;, click on Purge Cache button.&lt;br /&gt;
&lt;br /&gt;
If you see both of the above, Install the Update.&lt;br /&gt;
[[Image:media_1349745128572.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note #3: If you use FTP, you might have to FTP the update package, which you can download at:&lt;br /&gt;
&lt;br /&gt;
http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=6517&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Version 3.0 FAQ]]&lt;br /&gt;
[[Category:Version 3.0.0 FAQ]]&lt;br /&gt;
[[Category:Version 3.0.1 FAQ]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Languages_cannot_be_installed_using_install_languages&amp;diff=76053</id>
		<title>Languages cannot be installed using install languages</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Languages_cannot_be_installed_using_install_languages&amp;diff=76053"/>
		<updated>2012-09-29T19:56:57Z</updated>

		<summary type="html">&lt;p&gt;Oc666: Created page with &amp;quot;If you&amp;#039;re getting the next error when trying to install language: &amp;lt;pre&amp;gt; Warning Error connecting to the server: %s  Install path does not exist  Error Invalid URL  Message Err...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you&#039;re getting the next error when trying to install language:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Warning&lt;br /&gt;
Error connecting to the server: %s&lt;br /&gt;
&lt;br /&gt;
Install path does not exist&lt;br /&gt;
&lt;br /&gt;
Error&lt;br /&gt;
Invalid URL&lt;br /&gt;
&lt;br /&gt;
Message&lt;br /&gt;
Error installing Hebrew Try again later or contact the language team coordinator&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You have 2 options to solve this:&lt;br /&gt;
# Download the language [http://joomlacode.org/gf/project/jtranslation3_x/frs/?action=index manually], and install it via extension manager.&lt;br /&gt;
# Apply this [http://joomlacode.org/gf/download/trackeritem/29374/76505/29374-oc.patch patch].&lt;br /&gt;
&lt;br /&gt;
Note: This will be corrected automatically when you update to version 3.0.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Version 3.0 FAQ]]&lt;br /&gt;
[[Category:Version 3.0.0 FAQ]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Incorrect_files_permissions_in_version_3.0.0&amp;diff=76039</id>
		<title>Incorrect files permissions in version 3.0.0</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Incorrect_files_permissions_in_version_3.0.0&amp;diff=76039"/>
		<updated>2012-09-28T23:35:02Z</updated>

		<summary type="html">&lt;p&gt;Oc666: Undo revision 76038 by Oc666 (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Linux file permissions for version 3.0.0 are incorrectly set in the download archive files. The correct file permissions should be read/write only for the owner and read-only for group and other. In the 3.0.0 archives, this is incorrectly set as read-write for the owner and group members.&lt;br /&gt;
&lt;br /&gt;
For example, if you do the command &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt; at the Joomla root folder, you will see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-rw-rw-r-- ..... joomla.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead you should see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-rw-r--r-- ..... joomla.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
You can fix this from the Linux command line by navigating to the root folder of Joomla and typing this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;chmod -R g-w *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: This will be corrected automatically when you update to version 3.0.1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Version 3.0 FAQ]]&lt;br /&gt;
[[Category:Version 3.0.0 FAQ]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Incorrect_files_permissions_in_version_3.0.0&amp;diff=76038</id>
		<title>Incorrect files permissions in version 3.0.0</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Incorrect_files_permissions_in_version_3.0.0&amp;diff=76038"/>
		<updated>2012-09-28T23:32:39Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Linux file permissions for version 3.0.0 are incorrectly set in the download archive files. The correct file permissions should be read/write only for the owner and read-only for group and other. In the 3.0.0 archives, this is incorrectly set as read-write for the owner and group members.&lt;br /&gt;
&lt;br /&gt;
For example, if you do the command &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt; at the Joomla root folder, you will see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-rw-rw-r-- ..... joomla.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead you should see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-rw-r--r-- ..... joomla.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
You can fix this from the Linux command line by navigating to the root folder of Joomla and typing the next two commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;find . -type f -exec chmod 644 {} \;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;find . -type d -exec chmod 755 {} \;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: This will be corrected automatically when you update to version 3.0.1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Version 3.0 FAQ]]&lt;br /&gt;
[[Category:Version 3.0.0 FAQ]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Nginx&amp;diff=75797</id>
		<title>Nginx</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Nginx&amp;diff=75797"/>
		<updated>2012-09-25T10:33:40Z</updated>

		<summary type="html">&lt;p&gt;Oc666: Update nginx statistics world wide and add link for SEF guide&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://nginx.net/ nginx] is a lightweight web server that powers 11.53% of web servers across all domains[http://en.wikipedia.org/wiki/Nginx#Usage]. Unless you have specific requirements that demand a heavy web server like Apache, you are much better off using nginx.&lt;br /&gt;
&lt;br /&gt;
Below are instructions on how to get Joomla! running with [http://wiki.nginx.org/PHPFcgiExample nginx and PHP via FastCGI].&lt;br /&gt;
&lt;br /&gt;
== Install nginx ==&lt;br /&gt;
For Ubuntu, run &amp;lt;tt&amp;gt;aptitude install nginx&amp;lt;/tt&amp;gt;. For other distros, run the corresponding package manager, or see http://wiki.nginx.org/Install.&lt;br /&gt;
&lt;br /&gt;
== Install PHP FastCGI == &lt;br /&gt;
For Ubuntu, read this excellent page on how to [http://wiki.nginx.org/PHPFcgiExample configure PHP and FastCGI for nginx].&lt;br /&gt;
&lt;br /&gt;
For Gentoo, PHP will run as a FastCGI service (fpm), so the nginx server will run PHP asa  different process:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo &amp;quot;dev-lang/php gd gd2 curl simplexml tokenizer dom tidy sqlite xml fpm cgi&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# emerge php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The default settings of php-fpm are good for most servers. For special configuration visit the [http://php.net/manual/en/install.fpm.php PHP FPM site].&lt;br /&gt;
&lt;br /&gt;
== Configure Nginx ==&lt;br /&gt;
nginx configuration files reside in:&lt;br /&gt;
* &amp;lt;tt&amp;gt;/usr/local/nginx/conf/&amp;lt;/tt&amp;gt; on Ubuntu&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/nginx/nginx.conf&amp;lt;/tt&amp;gt; on Gentoo&lt;br /&gt;
&lt;br /&gt;
Here is an sample nginx configuration file joomla.conf that you can reuse over all your nginx enabled-sites&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
        listen 80;&lt;br /&gt;
        server_name YOUR_DOMAIN;&lt;br /&gt;
        server_name_in_redirect off;&lt;br /&gt;
&lt;br /&gt;
        access_log /var/log/nginx/localhost.access_log main;&lt;br /&gt;
        error_log /var/log/nginx/localhost.error_log info;&lt;br /&gt;
&lt;br /&gt;
        root PATH_ON_SERVER;&lt;br /&gt;
        index index.php index.html index.htm default.html default.htm;&lt;br /&gt;
        # Support Clean (aka Search Engine Friendly) URLs&lt;br /&gt;
        location / {&lt;br /&gt;
                try_files $uri $uri/ /index.php?q=$uri&amp;amp;$args;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        # deny running scripts inside writable directories&lt;br /&gt;
        location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {&lt;br /&gt;
                return 403;&lt;br /&gt;
                error_page 403 /403_error.html;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        location ~ \.php$ {&lt;br /&gt;
            fastcgi_pass  127.0.0.1:9000;&lt;br /&gt;
            fastcgi_index index.php;&lt;br /&gt;
            include fastcgi_params;&lt;br /&gt;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;&lt;br /&gt;
            include /etc/nginx/fastcgi.conf;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        # caching of files &lt;br /&gt;
        location ~* \.(ico|pdf|flv)$ {&lt;br /&gt;
                expires 1y;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {&lt;br /&gt;
                expires 14d;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pay attention for few things:&lt;br /&gt;
# The parameter &amp;lt;tt&amp;gt;fastcgi_pass&amp;lt;/tt&amp;gt; is set to 127.0.0.1:9000, corresponding to the port that fpm is configured to listen to. This means you can run the PHP processes on separate servers. On Gentoo, you can find this configuration in &amp;lt;tt&amp;gt;/etc/php/fpm-php5.3/php-fpm.conf/&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Don&#039;t forget to replace YOUR_DOMAIN &amp;amp; PATH_ON_SERVER depend on your domain and the path of Joomla on your server.&lt;br /&gt;
&lt;br /&gt;
== GZip support ==&lt;br /&gt;
If you need GZip compression support, add the following section to the http section of the main nginx configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        gzip on;&lt;br /&gt;
        gzip_http_version 1.1;&lt;br /&gt;
        gzip_comp_level 6;&lt;br /&gt;
        gzip_min_length 1100;&lt;br /&gt;
        gzip_buffers 4 8k;&lt;br /&gt;
        gzip_types text/plain application/xhtml+xml text/css application/xml application/xml+rss text/javascript application/javascript application/x-javascr$&lt;br /&gt;
        gzip_proxied     any;&lt;br /&gt;
        gzip_disable     &amp;quot;MSIE [1-6]\.&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* [http://en.gentoo-wiki.com/wiki/Nginx Nginx in Gentoo]&lt;br /&gt;
* [http://www.kevinworthington.com/nginx-for-windows/ Nginx for Windows]&lt;br /&gt;
* [http://wiki.nginx.org/Install#Ubuntu_PPA Nginx in Ubuntu]&lt;br /&gt;
* [http://www.debianadmin.com/howto-install-nginx-webserver-in-debian.html Nginx in Debian]&lt;br /&gt;
* [http://www.cyberciti.biz/faq/rhel-fedora-install-configure-nginx-php5/ Nginx in RedHat/Centos]&lt;br /&gt;
* [http://php.net/manual/en/install.fpm.php PHP-FPM installation and configuration]&lt;br /&gt;
* [http://wiki.nginx.org/HttpGzipModule GZip in Nginx]&lt;br /&gt;
* [http://wiki.nginx.org/HttpRewriteModule Rewrite in Nginx]&lt;br /&gt;
* [http://nginx.org/en/docs/http/request_processing.html How nginx processes a request]&lt;br /&gt;
* [http://www.waltercedric.com/index.php/joomlacms/2004-best-nginx-configuration-for-joomla Best nginx configuration for Joomla]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Pizza_Bugs_and_Fun_September_15,_2012&amp;diff=74351</id>
		<title>Pizza Bugs and Fun September 15, 2012</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Pizza_Bugs_and_Fun_September_15,_2012&amp;diff=74351"/>
		<updated>2012-09-13T22:29:17Z</updated>

		<summary type="html">&lt;p&gt;Oc666: /* Locations */ Add Israel to locations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:pbf.png|right]]&lt;br /&gt;
{{RightTOC}}&lt;br /&gt;
&lt;br /&gt;
We are announcing a Joomla! Pizza, Bugs and Fun event scheduled for Saturday, September 15, 2012. The event is global for virtual participants with local venues wherever they are organized. Joomla 3 is scheduled to be released on September 27th, so hopefully this Bug Squish will play a big part in squashing the remaining bugs.&lt;br /&gt;
&lt;br /&gt;
This is also a birthday celebration for Joomla! so it&#039;s actually a Pizza Bugs Birthday Cake and Fun event. Be sure to add birthday cake, ice cream or stroopwafels to your party!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See the section [http://docs.joomla.org/Pizza_Bugs_and_Fun_September_15,_2012#General_Instructions General Instructions] below for instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This wiki will be used as the central resource for coordinating efforts and accumulating results from this event.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;twitter&#039;&#039;&#039; hash tag is #jpbf12.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Bugs&#039;&#039;&#039; : We will be working through the [http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemBrowse&amp;amp;tracker_id=8103 CMS Issue Tracker] where there are bug reports needing patches and/or testing.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039; : We still have documentation that needs to be done. If you want to help out writing documentation, you&#039;re also more than welcome.&lt;br /&gt;
&lt;br /&gt;
== Organization, logistics and communications ==&lt;br /&gt;
&lt;br /&gt;
=== Communication ===&lt;br /&gt;
We have set up a Skype chat for all attendees of the PBF. Skype is invitation only and you are all invited. This is the same chat we used for the PBF in March. To get an invitation, email your Skype name to Andy Tarr (andrea.tarr@joomla.org). To make sure you can get in, get your invitation and log in before the day of the PBF. This Skype chat will be in English, but other languages can set up their own chat groups as well.&lt;br /&gt;
&lt;br /&gt;
=== General Instructions ===&lt;br /&gt;
&lt;br /&gt;
These instructions may change as we get closer to the event.&lt;br /&gt;
&lt;br /&gt;
==== If you want to test bug fixes (i.e. patches) ====&lt;br /&gt;
* Look for issues with a status of Pending. We want at least 2 testers and more on complex issues, so you can test what others have tested already.&lt;br /&gt;
* Use the [http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemBrowse&amp;amp;tracker_id=8103 CMS Issue Tracker] as usual, which means you download the patch from the tracker and apply it to a current SVN copy of Joomla.&lt;br /&gt;
* Most of the issues should have test instructions with them.&lt;br /&gt;
* Once you have tested, add comments to the tracker on your results. Start your comment with @test so you will get counted in the stats as a tester.&lt;br /&gt;
* Note: You don&#039;t have to delete the installation folder when you are using the development version of Joomla. This allows you to reinstall just by deleting the configuration.php file.&lt;br /&gt;
* Note: See the [http://docs.joomla.org/Pizza_Bug_and_Fun_September_15,_2012#FAQ FAQ] on how to apply a Git pull request as an SVN patch.&lt;br /&gt;
&lt;br /&gt;
===== Helpful Documentation =====&lt;br /&gt;
* [[Git for Testers and Trackers]] - We&#039;d recommend beginners to use TortoiseGit&lt;br /&gt;
* [[Tortoise SVN]] - This is only if you&#039;re using SVN.  We&#039;d recommend using Git instead (see above) though.&lt;br /&gt;
&lt;br /&gt;
==== If you want to code bug fixes ====&lt;br /&gt;
* Use the [http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemBrowse&amp;amp;tracker_id=8103 CMS Issue Tracker] as usual, looking for the issues with a status of Confirmed.&lt;br /&gt;
* When you have a patch, add it to the tracker and change the status to Pending if you are able to. Add testing instructions if they don&#039;t already exist.&lt;br /&gt;
&lt;br /&gt;
* If you want to just put your toe in the water at first, you could see if any of the older patches with a Pending status need updating to the newest build. When you find one that won&#039;t apply, you can manually apply it as necessary and then recreate the patch. Uploading to the tracker as a later version and note that you&#039;ve updated it to the current build. Just make sure that you are using Unix End of Line and create that patch at the project level.&lt;br /&gt;
&lt;br /&gt;
Helpful documentation:&lt;br /&gt;
* [[Setting up your workstation for Joomla! development]].  A step-by-step guide to installing the Eclipse IDE on your local workstation for Joomla! development.&lt;br /&gt;
* [http://community.joomla.org/blogs/community/828-webinar-using-eclipse-for-joomla-development.html Using Eclipse for Joomla! Development] Video webinar demonstrating overview of Eclipse features for Joomla! development&lt;br /&gt;
* [[Git for Testers and Trackers]]&lt;br /&gt;
* [[Working with git and github/My first pull request]]&lt;br /&gt;
* [[Secure coding guidelines]]&lt;br /&gt;
* [[Development Best Practices]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== If you want to work on Documentation ====&lt;br /&gt;
* To edit this Documentation Wiki, you will need a user account on the wiki. If you don&#039;t already have one, you may register on [[Special:UserLogin]]. You only need a valid email address and once registered you will have immediate permission to edit any page except for a few that are protected because they are high profile spam targets.&lt;br /&gt;
* Get your user account a few days before and make sure that you are able to sign in since the automatic authorization system can lock some people out.&lt;br /&gt;
* If you&#039;d like something to be edited, but you&#039;re not sure what to write exactly, use talk pages to add comments to pages.&lt;br /&gt;
* During the PBF, several experienced Wiki editors will be available in the Skype chat to help you.&lt;br /&gt;
&lt;br /&gt;
You are free to work on any aspect of the documentation that takes your fancy, but here are some suggestions for stuff that really needs some love and attention:&lt;br /&gt;
* Help screens for Joomla 3.0.&lt;br /&gt;
*: I would suggest you pick a particular part of the help screens and propagate that through all the help screens, rather than trying to complete a single help screen.  For example, make sure every page has an up-to-date screenshot or make sure every page has a correct and up-to-date description, and so on.  [[Help30:Help screens]] is a complete list of all the help screens.&lt;br /&gt;
* [[Getting Started with Joomla!]]&lt;br /&gt;
* [[Administrators]]&lt;br /&gt;
*: The plan is for this page to become the entry point into a comprehensive, task-orientated Administrators Manual.  As you can see, there are plenty of gaps that need filling, so please fill away :P&lt;br /&gt;
* [[Secure coding guidelines]]&lt;br /&gt;
*: This needs to be updated, or perhaps a new version created, following the introduction of JInput and the deprecation of JRequest.&lt;br /&gt;
* [[Developers]]&lt;br /&gt;
*: A re-organisation of the [[Developers]] page is long overdue and suggestions are welcome.  Rather than editing this page directly, I would suggest adding a new sub-page under your user page (eg. [[User:Jane Doe/Developers]] so that it can be reviewed and improved before committing a major change to this important page).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pizza ===&lt;br /&gt;
We are offering pizza (or any comparable locally popular main course) and soda for pre-registered groups. Be sure to also get some birthday cake to celebrate Joomla&#039;s birthday. We are not setting a specific maximum, but please don’t go crazy with it. Get enough so there’s plenty for everyone, but not a week’s worth of pizza and soda leftovers for everyone. Contact Andrea Tarr (andrea.tarr@joomla.org) before the event to register and get details.&lt;br /&gt;
&lt;br /&gt;
== Locations ==&lt;br /&gt;
&lt;br /&gt;
If you want to get people together and have a venue to share, please add it below. Share as much as possible details like exact location, url for more information about the venue, ways to register, date and time the venue is available etc.&lt;br /&gt;
&lt;br /&gt;
If you set up a location please send contact information to Andy Tarr (andrea.tarr@joomla.org). Feel free to contact her with any questions.&lt;br /&gt;
&lt;br /&gt;
===Virtual===&lt;br /&gt;
====Skype Chat====&lt;br /&gt;
We have set up a Skype chat for all attendees of the PBF. Skype is invitation only. This is the same Skype chat we used in March. To get an invitation, email your Skype name to Andy Tarr (andrea.tarr@joomla.org). To make sure you can get in, get your invitation and log in before the day of the PBF.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t already have Skype, you can download it for free from [http://skype.com Skype].&lt;br /&gt;
&lt;br /&gt;
=== Europe ===&lt;br /&gt;
 [http://www.joomla.fr/actualites-de-joomlaorg/session-pizza-bugs-and-fun-2012-participez-a-la-stabilisation-de-joomla-30 Joomla User Group France]&lt;br /&gt;
 B5Prod agency&lt;br /&gt;
 31 rue des Tuiliers&lt;br /&gt;
 69008 Lyon&lt;br /&gt;
 10:00 - 18:00 GMT&lt;br /&gt;
 Contact: [mailto:marc.studer@joomla.fr Marc Studer]&lt;br /&gt;
&lt;br /&gt;
 [http://www.joomla.fr/actualites-de-joomlaorg/session-pizza-bugs-and-fun-2012-participez-a-la-stabilisation-de-joomla-30 Joomla User Group France]&lt;br /&gt;
 Le Node&lt;br /&gt;
 12 rue des Faussets&lt;br /&gt;
 33000 Bordeaux&lt;br /&gt;
 9:00 - 18:00 GMT&lt;br /&gt;
 Contact: [mailto:eric.lamy@joomla.fr Eric Lamy]&lt;br /&gt;
&lt;br /&gt;
=== North America ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== South America ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Asia/Pacific ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Africa ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Middle East ===&lt;br /&gt;
 [https://www.facebook.com/groups/joomlaisrael/permalink/459141894130485/ Joomla User Group Israel]&lt;br /&gt;
 Place: TBD. Currently skype&lt;br /&gt;
 21:00 UTC+3&lt;br /&gt;
 Contact: [mailto:info@joomla.org.il info at joomla dot org dot il]&lt;br /&gt;
&lt;br /&gt;
== Registration ==&lt;br /&gt;
=== For write access to this wiki ===&lt;br /&gt;
To get write access to this wiki you will need to [[Special:Userlogin|register here first]]. Please be aware that the registration process requires a valid email address. This is the same login for updating Joomla documentation.&lt;br /&gt;
&lt;br /&gt;
=== At a physical location ===&lt;br /&gt;
If you wish to be present at one of the physical locations listed above then you must register in advance because space most likely is limited.  Registrations are the responsibility of the individual location organizers and you should click on the appropriate link above for more information.&lt;br /&gt;
&lt;br /&gt;
=== Taking bugs, tasks and pizza ===&lt;br /&gt;
&lt;br /&gt;
Please check the [http://docs.joomla.org/Pizza_Bug_and_Fun_September_15,_2012#Organization.2C_logistics_and_communications Organization, logistics and communications section] for details on how to get involved in working on tasks.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* All code must be made available under the [http://www.gnu.org/licenses/gpl-2.0.html General Public Licence version 2].&lt;br /&gt;
* All documentation contributions must be made available under the [[JEDL|Joomla! Electronic Documentation License]]. Further information on the JEDL is available in the [[JEDL/FAQ|JEDL Frequently Asked Questions]]&lt;br /&gt;
* No advertising or self-promotion will be allowed.  This includes back links to your website or anyone else&#039;s.  The one exception is that if you have made a contribution then feel free to add your name and an optional link to your website to the [[Pizza Bugs and Fun September 15, 2012/Contributors List|Contributors List]]&lt;br /&gt;
* All contributions must be in English.  Note that the official language of the Joomla! project is British English.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
Q: Where is the code for Joomla?&lt;br /&gt;
&lt;br /&gt;
A: The current Joomla code can be found either on Joomlacode or GitHub.&lt;br /&gt;
&lt;br /&gt;
*GitHub - https://github.com/joomla/joomla-cms&lt;br /&gt;
*SVN - http://joomlacode.org/svn/joomla/development/trunk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Which one is 3.0?&lt;br /&gt;
&lt;br /&gt;
A: On GitHub, it is the master branch.  For SVN, it is the main trunk.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: Any known issues with JForge and Chrome on Windows?&lt;br /&gt;
&lt;br /&gt;
A: It have been seen that browsing the JForge tracker, Chrome may ask for a missing plugin (windows media player). No workaround for this is yet known.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: How do I apply a Git pull request as an SVN Patch?&lt;br /&gt;
&lt;br /&gt;
A: Git &amp;amp; SVN are two different ways of doing version control for software. Joomla is in a transition stage of moving from SVN to Git. Many of the patches will be SVN patches which you&#039;ll find in the files tab at the bottom of the tracker. Some trackers will have Git &amp;quot;pull requests&amp;quot; instead.&lt;br /&gt;
&lt;br /&gt;
These git pull requests can still usually be applied like SVN patches if you only have SVN. Take the URL of the pull request, add &amp;quot;.patch&amp;quot; to the end of it and use that as a URL to the patch.&lt;br /&gt;
&lt;br /&gt;
[[Image:eclipse-pull-request-1.png]]&lt;br /&gt;
&lt;br /&gt;
Many of this pull requests will also have extra folders on the internal file names like a/ and b/.&lt;br /&gt;
&lt;br /&gt;
[[Image:eclipse-pull-request-3.png]]&lt;br /&gt;
&lt;br /&gt;
In Eclipse, to remove those automatically, change Ignore Leading Path Name Segments to 1.&lt;br /&gt;
&lt;br /&gt;
[[Image:eclipse-pull-request-2.png]]&lt;br /&gt;
&lt;br /&gt;
==Contributors==&lt;br /&gt;
{{:Pizza Bugs and Fun September 15, 2012/Contributors List}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Bug Squad]]&lt;br /&gt;
[[Category:Development]][[Category:Events]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Joomla_info_page/he-IL&amp;diff=71341</id>
		<title>Joomla info page/he-IL</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Joomla_info_page/he-IL&amp;diff=71341"/>
		<updated>2012-08-14T16:56:06Z</updated>

		<summary type="html">&lt;p&gt;Oc666: /* אירועים אזוריים / Joomladays */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
= Hebrew / עברית =&lt;br /&gt;
&lt;br /&gt;
== מה זה ג&#039;ומלה? ==&lt;br /&gt;
ג&#039;ומלה היא מערכת ניהול תוכן עטורת פרסים, אשר מאפשרת לך לבנות אתרי אינטרנט ויישומים מקוונים רבי עוצמה. היבטים רבים, כולל שימוש קלות ויכולת הרחבתה, הפכו את ג&#039;ומלה לתוכנת אתרי האינטרנט הפופולרית ביותר. החשוב מכל, ג&#039;ומלה הינו פתרון קוד פתוח והוא זמין באופן חופשי לכולם. היתרונות של ג&#039;ומלה! כוללים:&lt;br /&gt;
* התקנה קלה&lt;br /&gt;
* אתר אינטרנט פשוט לתחזוקה&lt;br /&gt;
* אבטחה מעולה ויציבות&lt;br /&gt;
* הרחבות חינם ומסחריות רבות עוצמה&lt;br /&gt;
* שפע תבניות כדי לשנות בקלות את המראה של האתר שלך&lt;br /&gt;
&lt;br /&gt;
== איפה ניתן להשיג ג&#039;ומלה? ==&lt;br /&gt;
* הורדת ג&#039;ומלה: http://www.joomla.org.il/download.html&lt;br /&gt;
* הורדת ג&#039;ומלה חבילת שפה עבור עברית (he-IL): http://joomlacode.org/gf/project/jtranslation1_6/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5685&lt;br /&gt;
&lt;br /&gt;
== איפה ניתן לקבל הרחבות? ==&lt;br /&gt;
* הורדת הרחבות: http://extensions.joomla.org/&lt;br /&gt;
* הורדת חבילות שפה עברית עבור הרחבות: http://www.joomla.org.il&lt;br /&gt;
&lt;br /&gt;
== היכן להשיג תיעוד של ג&#039;ומלה? ==&lt;br /&gt;
* תיעוד באנגלית: http://docs.joomla.org&lt;br /&gt;
* תיעוד בעברית: http://www.joomla.org.il/תיעוד.html&lt;br /&gt;
&lt;br /&gt;
== איפה ניתן לקבל תמיכה עבור ג&#039;ומלה? ==&lt;br /&gt;
* תמיכה חינם באנגלית: http://forum.joomla.org/&lt;br /&gt;
* תמיכה חינם בעברית:&lt;br /&gt;
** http://forum.joomla.org/viewforum.php?f=172&lt;br /&gt;
** http://www.joomla.org.il/פורום.html&lt;br /&gt;
* תמיכה מסחרית: http://resources.joomla.org/ (האתר באנגלית)&lt;br /&gt;
&lt;br /&gt;
== אירועים אזוריים / Joomladays ==&lt;br /&gt;
[http://jday11.joomla.org.il ג&#039;ומלה דיי ישראל Joomla!Day Israel 2011]&lt;br /&gt;
&lt;br /&gt;
[http://jday.joomla.org.il ג&#039;ומלה דיי ישראל Joomla!Day Israel 2012]&lt;br /&gt;
&lt;br /&gt;
קהילות מקומיות ברחבי העולם מארגנות ימי ג&#039;ומלה. יום ג&#039;ומלה הינו אירוע שנוצר באופן בלעדי עבור משתמשי ג&#039;ומלה ופרויקטים ובדרך כלל מושך קהל אזורי. מידע נוסף: http://community.joomla.org/events/joomla-days.html&lt;br /&gt;
&lt;br /&gt;
== קבוצות משתמשי ג&#039;ומלה (JUG) ==&lt;br /&gt;
קבוצות משתמשי ג&#039;ומלה מקומיות הם דרך מצוינת להכיר אנשים חדשים, לקבל עזרה עם פרויקט, או לחלוק את הידע שלכם עם משתמשי ג&#039;ומלה אחרים. ג&#039;ומלה נמצא בכל מקום, אז בדקו אם יש כבר קבוצה כזו באזורך. אם לא, אולי כדאי לך לשקול להקים אחד.&lt;br /&gt;
&lt;br /&gt;
* JUG בישראל: http://community.joomla.org/user-groups/middle-east/israel/tel-aviv-jug.html&lt;br /&gt;
* JUG שאלות נפוצות: http://community.joomla.org/user-groups/jug-faq.html&lt;br /&gt;
&lt;br /&gt;
== כיצד לתרום לג&#039;ומלה? ==&lt;br /&gt;
* לענות על שאלות בפורום ג&#039;ומלה http://www.joomla.org.il&lt;br /&gt;
* כתוב או תרגם הדרכה או תיעוד http://www.joomla.org.il/תיעוד.html (נדרש רישום)&lt;br /&gt;
* לפתח הרחבה או תבנית&lt;br /&gt;
* לבדוק או לדווח על בעיה: http://docs.joomla.org/How_do_you_report_a_bug%3F&lt;br /&gt;
* הצטרף לקבוצת עבודה של ג&#039;ומלה!&lt;br /&gt;
* לעזור בארגון אירוע ג&#039;ומלה!&lt;br /&gt;
* לתרום בדרכים אחרות http://contribute.joomla.org&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:Developing_a_MVC_Component&amp;diff=71219</id>
		<title>Archived:Developing a MVC Component</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:Developing_a_MVC_Component&amp;diff=71219"/>
		<updated>2012-08-11T16:01:20Z</updated>

		<summary type="html">&lt;p&gt;Oc666: /* Articles in this Series */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Articles in this Series==&lt;br /&gt;
{{Chunk:Developing a Model-View-Controller (MVC) Component for Joomla!2.5 - Contents}}&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Chunk:Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Contents&amp;diff=71216</id>
		<title>Chunk:Developing a Model-View-Controller (MVC) Component for Joomla!2.5 - Contents</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Chunk:Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Contents&amp;diff=71216"/>
		<updated>2012-08-11T12:11:11Z</updated>

		<summary type="html">&lt;p&gt;Oc666: Change urls due to change of articles names&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Developing a Model-View-Controller Component/2.5/Developing a Basic Component|Developing a Basic Component]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Adding a view to the site part|Adding a view to the site part]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Adding a menu type to the site part|Adding a menu type to the site part]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Adding a model to the site part|Adding a model to the site part]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Adding a variable request in the menu type|Adding a variable request in the menu type]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Using the database|Using the database]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Basic backend|Basic backend]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Adding language management|Adding language management]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Adding backend actions|Adding backend actions]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Adding decorations to the backend|Adding decorations to the backend]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Adding verifications|Adding verifications]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Adding categories|Adding categories]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Adding configuration|Adding configuration]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Adding ACL|Adding ACL]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Adding an install-uninstall-update script file|Adding an install/uninstall/update script file]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Using the language filter facility|Using the language filter facility]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Adding an update server|Adding an update server]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Example of a frontend update function|Example of a Frontend Update Function]]&lt;br /&gt;
* [[Developing a Model-View-Controller Component/2.5/Example of menu parameters and stylesheets|Example of Menu Parameters &amp;amp; Stylesheets]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:Access_Control_List_Tutorial&amp;diff=70042</id>
		<title>Archived:Access Control List Tutorial</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:Access_Control_List_Tutorial&amp;diff=70042"/>
		<updated>2012-08-04T13:47:10Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.6}} {{JVer|1.7}} {{JVer|2.5}} &lt;br /&gt;
=Overview of ACL in Versions 1.6/1.7/2.5=&lt;br /&gt;
&lt;br /&gt;
This section outlines the major ACL changes between versions 1.5 and 2.5 series (including 1.6 and 1.7). The table below summarizes the major changes from version 1.5.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
! Version 1.5&lt;br /&gt;
! 2.5 series&lt;br /&gt;
|-&lt;br /&gt;
! Groups&lt;br /&gt;
| 7 fixed groups (Public, Registered, Author, Editor, Publisher, 			Manager, Administrator, and Super-Administrator)&lt;br /&gt;
| Unlimited user-defined Groups&lt;br /&gt;
|-&lt;br /&gt;
! Users &amp;amp; Groups&lt;br /&gt;
| A User can be assigned to only one group&lt;br /&gt;
| A User can be assigned to multiple groups&lt;br /&gt;
|-&lt;br /&gt;
! Access Levels&lt;br /&gt;
| 3 fixed Access Levels (Public, Registered, Special)&lt;br /&gt;
| Unlimited user-defined Access Levels&lt;br /&gt;
|-&lt;br /&gt;
! Access Levels &amp;amp; Groups&lt;br /&gt;
| Relationship between Groups and Access Levels was fixed.&lt;br /&gt;
| Groups are assigned to Access Levels. Any combination of Groups 			can be assigned to any Access Level.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We see that in every case the ACL has been made much more flexible, with unlimited Groups and Access Levels, and the ability to assign one User to multiple Groups and any Groups to any Access Level.&lt;br /&gt;
&lt;br /&gt;
=Separate ACL for Viewing and Doing=&lt;br /&gt;
&lt;br /&gt;
The Joomla ACL system can be thought of as being divided into two completely separate systems. One system controls what things on the site users can &#039;&#039;view&#039;&#039;. The other controls what things users can &#039;&#039;do&#039;&#039; (what actions a user can take). The ACL for each is set up differently.&lt;br /&gt;
&lt;br /&gt;
==Controlling What Users Can See==&lt;br /&gt;
&lt;br /&gt;
The setup for controlling what users can see is done as follows:&lt;br /&gt;
# Create the different User Groups required for the site. Each Group can be thought of as a role that a user will have for the site. Keep in mind that one User can be a member of one or more Groups. If desired, groups can have parent groups. In this case, they automatically inherit the Access Levels of the parent group.&lt;br /&gt;
# Create the set of Access Levels required for the site. This could be a small number or a large number depending on the number of different groups and how many categories of items there are. Assign each Access Level to one or more of the User Groups created in step 1.&lt;br /&gt;
# Assign each item to be viewed to one Access Level. Items include content items (articles, contacts, and so on), menu items, and modules.&lt;br /&gt;
&lt;br /&gt;
Any time a user is about to view an item on a Joomla page, the the program checks whether the user has access to the item, as follows:&lt;br /&gt;
# Creates a list of all the Access Levels that the User has access to, based on all Groups that the User belongs to. Also, if a group has a parent group, access levels for the parent group are also included in the list.&lt;br /&gt;
# Checks whether the Access Level for the item (article, module, menu item, and so on) is on that list. If yes, then the item is displayed to the user. If no, then the item is not displayed.&lt;br /&gt;
&lt;br /&gt;
Note that Access Levels are set separately for each Group and are not inherited from a group&#039;s parent group.&lt;br /&gt;
&lt;br /&gt;
==Controlling What Users Can Do==&lt;br /&gt;
&lt;br /&gt;
The system for setting up what users can do -- what actions they can take on a given item -- is set up with the Permissions tab of Global Configuration and the Permissions tab of the Options screen of each component. Permissions can also be set up at the Category level for core components and at the Article level for articles.&lt;br /&gt;
&lt;br /&gt;
Note that this set up is independent of the setup for viewing.&lt;br /&gt;
&lt;br /&gt;
When a user wants to initiate a specific action against a component item (for example, edit an article), the system checks the permission for this combination of user, item, and action. If it is allowed, then the user can proceed. Otherwise, the action is not allowed.&lt;br /&gt;
&lt;br /&gt;
The remainder of this tutorial discusses how we control what users can do -- what action permissions they have.&lt;br /&gt;
&lt;br /&gt;
=Actions, Groups, and Inheritance=&lt;br /&gt;
&lt;br /&gt;
The other side of ACL is granting permissions to users to take actions on objects. Here again there is a big change between Version 1.5 and 1.6. In 1.5, the actions allowed for a given group were fixed. For example, a User in the Author group could only submit an article whereas someone in the Publisher group could submit, edit, and publish articles. Also, in version 1.5 the permissions were all-or-nothing. A member of the Editor group could edit all articles on the site.&lt;br /&gt;
&lt;br /&gt;
The table below shows what has changed between versions 1.5 and 2.5 series (including 1.6 and 1.7).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
! Version 1.5&lt;br /&gt;
! 2.5 series&lt;br /&gt;
|-&lt;br /&gt;
! Groups and Actions&lt;br /&gt;
| Actions allowed by different groups are fixed.&lt;br /&gt;
| Actions allowed for each group are defined by site administrator.&lt;br /&gt;
|-&lt;br /&gt;
! Permission Scope&lt;br /&gt;
| Entire Site. User has same permissions for all objects on the site.&lt;br /&gt;
| Permissions can be set at multiple levels in hierarchy: Site, Component, Category, Object.&lt;br /&gt;
|-&lt;br /&gt;
! Permission Inheritance&lt;br /&gt;
| Not applicable&lt;br /&gt;
| Permissions can be inherited from parent Groups and parent Categories&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==How Permissions Work==&lt;br /&gt;
&lt;br /&gt;
There are four possible permissions for actions, as outlined below:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Not set&#039;&#039;&#039;: Defaults to &amp;quot;deny&amp;quot; but, unlike the Deny permission, this permission can be overridden by setting a child group or a lower level in the permission hierarchy to &amp;quot;Allow&amp;quot;. This permission only applies to the Global Configuration permissions. &lt;br /&gt;
* &#039;&#039;&#039;Inherit&#039;&#039;&#039;: Inherits the value from a parent Group or from a higher level in the permission hierarchy. This permission applies to all levels except the Global Configuration level.&lt;br /&gt;
* &#039;&#039;&#039;Deny&#039;&#039;&#039;: Denies this action for this level and group. &#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; This also denies this action for all child groups and all lower levels in the permission hierarchy. Putting in Allow for a child group or a lower level will not have any effect. The action will always be denied for any child group member and for any lower level in the permission hierarchy.&lt;br /&gt;
* &#039;&#039;&#039;Allow&#039;&#039;&#039;: Allows this action for this level and group and for lower levels and child groups. This does not have any effect if a higher group or level is set to Deny or Allow. If a higher group or level is set to Deny, then this permission will always be denied. If a higher group or level is set to Allow, then this permission will already be allowed.&lt;br /&gt;
&lt;br /&gt;
==Permission Hierarchy Levels==&lt;br /&gt;
&lt;br /&gt;
Action permissions in version 2.5 can be defined at up to four levels, as follows:&lt;br /&gt;
# &#039;&#039;&#039;Global Configuration&#039;&#039;&#039;: determines the default permissions for each action and group. &lt;br /&gt;
# &#039;&#039;&#039;Component Options-&amp;gt;Permissions&#039;&#039;&#039;: can override the default permissions for this component (for example, Articles, Menus, Users, Banners, and so on)&lt;br /&gt;
# &#039;&#039;&#039;Category&#039;&#039;&#039;: can override the default permissions for objects in one or more categories. Applies to all components with categories, including Articles, Banners, Contacts, Newsfeeds, and Weblinks. &lt;br /&gt;
# &#039;&#039;&#039;Article&#039;&#039;&#039;: Can override the permissions for a specific article. This level only applies to articles. Other components only allow the first three levels.&lt;br /&gt;
&lt;br /&gt;
===Global Configuration===&lt;br /&gt;
This is accessed from Site &amp;amp;rarr; Global Configuration &amp;amp;rarr; Permissions. This screen allows you set the top-level permission for each group for each action, as shown in the screenshot below. &lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110111-01.png|center]]&lt;br /&gt;
The options for each value are Inherited, Allowed, or Denied. The Calculated Setting column shows you the setting in effect. It is either Not Allowed (the default), Allowed, or Denied.&lt;br /&gt;
&lt;br /&gt;
You work on one Group at a time by opening the slider for that group. You change the permissions in the Select New Settings drop-down list boxes. &lt;br /&gt;
&lt;br /&gt;
Note that the Calculated Setting column is not updated until you press the Save button in the toolbar. To check that the settings are what you want, press the Save button and check the Calculated Settings column.&lt;br /&gt;
&lt;br /&gt;
===Component Options-&amp;gt;Permissions===&lt;br /&gt;
This is accessed for each component by clicking the Options icon in the toolbar. This screen is similar to the Global Configuration screen above. For example, clicking the Options toolbar icon in the Menu Manager shows the Menus Configuration below.&lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110111-02.png|center]]&lt;br /&gt;
Access to Options is only available to members of groups who have permission for the Configure action in for each component. In the example above, the Administrator group has Allowed permission for the Configure option, so members of this group can access this screen.&lt;br /&gt;
&lt;br /&gt;
===Category===&lt;br /&gt;
Category permissions are accessed in the Category Manager: Edit Category screen, in a slider at the bottom of the screen. This screen has five permissions, as shown below.&lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110111-03.png|center]]&lt;br /&gt;
In these screens, you work on the permissions for one User Group at a time. In the example above, we are editing the permissions for the Administrator group.&lt;br /&gt;
&lt;br /&gt;
Note that the Configure and Access Component actions do not apply at the category level, so those actions are not included.&lt;br /&gt;
&lt;br /&gt;
Note also that Categories can be arranged in a hierarchy. If so, then action permissions in a parent category are inherited automatically by a child category. For example, if you had a category hierarchy of Animals &amp;amp;rarr; Pets &amp;amp;rarr; Dogs, then the full permission level hierarchy for an article in the Dogs category would be as follows:&lt;br /&gt;
* Global Configuration&lt;br /&gt;
* Article Manager &amp;amp;rarr; Options &amp;amp;rarr; Permission&lt;br /&gt;
* Animals Category&lt;br /&gt;
* Pets Category&lt;br /&gt;
* Dogs Category&lt;br /&gt;
* specific article&lt;br /&gt;
&lt;br /&gt;
===Article===&lt;br /&gt;
Permissions for a single article are access in the Article Manager: Edit Article screen, again in a slider at the bottom of the screen. This screen has three actions, as shown below.&lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110111-04.png|center]]&lt;br /&gt;
Again, you edit each group by clicking on it to open the slider for that group. You can then change the permissions under the Select New Setting column. To see the effect of any changes, press the Save button to update the Calculated Setting column.&lt;br /&gt;
&lt;br /&gt;
Note that the Configure, Access Component, and Create actions do not apply at the article level, so these actions are not included. Permission to create an article is set at one of the higher levels in the hierarchy.&lt;br /&gt;
&lt;br /&gt;
==Access Levels==&lt;br /&gt;
&lt;br /&gt;
Access Levels in 2.5 series are simple and flexible. The screen below shows the Special Access Level.  &lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110111-05.png|center]]&lt;br /&gt;
Simply check the box for each group you want included in that level. The Special Access Level includes the Manager, Author, and Super Users groups. It also includes child groups of those groups. So, Administrator group is included, since it is a child group of the Manager group. The Editor, Publisher, and Shop Suppliers groups are included, since they are child groups of Author. (Note that we could check all of the child groups if we wanted and it wouldn&#039;t hurt anything.)&lt;br /&gt;
&lt;br /&gt;
Once Access Levels are created, they are used in the same way as in version 1.5. Each object in the front end is assigned an Access Level. If the level is Public, then anyone may access that object. Otherwise, only members of groups assigned to that access level may access that object. Access levels are assigned to Menu Items and to Modules. Each one can only be assigned to one access level.&lt;br /&gt;
&lt;br /&gt;
For example, the screen below shows the Edit Menu Item screen with the list of available access levels.&lt;br /&gt;
&lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110111-06.png|center]]&lt;br /&gt;
&lt;br /&gt;
=Default ACL Setup=&lt;br /&gt;
&lt;br /&gt;
When Joomla! is installed, these are set to their initial default settings. We will discuss these initial settings as a way to understand how the ACL works.&lt;br /&gt;
&lt;br /&gt;
==Default Groups==&lt;br /&gt;
&lt;br /&gt;
Version 2.5 allows you to define your own Groups. When you install version 2.5, it includes a set of default groups, as shown below. &lt;br /&gt;
&lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110111-07.png|center]]&lt;br /&gt;
&lt;br /&gt;
The arrows indicate the child-parent relationships. As discussed above, when you set a permission for a parent group, this permission is automatically inherited by all child groups. The Inherited, and Allowed permissions can be overridden for a child group. The Denied permission cannot be overridden and will always deny an action for all child groups.&lt;br /&gt;
&lt;br /&gt;
==Global Configuration==&lt;br /&gt;
&lt;br /&gt;
Joomla! version 2.5 will install with the same familiar back-end permissions as that of version 1.5. However, with 2.5, you can easily change these to suit the needs of your site.&lt;br /&gt;
&lt;br /&gt;
As discussed earlier, the permissions for each action are inherited from the level above in the permission hierarchy and from a group&#039;s parent group. Let&#039;s see how this works. The top level for this is the entire site. This is set up in the Site-&amp;gt;Global Configuration-&amp;gt;Permissions, as shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110111-08.png|center|]]&lt;br /&gt;
&lt;br /&gt;
The first thing to notice are the nine Actions: Site Login, Admin Login, Super Admin, Access Component, Create, Delete, Edit, Edit State. and Edit Own. These are the actions that a user can perform on an object in Joomla. The specific meaning of each action depends on the context. For the Global Configuration screen, they are defined as follows:&lt;br /&gt;
&lt;br /&gt;
;Site Login : Login to the front end of the site&lt;br /&gt;
&lt;br /&gt;
;Admin Login : Login to the back end of the site&lt;br /&gt;
&lt;br /&gt;
; Super Admin : Grants the user &amp;quot;super user&amp;quot; status. Users with this permission can do anything on the site. Only users with this permission can change Global Configuration settings (this screen). These permissions cannot be restricted. It is important to understand that, if a user is a member of a Super Admin group, any other permissions assigned to this user are irrelevant. The user can do any action on the site. However, Access Levels can still be assigned to control what this group sees on the site. (Obviously, a Super Admin user can change Access Levels if they want to, so Access Levels do not totally restrict what a Super Admin user can see.)&lt;br /&gt;
&lt;br /&gt;
;Access Component: Open the component manager screens (User Manager, Menu Manager, Article Manager, and so on)&lt;br /&gt;
&lt;br /&gt;
;Create : Create new objects (for example, users, menu items, articles, weblinks, and so on)&lt;br /&gt;
&lt;br /&gt;
;Delete : Delete existing objects&lt;br /&gt;
&lt;br /&gt;
;Edit : Edit existing objects&lt;br /&gt;
&lt;br /&gt;
;Edit State : Change object state (Publish, Unpublish, Archive, and Trash)&lt;br /&gt;
&lt;br /&gt;
;Edit Own : Edit objects that you have created. &lt;br /&gt;
&lt;br /&gt;
Each Group for the site has its own slider which is opened by clicking on the group name. In this case (with the sample data installed), we have the standard 7 groups that we had in version 1.5 plus two additional groups called &amp;quot;Shop Suppliers&amp;quot; and &amp;quot;Customer Group&amp;quot;. Notice that our groups are set up with the same permissions as they had in version 1.5. Keep in mind that we can change any of these permissions to make the security work the way we want. Let&#039;s go through this to see how it works.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Public&#039;&#039;&#039; has everything set to &amp;quot;Not set&amp;quot;, as shown below. &lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110112-06.png|center|]]&lt;br /&gt;
: This can be a bit confusing. Basically, &amp;quot;Not Set&amp;quot; is the same as &amp;quot;Inherited&amp;quot;. Because Public is our top-level group, and because Global Configuration is the top level of the component hierarchy, there is nothing to inherit from. So &amp;quot;Not Set&amp;quot; is used instead of &amp;quot;Inherit&amp;quot;.  &lt;br /&gt;
: The default in this case is for no permissions. So, as you would expect, the Public group has no special  permissions. Also, it is important to note that, since nothing is set to Denied, all of these permissions may be overridden by child groups or by lower levels in the permission hierarchy.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Manager&#039;&#039;&#039;  is a &amp;quot;child&amp;quot; group of the Public group. It has Allowed permissions for everything except Access Component and Super Admin. So a member of this group can do everything in the front and back end of the site except change Global Permissions and Component Options. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Administrator&#039;&#039;&#039;  group members inherit all of the Manager permissions and also have Allowed for Access Component. So members of this group by default can access the Options screens for each component.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Registered&#039;&#039;&#039; is the same a Public except for the Allow permission for the Site Login action. This means that members of the Registered group can login to the site. Since default permissions are inherited, this means that, unless a child group overrides this permission, all child groups of the Registered group will be able to login as well.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;  is a child of the Registered group and inherits its permissions and also adds Create and Edit Own. Since Author, Editor, and Publisher have no back-end permissions, we will discuss them below, when we discuss front-end permissions.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Editor&#039;&#039;&#039; is a child of the Authors group and adds the Edit permission.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Publisher&#039;&#039;&#039; is a child of Editor and adds the Edit State permission.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Shop Suppliers&#039;&#039;&#039; is an example group that is installed if you install the sample data. It is a child group of Author.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Customer Group&#039;&#039;&#039; is an example group that is installed if you install the sample data. It is a child group of Registered.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Super Users&#039;&#039;&#039; group has the Allow permission for the Super Admin action. Because of this, members of this group have super user permissions throughout the site. They are the only users who can access and edit values on the Global Configuration screen. Users with permission for the Super Admin action have some special characteristics:&lt;br /&gt;
** If a user has Super Admin permissions, no other permissions for this user matter. The user can perform any action on the site.&lt;br /&gt;
** Only Super Admin users can create, edit, or delete other Super Admin users or groups.&lt;br /&gt;
&lt;br /&gt;
There are two very important points to understand from this screen. The first is to see how the permissions can be inherited from the parent Group. The second is to see how you can control the default permissions by Group and by Action.&lt;br /&gt;
&lt;br /&gt;
This provides a lot of flexibility. For example, if you wanted Shop Suppliers to be able to have the ability to login to the back end, you could just change their Admin Login value to &amp;quot;Allowed&amp;quot;. If you wanted to not allow members of Administrator group to delete objects or change their state, you would change their permissions in these columns to Inherited (or Denied).&lt;br /&gt;
&lt;br /&gt;
It is also important to understand that the ability to have child groups is completely optional. It allows you to save some time when setting up new groups. However, if you like, you can set up all groups to have Public as the parent and not inherit any permissions from a parent group.&lt;br /&gt;
&lt;br /&gt;
==Component Options &amp;amp; Permissions==&lt;br /&gt;
&lt;br /&gt;
Now, let&#039;s continue to see how the default back-end permissions for version 2.5 mimic the permissions for version 1.5. The Super Users group in 2.5 is equivalent to the Super Administrator group in 1.5.&lt;br /&gt;
&lt;br /&gt;
Just looking at the Global Configuration screen above, it would appear that the Administrator group and the Manager group have identical permissions. However, in version 1.5 Administrators can do everything except Global Configuration, whereas Managers are not permitted to add users or work with menu items. That is also true in the default version 2.5 configuration. Let&#039;s see how this is accomplished.&lt;br /&gt;
&lt;br /&gt;
If we navigate to Users-&amp;gt;User Manager and click the Options button in the toolbar, we see the screen below:&lt;br /&gt;
&lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110111-09.png|center|]]&lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110111-10.png|center|]]&lt;br /&gt;
&lt;br /&gt;
This screen is the same as the Global Configuration Permissions screen, except that these values only affect working with Users. Let&#039;s look at how this works.&lt;br /&gt;
&lt;br /&gt;
First, notice that the Administrator group has Allow permission for the Admin action and the Manager group has Deny permission for this action. Remember that the Admin action in the Global Configuration screen gives the group &amp;quot;super user&amp;quot; permissions. In this screen, the Admin action allows you to edit the Options values. So, the Administrator group can do this but the Manager group cannot.&lt;br /&gt;
&lt;br /&gt;
Next, notice that the Administrator has Inherit for the Manage action and the Manager group has Deny permission. In this screen, the Manage action gives a group access to the User Manager. Since the Administrator has Allow for the Manage action by default, then the Inherit permission here means they inherit the Allow permission for the Manage action. Since the Manager group has Deny permission for the Manage action, members of the Manager group cannot access the User Manager and therefore cannot do any of the other user-related actions.&lt;br /&gt;
&lt;br /&gt;
If you look at the Options for Menus-&amp;gt;Menu Manager, you will see the same default settings as for the User Manager. Again, the Administrator group can manage and set default permissions for Menu Manager objects whereas the Manager group cannot.&lt;br /&gt;
&lt;br /&gt;
In short, we can see that the different permissions for the Administrator and Manager groups are set using the Options-&amp;gt;Permissions forms on the User Manager and Menu Manager screens.&lt;br /&gt;
&lt;br /&gt;
It is also important to understand that this same Options-&amp;gt;Permissions form for setting default permissions is available for all Joomla! objects, including Media Manager, Banners, Contacts, Newsfeeds, Redirect, Search Statistics, Web Links, Extensions, Modules, Plugins, Templates, and Language. So you now have the option to create user groups with fine-tuned sets of back-end permissions.&lt;br /&gt;
&lt;br /&gt;
==Front End Permissions==&lt;br /&gt;
&lt;br /&gt;
Default permissions for the front end are also set using the Options form. Let&#039;s look at Content-&amp;gt;Article Manager-&amp;gt;Options-&amp;gt;Permissions. First, let&#039;s look at the permissions for Manager, as shown below.&lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110111-11a.png|center|frame]]&lt;br /&gt;
Manager has allowed permission for all actions except Configure. So members of the Manager group can do everything with Articles except open the Options screen.&lt;br /&gt;
&lt;br /&gt;
Now let&#039;s look at Administrator, as shown below.&lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110111-12a.png|center|frame]]&lt;br /&gt;
Administrator has Allowed for Configure, so Administrators can edit this Options screen.&lt;br /&gt;
&lt;br /&gt;
Both groups can create, delete, edit, and change the state of articles.&lt;br /&gt;
&lt;br /&gt;
Now, let&#039;s look at the groups Publisher, Editor, and Author and see how their permissions are set. &lt;br /&gt;
&lt;br /&gt;
Authors only have Create and Edit Own permissions, as shown below.&lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110112-07.png|center|frame]]&lt;br /&gt;
This means that Authors can create articles and can edit articles they have created. They may not delete articles, change the published state of articles, or edit articles created by others.&lt;br /&gt;
&lt;br /&gt;
Editors have the same permissions as Authors with the addition of permission for the Edit action, as shown below.&lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110112-08.png|center|frame]]&lt;br /&gt;
So Editors can edit articles written by anyone.&lt;br /&gt;
&lt;br /&gt;
Publishers can do everything Editors can do plus they have permission for the Edit State action, as shown below.&lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110112-09.png|center|frame]]&lt;br /&gt;
So Publishers can change the published state of an article. The possible states include Published, Unpublished, Archived, and Trashed.&lt;br /&gt;
&lt;br /&gt;
All of these groups have Inherit permission for Configure and Access Component. Remember that Author is a child of the Registered group, and Registered does not have any default permissions except for Login. Since Registered does not have permission for Configure and Access Component, and since Author&#039;s permission for these actions is &amp;quot;Inherited&amp;quot;, then Author does not have these permissions either. This same permission is passed from Author to Editor and from Editor to Publisher. So, by default, none of these groups are allowed to work with articles in the back end.&lt;br /&gt;
&lt;br /&gt;
It is important to remember that these permissions are only default settings for categories and articles and for any child groups that are created. So they can be overridden for child groups, for categories, and for specific articles. &lt;br /&gt;
&lt;br /&gt;
Also, note that there are no Denied permissions for any actions in the default settings. This allows you to add Allowed permissions at any level. Remember, once you have an action set for Denied, this action will be denied at all lower levels in the hierarchy. For example, if you set the Admin Login for Registered to Denied (instead of Inherited), you could not grant Publishers Allowed permissions for this action.&lt;br /&gt;
&lt;br /&gt;
== Article Manager &amp;amp; Actions Diagram ==&lt;br /&gt;
&lt;br /&gt;
The diagram below shows how each action in the permissions form relates to the various options on the Article Manager screen.&lt;br /&gt;
&lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110111-16.png|center|]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Configure&#039;&#039;&#039; allows you to view and change the Options for the component.&lt;br /&gt;
* &#039;&#039;&#039;Access Component&#039;&#039;&#039; allows you to navigate to the Article Manager. Without this permission, no other actions are possible.&lt;br /&gt;
* &#039;&#039;&#039;Create&#039;&#039;&#039; allows you to add new articles.&lt;br /&gt;
* &#039;&#039;&#039;Delete&#039;&#039;&#039; allows you to delete trashed articles. Note that the Delete icon only shows in the toolbar when you have the &amp;quot;Select State&amp;quot; filter set to &amp;quot;Trash&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Edit&#039;&#039;&#039; allows you to edit existing articles.&lt;br /&gt;
* &#039;&#039;&#039;Edit State&#039;&#039;&#039; allows to you Publish, Unpublish, Archive, or Trash articles.&lt;br /&gt;
* &#039;&#039;&#039;Edit Own&#039;&#039;&#039; is the same as Edit except that it only applies to articles written by you.&lt;br /&gt;
&lt;br /&gt;
=Allowing Guest-Only Access to Menu Items and Modules=&lt;br /&gt;
&lt;br /&gt;
Version 1.6 introduces the ability to create a View Access Level that is only for guests of the site (meaning a user who is not logged in). The example below shows how you can set up this new feature.&lt;br /&gt;
&lt;br /&gt;
#Create a new user group called Guest. Make it a child of the Public group as shown below. [[Image:screenshot_acl_tutorial_20110112-01.png|center|frame]] &lt;br /&gt;
# Create a new access level called Guest and grant only the Guest group access to this level, as shown below.[[Image:screenshot_acl_tutorial_20110112-02.png|center|frame]]&lt;br /&gt;
# Navigate to User Manager&amp;amp;rarr;Options&amp;amp;rarr;Component and change the Guest User Group from the default value of &amp;quot;Public&amp;quot; to &amp;quot;Guest&amp;quot;, as shown below.&lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110112-04.png|center|frame]]&lt;br /&gt;
&lt;br /&gt;
Now, if we assign a menu item, module, or other object to the Guest access level, only non-logged in users will have access. For example, if we create a new menu item with access level of Guest, as shown below, &lt;br /&gt;
[[Image:screenshot_acl_tutorial_20110112-05.png|center|frame]]&lt;br /&gt;
this menu item will only be visible to non-logged-in visitors to the site. &lt;br /&gt;
&lt;br /&gt;
If required other user groups like Author can be granted access in the Guest access level, this would allow Authors to view articles in the front end for editing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;N.B. Login/logout in front end (&#039;&#039;for changing data in session&#039;&#039;) to see the change.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Using Permission and Group Levels Together=&lt;br /&gt;
&lt;br /&gt;
As discussed above, it is possible to define groups in a hierarchy, where each child group inherits action permissions (for example, the create permission) from its parent group. Action permissions are also be inherited from the permission level above. For example, a permission in the Article Manager is inherited from the same permission in the Global Configuration, and a permission in a child Category is inherited from the parent Category permission.&lt;br /&gt;
&lt;br /&gt;
This dual inheritance can be confusing, but it can also be useful. Let&#039;s consider an example as follows. We have a school with a group hierarchy of Teachers → History Teachers → Assistant History Teachers. We also have a category hierarchy of Assignments → History Assignments. We want History Teachers and Assistant History Teachers to have the following permissions:&lt;br /&gt;
&lt;br /&gt;
* both groups can create new articles only in the History Assignments category.&lt;br /&gt;
&lt;br /&gt;
* only History Teachers (not Assistant History Teachers) can Publish or otherwise have Edit State permission.&lt;br /&gt;
&lt;br /&gt;
This ACL scheme is very easy to implement. The diagram below shows how this would be set up for the Create Action.&lt;br /&gt;
&lt;br /&gt;
[[Image:Acl example diagram1 20091018.png|center|]]&lt;br /&gt;
&lt;br /&gt;
In the diagram, the Permission Hierarchy is shown down the left side and the Group hierarchy is shown across the top. Permissions are inherited down and to the right, as shown by the arrows. To implement the desired permissions, we leave the Global Configuration blank (Not Set) for all three groups. Similarly, in the Article Manager and Assignments Category, we leave the Create permission to Inherit for all the groups. As shown in the diagram, this means that these groups do not have Create permission for articles in general or for articles in the Assignments group.&lt;br /&gt;
&lt;br /&gt;
To sum up so far, we have not set any special permissions to get to this point. Now, in the History Assignments category permissions screen, we set the Create permission to Allow for the History Teachers group. This setting overrides the Soft (Implicit) Deny that we had by default and gives members of this group permission to create content (articles and child categories) for this category. This Allow setting also is inherited by the Assistant History Teachers group.&lt;br /&gt;
&lt;br /&gt;
Next, we need to grant History Teachers the Edit State permission while denying this permission to Assistant History Teachers. This is done as shown in the diagram below.&lt;br /&gt;
&lt;br /&gt;
[[Image:Acl example diagram2 20091018.png|center|]]&lt;br /&gt;
&lt;br /&gt;
This configuration is the same as the one above except that this time we set the Edit State permission in the History Assignments category to Deny for the Assistant History Teachers group. This means that Assistant History Teachers will not be able to Publish or Unpublish articles in this category.&lt;br /&gt;
&lt;br /&gt;
Note that this was accomplished by setting just two permissions in the History Assignments category: Allow for the History Teachers group and Deny for the Assistant History Teachers group.&lt;br /&gt;
&lt;br /&gt;
=ACL Action Permission Examples=&lt;br /&gt;
Here are some examples of how you might set up the ACL for some specific situations.&lt;br /&gt;
&lt;br /&gt;
==Back-end Article Administrator==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
We want to create a group called &amp;quot;Article Administrator&amp;quot; with back-end permissions only for articles and not for any other back-end menu options. Members of this group should be able to use all of the features of the article manager, including setting article permissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Create a new group called Article Administrator and make its parent group Public, as shown below.[[Image:screenshot_acl_tutorial_20110112-10.png|center|frame]] Because its parent group is Public, it won&#039;t have any permissions by default.&lt;br /&gt;
# In Users &amp;amp;rarr; Access Levels, edit the Special Access level to add the new group. That way they can get access to the back end menu items and modules (This assumes that the modules for the admin menu and quickicons have the Special Access level assigned to them, which is the default.) [[Image:screenshot_acl_tutorial_20110112-11.png|center|frame]] By default, the back-end menu items and modules are set to Special access, so if you forget to add the new group to the Special access level, you won&#039;t see any modules or menu items when you log in as a user of the new group.&lt;br /&gt;
# In Site →  Global Configuration → Permissions, click on the Article Administrator group and change the permissions to Allowed for the following actions: Admin Login, Create, Delete, Edit, Edit State, and Edit Own. The screen below shows what will show before you press Save. [[Image:screenshot_acl_tutorial_20110112-12.png|center|frame]]After you save, the Calculated Permissions should show as shown below.[[Image:screenshot_acl_tutorial_20110112-13.png|center|frame]]Note that the permission for the Access Component is Inherited, which translates to Not Allowed. This is important. This means that this group will only be able to access components if we give the group &amp;quot;Allowed&amp;quot; permission for Access Component. So we only have to change the one component we want to give them access to and don&#039;t have to change any settings for the components where we don&#039;t want them to have access. If we had a case where we wanted to give a group access to everything except for one component, we could set the default to Allowed and then set the one component to Denied. Also note that we did not give the group Site Login permission, so users in this group will not be able to log into the front end. (If we wanted to allow that, we would just change the permission to Allowed for Site Login.)&lt;br /&gt;
# In Article Manager → Options → Permissions, change permissions to Allowed for this group for the Access Component action, as shown below.[[Image:screenshot_acl_tutorial_20110112-14.png|center|frame]]All of the other desired permissions are inherited.&lt;br /&gt;
&lt;br /&gt;
That&#039;s all you need to do. Members of this group can login to the back end and do everything in Article Manager but can&#039;t do anything else in the back end. For example, the screen below shows what a user in the Article Manager will see when they login to the back end.[[Image:screenshot_acl_tutorial_20110112-15.png|center|frame]]&lt;br /&gt;
&lt;br /&gt;
=ACL View Access Levels Examples=&lt;br /&gt;
&lt;br /&gt;
A basic concept of using Access Levels is that all items with the same Access will be viewable by the same group of users. In other words, if two items have the same Access, you can&#039;t have one viewable by one user and not viewable by another user. On the other hand, it is easy to have one Group view any number of items with different Access levels. &lt;br /&gt;
&lt;br /&gt;
Similarly, each Group has exactly the same combination of Access levels, but one User can be a member of more than one group. Depending on the situation, you may want to have users only in one Group or you may need to have a User in more than one Group.&lt;br /&gt;
&lt;br /&gt;
This means that we may need to group our items so that items so that all items in a group have the same level of sensitivity. Here are some examples.&lt;br /&gt;
&lt;br /&gt;
==Hierarchical Example==&lt;br /&gt;
&lt;br /&gt;
In this example, Access levels are hierarchical, for example, like government security clearance codes. Say for example we have the following sets of classified documents: Classified, Secret, and Top Secret. Users have corresponding clearence codes. Users with Classified clearance can only see Classified documents and cannot see Secret or Top Secret. Users with Secret clearance can see Classified and Secret documents but not Top Secret. Users with Top Secret can see all documents.&lt;br /&gt;
&lt;br /&gt;
In this case, you would create three Access levels: Classified, Secret, and Top Secret and the same three Groups. Users would only be members of one group, as follows:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:0.0007in solid #000000;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| User&lt;br /&gt;
| style=&amp;quot;border-top:0.0007in solid #000000;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Group&lt;br /&gt;
| style=&amp;quot;border:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Access Levels&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| C1, C2, C3&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Classified&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Classified&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| S1, S2, S3&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Secret&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Classified, Secret&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| TS1, TS2, TS3&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Top Secret&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Classified, Secret, Top Secret&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In this case, all users are in exactly one group, but some groups have access to more than one Access Level of items. In other words, we have a one-to-one relationship between users and groups, but a one-to-many relationship between Groups and Access Levels. &lt;br /&gt;
&lt;br /&gt;
==Team Security Example==&lt;br /&gt;
&lt;br /&gt;
Another possible use case is a set of non-hierarchical teams. Let&#039;s say we have three teams, T1, T2, and T3. Some users are only on one team, but others might be on two or more teams. In this case, we could set up our Access Levels and Groups by team. Documents for each team have the access level for that team, and the Group for the team has only the one access level. When a User is on more than one team, they get added to the group for each team, as follows: &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:0.0007in solid #000000;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| User&lt;br /&gt;
| style=&amp;quot;border-top:0.0007in solid #000000;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Description&lt;br /&gt;
| style=&amp;quot;border-top:0.0007in solid #000000;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Group&lt;br /&gt;
| style=&amp;quot;border:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Access Levels&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| U1&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Team 1 member&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| T1&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| T1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| U2&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Team 2 member&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| T2&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| T2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| U3&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Team 3 member&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| T3&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| T3&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| U1-2&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Member of teams 1 and 2&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| T1, T2&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| T1, T2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| U1-3&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Member of teams 1 and 3&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| T1, T3&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| T1, T3&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| U1-2-3&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Member of teams 1,2, and 3&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| T1,T2, T3&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| T1, T2, T3&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hybrid Example==&lt;br /&gt;
&lt;br /&gt;
In a real-world situation, you might have a combination of these two arrangements. Say for example we have Managers and Staff. Staff can only see Staff documents and Managers can see Manager and Staff documents. Both types of users can be assigned to teams as well, in which case they can see all of the documents for that team. In addition, say that Managers can access some, but not all, team documents. Staff can only access team documents if they are members of that team.&lt;br /&gt;
&lt;br /&gt;
In this example, we could set up the following Access Levels:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:0.0007in solid #000000;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Access Level&lt;br /&gt;
| style=&amp;quot;border-top:0.0007in solid #000000;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Description&lt;br /&gt;
| style=&amp;quot;border:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Groups&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Manager&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Non-team manager documents&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Manager&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Staff&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Non-team staff documents&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Manager, Staff&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Team1&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Sensitive Team1 documents (no access outside team)&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Team1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Team1-Manager&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Team1 documents that can be accessed by all managers&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Team1, Manager&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Team2&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Sensitive Team2 documents (no access outside team)&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Team2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Team2-Manager&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Team2 documents that can be accessed by all managers&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Team2, Manager&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Then, users could be assigned to groups as follows:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:0.0007in solid #000000;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| User Type&lt;br /&gt;
| style=&amp;quot;border:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Group&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Manager on no teams&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Manager&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Staff on no teams&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Staff&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Manager on team 1&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Manager, Team1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Staff on team 1&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Staff, Team1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Manager on teams 1 and 2&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Manager, Team1, Team2&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:none;padding:0.0382in;&amp;quot;| Staff on teams 1 and 2&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.0007in solid #000000;border-left:0.0007in solid #000000;border-right:0.0007in solid #000000;padding:0.0382in;&amp;quot;| Staff, Team1, Team2&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]] [[Category:Joomla! 1.7]] [[Category:Joomla! 2.5]] [[Category:Tutorials]][[Category:Access Control]][[Category:Access Management]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Security_Checklist/Getting_Started&amp;diff=69968</id>
		<title>Security Checklist/Getting Started</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Security_Checklist/Getting_Started&amp;diff=69968"/>
		<updated>2012-08-01T14:47:04Z</updated>

		<summary type="html">&lt;p&gt;Oc666: /* How to read these documents */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
== Read Me First==&lt;br /&gt;
&lt;br /&gt;
=== Security matters ===&lt;br /&gt;
&lt;br /&gt;
:Internet security is a fast moving challenge and ever present threat. There is no one right way to secure a website, and all security methods are subject to instant obsolescence, incremental improvement, and constant revision. All public facing websites are open to constant attack. Are you willing and able to invest the time it takes to administer a dynamic, 24x7, world-accessible, database-driven, interactive, user-authenticated website? Do you have the time and resources to respond to the constant flow of new Internet security issues? The [[Top 10 Stupidest Administrator Tricks]] is a comic/tragic look at what can go wrong. Don&#039;t learn these tricks the hard way! Depending on your own experience, reading the &#039;&#039;Stupidest Tricks&#039;&#039; will either make you laugh or cry. Luckily, there are some well-established principles upon which to base your defensive plans. The following checklists point you toward current best practices for Joomla security.&lt;br /&gt;
&lt;br /&gt;
=== How to read these documents ===&lt;br /&gt;
#Not all techniques are appropriate for every level of experience. Apply the techniques you understand and read up on the ones you don&#039;t.&lt;br /&gt;
#Not all techniques are appropriate for every server. If you use a shared server, you must depend on the settings established by your hosting provider. If you are using a virtual or dedicated server, you can apply more creative security tactics.&lt;br /&gt;
#Not all security tactics are appropriate for all versions of Joomla. Where a technique applies to only one version it is noted by one of the following icons: {{JVer|1.0}}{{JVer|1.5}}{{JVer|1.6}}{{JVer|1.7}}{{JVer|2.5}}.&lt;br /&gt;
&lt;br /&gt;
=== The most important guidelines===&lt;br /&gt;
:These checklists are long and growing because the full plot is thick, complex, and expanding, but don&#039;t despair! Here are a few essential guidelines for securing any website. Following them will protect you from most catastrophes.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Back up early and often:&#039;&#039;&#039; Set up (and use and test) a regular backup and recovery process. When done well, this ensures that you can recover from almost any imaginable disaster.&lt;br /&gt;
# &#039;&#039;&#039;Update early and often:&#039;&#039;&#039; Promptly update to the latest &#039;&#039;stable&#039;&#039; version of Joomla! and any installed third-party extensions. This ensures that your site is protected from the newest vulnerabilities as soon as a fix is released and from the latest attack methods as soon as a defense is developed. &lt;br /&gt;
# &#039;&#039;&#039;Use a secure host&#039;&#039;&#039;: Use a high-quality Web host. Do not be fooled by offers of &#039;unlimited bandwidth, unlimited hard drive space, unlimited databases, etc. &lt;br /&gt;
# &#039;&#039;&#039;Use the community&#039;&#039;&#039;: Don&#039;t forget the truism, &amp;quot;If a deal is too good to be true, it is.&amp;quot; It seems that nothing on Earth is unlimited--except perhaps the gullibility of fools and the greed of those who prey upon them. Consider hiring professional assistance if you have inadequate experience or knowledge in this area. One of the advantages of GNU software is that user support is free. Take good advantage of this by asking good questions within the [http://forum.joomla.org Joomla! Forums]. When doing so, be sure to use the the most appropriate board, such as Installation, Migration and Updating, Administration. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::The most helpful posts in the Joomla! Security Forum are converted into [[Security and Performance FAQs]]. Many of the items on this list are explained in much greater detail in the FAQs. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::You may want to read the excellent [[Beginners|Absolute Beginners Guide to Joomla!]] It has wealth of tips and tricks presented in an easy to understand format. Even experienced Joomlaists find great ideas here. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Hunt down the many nuggets of wisdom found in the [http://forum.joomla.org Joomla! Forums], in particular the [http://forum.joomla.org/viewforum.php?f=432 Joomla! 1.5 Security Forum] and the [http://forum.joomla.org/viewforum.php?f=267 Joomla! 1.0 Security Forum].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::To receive all Joomla security announcements, subscribe to Joomla Security News. There are several ways to subscribe: &lt;br /&gt;
&lt;br /&gt;
::# [http://feedburner.google.com/fb/a/mailverify?uri=JoomlaSecurityNews Automatic Email Notification]&lt;br /&gt;
::# [http://feeds.joomla.org/JoomlaSecurityNews RSS feed].&lt;br /&gt;
&lt;br /&gt;
=== The bad news === &lt;br /&gt;
#&#039;&#039;&#039;There is no perfect security on the Web!&#039;&#039;&#039; As economists would say, &amp;quot;There&#039;s no free lunch.&amp;quot; Don&#039;t be fooled by Joomla&#039;s award winning ease-of-use. Maintaining a secure Web site on the open Internet is not easy. Maintaining adequate security requires a wide and ever-growing range of skills and knowledge, constant watchfulness, and a robust backup and recovery process.&lt;br /&gt;
#&#039;&#039;&#039;There&#039;s no one right way!&#039;&#039;&#039; Due to the variety and complexity of modern web systems, security issues can&#039;t be resolved with simple, one-size-fits-all solutions. You (or someone you trust) must learn enough about your server infrastructure to make valid security decisions. Strong security is a moving target. Today&#039;s expert might be tomorrow&#039;s victim. Welcome to the game...&lt;br /&gt;
#&#039;&#039;&#039;There&#039;s no substitute for experience!&#039;&#039;&#039; To secure your Web site, you must gain real experience (some of which will be bitter), or get experienced help from others. If you haven&#039;t invested the considerable time it takes to learn how to maintain a secure Web site, be sure you can consult with someone who has. Read this tongue-in-cheek description of the [[Top_10_Stupidest_Administrator_Tricks|Top 10 Stupidest Administrator Tricks]] which illustrates typical, blow-by-blow examples of how to learn Web security the hard way.&lt;br /&gt;
&lt;br /&gt;
=== The good news === &lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;Even a beginner can start at the head of the herd&#039;&#039;&#039; User forums for many systems are clogged with [http://www.google.com/search?q=Help!+I&#039;ve+been+hacked Help! I&#039;ve been hacked] posts by people who did NOT follow standard security practices. If you are studying this checklist before your site is attacked, congratulations, you&#039;re already ahead of the herd.&lt;br /&gt;
#&#039;&#039;&#039;It&#039;s not as hard as it looks&#039;&#039;&#039; If this is one of your first websites, security issues may seem overwhelming, but you don&#039;t have to deal with all of them at once. Start with the most critical issues. As you become more familiar with [http://www.gnu.org GNU] tools and techniques, including [http://www.gnu.org/ GNU/Linux], [http://www.apache.org Apache], [http://www.mysql.com MySQL], [http://en.wikipedia.org/wiki/SQL SQL], [http://www.php.net PHP], [http://en.wikipedia.org/wiki/HTTP HTTP], [http://en.wikipedia.org/wiki/CSS CSS], [http://en.wikipedia.org/wiki/XML XML], [http://en.wikipedia.org/wiki/RSS RSS], [http://en.wikipedia.org/wiki/TCP/IP TCP/IP], [http://en.wikipedia.org/wiki/FTP FTP], [http://subversion.tigris.org/ Subversion], [http://en.wikipedia.org/wiki/JavaScript JavaScript], and [http://www.joomla.org Joomla!], you&#039;ll add refinements to your set of security tactics.&lt;br /&gt;
#&#039;&#039;&#039;You can get help&#039;&#039;&#039; If you believe your website was attacked, &#039;&#039;&#039;do not&#039;&#039;&#039; simply post an announcement with full details in the Joomla! forums. If you are dealing with a new vulnerability or new form of attack, publishing that information could put other websites at risk. Instead, report possible security vulnerabilities to the [http://developer.joomla.org/security/contact-the-team.html Joomla! Security Task Force].&lt;br /&gt;
&lt;br /&gt;
== Security Checklists Table of Contents==&lt;br /&gt;
# [[Security Checklist 1 - Getting Started|Getting Started]] &lt;br /&gt;
# [[Security Checklist 2 - Hosting and Server Setup|Hosting and Server Setup]]&lt;br /&gt;
# [[Security Checklist 3 - Testing and Development|Testing and Development]]&lt;br /&gt;
# [[Security Checklist 4 - Joomla Setup|Joomla Setup]]&lt;br /&gt;
# [[Security Checklist 5 - Site Administration|Site Administration]]&lt;br /&gt;
# [[Security Checklist 6 - Site Recovery|Site Recovery]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- KEEP THIS AT THE END OF THE PAGE --&amp;gt;&lt;br /&gt;
[[Category:Security Checklist]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Nginx&amp;diff=68246</id>
		<title>Nginx</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Nginx&amp;diff=68246"/>
		<updated>2012-07-12T20:42:11Z</updated>

		<summary type="html">&lt;p&gt;Oc666: /* Configure Nginx */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://nginx.net/ nginx] is a lightweight web server that powers 8.5% of web servers across all domains[http://en.wikipedia.org/wiki/Nginx#Usage]. Unless you have specific requirements that demand a heavy web server like Apache, you are much better off using nginx.&lt;br /&gt;
&lt;br /&gt;
Below are instructions on how to get Joomla! running with [http://wiki.nginx.org/PHPFcgiExample nginx and PHP via FastCGI].&lt;br /&gt;
&lt;br /&gt;
== Install nginx ==&lt;br /&gt;
For Ubuntu, run &amp;lt;tt&amp;gt;aptitude install nginx&amp;lt;/tt&amp;gt;. For other distros, run the corresponding package manager, or see http://wiki.nginx.org/Install.&lt;br /&gt;
&lt;br /&gt;
== Install PHP FastCGI == &lt;br /&gt;
For Ubuntu, read this excellent page on how to [http://wiki.nginx.org/PHPFcgiExample configure PHP and FastCGI for nginx].&lt;br /&gt;
&lt;br /&gt;
For Gentoo, PHP will run as a FastCGI service (fpm), so the nginx server will run PHP asa  different process:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo &amp;quot;dev-lang/php gd gd2 curl simplexml tokenizer dom tidy sqlite xml fpm cgi&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# emerge php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The default settings of php-fpm are good for most servers. For special configuration visit the [http://php.net/manual/en/install.fpm.php PHP FPM site].&lt;br /&gt;
&lt;br /&gt;
== Configure Nginx ==&lt;br /&gt;
nginx configuration files reside in:&lt;br /&gt;
* &amp;lt;tt&amp;gt;/usr/local/nginx/conf/&amp;lt;/tt&amp;gt; on Ubuntu&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/nginx/nginx.conf&amp;lt;/tt&amp;gt; on Gentoo&lt;br /&gt;
&lt;br /&gt;
Here is an sample nginx configuration file joomla.conf that you can reuse over all your nginx enabled-sites&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
        listen 80;&lt;br /&gt;
        server_name YOUR_DOMAIN;&lt;br /&gt;
        server_name_in_redirect off;&lt;br /&gt;
&lt;br /&gt;
        access_log /var/log/nginx/localhost.access_log main;&lt;br /&gt;
        error_log /var/log/nginx/localhost.error_log info;&lt;br /&gt;
&lt;br /&gt;
        root PATH_ON_SERVER;&lt;br /&gt;
        index index.php index.html index.htm default.html default.htm;&lt;br /&gt;
        # Support Clean (aka Search Engine Friendly) URLs&lt;br /&gt;
        location / {&lt;br /&gt;
                try_files $uri $uri/ /index.php?q=$uri&amp;amp;$args;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        # deny running scripts inside writable directories&lt;br /&gt;
        location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {&lt;br /&gt;
                return 403;&lt;br /&gt;
                error_page 403 /403_error.html;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        location ~ \.php$ {&lt;br /&gt;
            fastcgi_pass  127.0.0.1:9000;&lt;br /&gt;
            fastcgi_index index.php;&lt;br /&gt;
            include fastcgi_params;&lt;br /&gt;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;&lt;br /&gt;
            include /etc/nginx/fastcgi.conf;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        # caching of files &lt;br /&gt;
        location ~* \.(ico|pdf|flv)$ {&lt;br /&gt;
                expires 1y;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {&lt;br /&gt;
                expires 14d;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pay attention for few things:&lt;br /&gt;
# The parameter &amp;lt;tt&amp;gt;fastcgi_pass&amp;lt;/tt&amp;gt; is set to 127.0.0.1:9000, corresponding to the port that fpm is configured to listen to. This means you can run the PHP processes on separate servers. On Gentoo, you can find this configuration in &amp;lt;tt&amp;gt;/etc/php/fpm-php5.3/php-fpm.conf/&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Don&#039;t forget to replace YOUR_DOMAIN &amp;amp; PATH_ON_SERVER depend on your domain and the path of Joomla on your server.&lt;br /&gt;
&lt;br /&gt;
== GZip support ==&lt;br /&gt;
If you need GZip compression support, add the following section to the http section of the main nginx configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        gzip on;&lt;br /&gt;
        gzip_http_version 1.1;&lt;br /&gt;
        gzip_comp_level 6;&lt;br /&gt;
        gzip_min_length 1100;&lt;br /&gt;
        gzip_buffers 4 8k;&lt;br /&gt;
        gzip_types text/plain application/xhtml+xml text/css application/xml application/xml+rss text/javascript application/javascript application/x-javascr$&lt;br /&gt;
        gzip_proxied     any;&lt;br /&gt;
        gzip_disable     &amp;quot;MSIE [1-6]\.&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
* [http://en.gentoo-wiki.com/wiki/Nginx Nginx in Gentoo]&lt;br /&gt;
* [http://www.kevinworthington.com/nginx-for-windows/ Nginx for Windows]&lt;br /&gt;
* [http://wiki.nginx.org/Install#Ubuntu_PPA Nginx in Ubuntu]&lt;br /&gt;
* [http://www.debianadmin.com/howto-install-nginx-webserver-in-debian.html Nginx in Debian]&lt;br /&gt;
* [http://www.cyberciti.biz/faq/rhel-fedora-install-configure-nginx-php5/ Nginx in RedHat/Centos]&lt;br /&gt;
* [http://php.net/manual/en/install.fpm.php PHP-FPM installation and configuration]&lt;br /&gt;
* [http://wiki.nginx.org/HttpGzipModule GZip in Nginx]&lt;br /&gt;
* [http://wiki.nginx.org/HttpRewriteModule Rewrite in Nginx]&lt;br /&gt;
* [http://nginx.org/en/docs/http/request_processing.html How nginx processes a request]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:Making_a_Language_Pack_for_Joomla&amp;diff=67836</id>
		<title>Archived:Making a Language Pack for Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:Making_a_Language_Pack_for_Joomla&amp;diff=67836"/>
		<updated>2012-06-23T13:37:01Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a Tutorial explaining how to create your CORE language packs in {{JVer|1.6}}, {{JVer|1.7}} and {{JVer|2.5}}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For 3pd extensions self-contained ini files installation&#039;&#039;&#039;, see http://docs.joomla.org/Making_non-core_language_packs_in_2.5&lt;br /&gt;
&lt;br /&gt;
The localise component may help you create and update the ini files: http://extensions.joomla.org/extensions/languages/language-edition/17755&lt;br /&gt;
&lt;br /&gt;
fr-FR is taken as an example of language prefix.&lt;br /&gt;
&lt;br /&gt;
# In the case of a &#039;&#039;&#039;FULL&#039;&#039;&#039; pack, the package is composed of 3 files, then zipped.&lt;br /&gt;
#* pkg_fr-FR.xml&lt;br /&gt;
#* site_fr-FR.zip&lt;br /&gt;
#* admin_fr-FR.zip&lt;br /&gt;
# In the case of a &#039;&#039;&#039;site&#039;&#039;&#039; or &#039;&#039;&#039;administrator&#039;&#039;&#039; only pack, 2 files.&lt;br /&gt;
#* pkg_site_fr-FR.xml OR pkg_admin_fr-FR.xml&lt;br /&gt;
#* site_fr-FR.zip OR admin_fr-FR.zip&lt;br /&gt;
# Naming of the pack&lt;br /&gt;
#* fr-FR_joomla_lang_full_1.7.0v1.zip&lt;br /&gt;
#* fr-FR_joomla_lang_site_1.7.0v1.zip if only site pack, fr-FR_joomla_lang_admin_1.7.0v1.zip if only administrator pack.&lt;br /&gt;
# If one separates the site and admin packs then the pkg_ name should be different, i.e for example: pkg_site_fr-FR.xml and pkg_admin_fr-FR.xml. In this case beware of the &amp;lt;packagename&amp;gt; tag.&lt;br /&gt;
# &#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;: Since some administrator ini files are necessary in front-end and some changes were brought in the loading of the plugin ini files, it is always necessary to include some admin part in the final pack, even for a &#039;&#039;&#039;&#039;site-only&#039;&#039;&#039;&#039; pack. See below http://docs.joomla.org/Making_a_Language_Pack_for_Joomla_1.6#The_Site-only_pack&lt;br /&gt;
&lt;br /&gt;
Also, each pack should include a fr-FR.lib_joomla.ini and a fr-FR.localise.php to cope for deletion of site or admin pack by the user.&lt;br /&gt;
&lt;br /&gt;
==A pkg_fr-FR.xml file==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;package&amp;quot; version=&amp;quot;1.7&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;French Language Pack&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;packagename&amp;gt;fr-FR&amp;lt;/packagename&amp;gt; &amp;lt;!-- the packagename has to be the same as the name of pkg_whatever.xml --&amp;gt;&lt;br /&gt;
&amp;lt;version&amp;gt;1.7.x&amp;lt;/version&amp;gt; &amp;lt;!-- change the version # when updating, will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;creationDate&amp;gt;&amp;lt;/creationDate&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;author&amp;gt;&amp;lt;/author&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;authorEmail&amp;gt;&amp;lt;/authorEmail&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;authorUrl&amp;gt;&amp;lt;/authorUrl&amp;gt; &amp;lt;!-- will display in manager --&amp;gt;&lt;br /&gt;
&amp;lt;description&amp;gt;1.7.x Joomla French Language Package&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;files&amp;gt;&lt;br /&gt;
	&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;site&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;site_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
	&amp;lt;file type=&amp;quot;language&amp;quot; client=&amp;quot;administrator&amp;quot; id=&amp;quot;fr-FR&amp;quot;&amp;gt;admin_fr-FR.zip&amp;lt;/file&amp;gt;&lt;br /&gt;
&amp;lt;/files&amp;gt;&lt;br /&gt;
	 &amp;lt;updateservers&amp;gt;&lt;br /&gt;
		&amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Accredited Joomla! Translations&amp;quot;&amp;gt;http://update.joomla.org/language/translationlist.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
	&amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==One zip per client (i.e. site and admin)==&lt;br /&gt;
&lt;br /&gt;
* site_fr-FR.zip&lt;br /&gt;
* admin_fr-FR.zip&lt;br /&gt;
&lt;br /&gt;
Content of the client&#039;s zip (example below is for admin)&lt;br /&gt;
&lt;br /&gt;
===an install.xml ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;extension version=&amp;quot;1.7&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt; // change to client=&amp;quot;site&amp;quot; if site pack&lt;br /&gt;
    &amp;lt;name&amp;gt;French (Fr)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;1.7&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;2010-08-01&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;French translation team : Joomla!fr&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2010 Joomla.fr et Open Source Matters. Tous droits réservés&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;French language pack for Joomla! 1.7&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;fr-FR.com_admin.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
                &amp;lt;filename&amp;gt;fr-FR.com_admin.sys.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt; .....ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		[...]&lt;br /&gt;
		&lt;br /&gt;
                &amp;lt;filename&amp;gt;fr-FR.lib_joomla.ini&amp;lt;/filename&amp;gt; &amp;lt;!-- Normally in administrator pack. !! If this is only a site pack then add in site !! Add in both if providing both packs together in one package --&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.css&amp;lt;/filename&amp;gt; &amp;lt;!-- NEW IN 1.7: this file can be added in the ADMINISTRATOR pack if one wants to change the fonts used to display the back-end interface.--&amp;gt;&lt;br /&gt;
		&amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;fr-FR.xml&amp;lt;/filename&amp;gt; &amp;lt;!-- Note the file=&amp;quot;meta&amp;quot; tag, telling it&#039;s the basic xml holding info about the pack. --&amp;gt;&lt;br /&gt;
                &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt; &amp;lt;!-- Mandatory! This file lets uninstall a language. Note file=&amp;quot;meta&amp;quot; --&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;fr-FR.localise.php&amp;lt;/filename&amp;gt; &amp;lt;!-- Normally in the site pack. If the language has only an admin pack, put in the admin pack. Add in both if providing both packs together in one package. --&amp;gt;&lt;br /&gt;
      &amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;media destination=&amp;quot;fr-FR&amp;quot;&amp;gt; &amp;lt;!-- If one needs to add a specific calendar --&amp;gt;&lt;br /&gt;
	    &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;js/index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;js/calendar-setup.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;js/calendar.js&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
&amp;lt;/extension&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All the ini files===&lt;br /&gt;
Beware of new formatting! &lt;br /&gt;
&lt;br /&gt;
Double quotes in the value should be written as &amp;quot;_QQ_&amp;quot; or as &amp;amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
NEVER use an escaped quote &#039;&#039;&#039;\&amp;quot;&#039;&#039;&#039;  as these will break in php 5.2.x&lt;br /&gt;
&lt;br /&gt;
===the fr-FR.xml===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;metafile version=&amp;quot;1.7&amp;quot; client=&amp;quot;administrator&amp;quot; method=&amp;quot;upgrade&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;French (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;French administrator language for Joomla 1.6&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;1.7&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;2010-08-01&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
        &amp;lt;author&amp;gt;French translation team : Joomla!fr&amp;lt;/author&amp;gt;&lt;br /&gt;
        &amp;lt;authorEmail&amp;gt;traduction@joomla.fr&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
        &amp;lt;authorUrl&amp;gt;www.joomla.fr&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
        &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2011 Open Source Matters &amp;amp;amp;  Joomla.fr. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
        &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;metadata&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;French (FR)&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;tag&amp;gt;fr-FR&amp;lt;/tag&amp;gt;&lt;br /&gt;
		&amp;lt;rtl&amp;gt;0&amp;lt;/rtl&amp;gt;&lt;br /&gt;
                &amp;lt;locale&amp;gt;fr_FR.utf8, fr_FR.UTF-8, fr_FR.UTF-8@euro, French_Standard,french, fr_FR, fre_FR, fr&amp;lt;/locale&amp;gt; &amp;lt;!-- the locale is used to sort translated lists when present on the server. --&amp;gt;&lt;br /&gt;
                &amp;lt;firstDay&amp;gt;1&amp;lt;/firstDay&amp;gt; &amp;lt;!-- used for the Calendar icon to specify what is the first day of the week in that language. 0 is Sunday, 1 is Monday, etc. --&amp;gt;&lt;br /&gt;
	&amp;lt;/metadata&amp;gt;&lt;br /&gt;
	&amp;lt;params /&amp;gt;&lt;br /&gt;
&amp;lt;/metafile&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===the fr-FR.localise.php===&lt;br /&gt;
&lt;br /&gt;
(This is normally in the site pack. Add in admin pack if the pack does only provide admin language. Add in both when providing a full pack to cope with user deleting one of the packs)&lt;br /&gt;
&lt;br /&gt;
Explanation of this file:&lt;br /&gt;
&lt;br /&gt;
It replaces the fr-FR.ignore.php and it can be customized depending on languages.&lt;br /&gt;
 &lt;br /&gt;
*Ignore search words.&lt;br /&gt;
&lt;br /&gt;
*Define upper and lower limit of search words length.&lt;br /&gt;
&lt;br /&gt;
*Define number of characters to display for the result of the search.&lt;br /&gt;
&lt;br /&gt;
*Define specific plural functionality for some languages where the value of the string can change depending on the count (Russian for example).&lt;br /&gt;
&lt;br /&gt;
*Define custom transliteration (i.e. when NOT using the Unicode URLS parameter in Global Configuration) to ensure proper change of some alphabets to ascii for the alias used when SEF is on. (The transliteration which is now default in 1.7 should take care of all latin-based languages.)&lt;br /&gt;
&lt;br /&gt;
*Define a custom calendar by adding a function as well as some js files&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALWAYS SAVE THIS FILE AS UTF8 NO BOM&#039;&#039;&#039; if it contains non-ascii glyphs (accented letters, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a basic fr-FR.localise.php (where custom transliteration is NOT implemented)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * @version		$Id: fr-FR.localise.php 15628 2010-03-27 05:20:29Z infograf768 $&lt;br /&gt;
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
 * @license		GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * fr-FR localise class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
abstract class fr_FRLocalise {    //// !!!! NOTE the use of fr_FR for the class !!!// do the same for your language prefix.&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the potential suffixes for a specific number of items&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	int $count  The number of items.&lt;br /&gt;
	 * @return	array  An array of potential suffixes.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getPluralSuffixes($count) {&lt;br /&gt;
		if ($count == 0) {&lt;br /&gt;
			$return =  array(&#039;0&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		elseif($count == 1) {&lt;br /&gt;
			$return =  array(&#039;1&#039;);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			$return = array(&#039;MORE&#039;);  // Beware, this will be added to a language KEY. It should be in ascii and Uppercase.&lt;br /&gt;
		}&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the ignored search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	array  An array of ignored search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getIgnoredSearchWords() {&lt;br /&gt;
		$search_ignore = array();&lt;br /&gt;
		$search_ignore[] = &amp;quot;et&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;si&amp;quot;;&lt;br /&gt;
		$search_ignore[] = &amp;quot;ou&amp;quot;;&lt;br /&gt;
		return $search_ignore;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the lower length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The lower length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getLowerLimitSearchWord() {&lt;br /&gt;
		return 3;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the upper length limit of search words&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The upper length limit of search words.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getUpperLimitSearchWord() {&lt;br /&gt;
		return 20;&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Returns the number of chars to display when searching&lt;br /&gt;
	 *&lt;br /&gt;
	 * @return	integer  The number of chars to display when searching.&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function getSearchDisplayedCharactersNumber() {&lt;br /&gt;
		return 200;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example of the function to add when custom transliteration is desired===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
	 * This method processes a string and replaces all accented UTF-8 characters by unaccented&lt;br /&gt;
	 * ASCII-7 &amp;quot;equivalents&amp;quot;&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	$string	The string to transliterate&lt;br /&gt;
	 * @return	string	The transliteration of the string&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public static function transliterate($string)&lt;br /&gt;
	{&lt;br /&gt;
		$str = JString::strtolower($string);&lt;br /&gt;
&lt;br /&gt;
		//Specific language transliteration.&lt;br /&gt;
		//This one is for latin 1, latin supplement , extended A, Cyrillic, Greek&lt;br /&gt;
&lt;br /&gt;
		$glyph_array = array(&lt;br /&gt;
		&#039;a&#039;		=&amp;gt;	&#039;a,à,á,â,ã,ä,å,ā,ă,ą,ḁ,α,ά&#039;,&lt;br /&gt;
		&#039;ae&#039;	=&amp;gt;	&#039;æ&#039;,&lt;br /&gt;
		&#039;b&#039;		=&amp;gt;	&#039;β,б&#039;,&lt;br /&gt;
		&#039;c&#039;		=&amp;gt;	&#039;c,ç,ć,ĉ,ċ,č,ћ,ц&#039;,&lt;br /&gt;
		&#039;ch&#039;	=&amp;gt;	&#039;ч&#039;,&lt;br /&gt;
		&#039;d&#039;		=&amp;gt;	&#039;ď,đ,Ð,д,ђ,δ,ð&#039;,&lt;br /&gt;
		&#039;dz&#039;	=&amp;gt;	&#039;џ&#039;,&lt;br /&gt;
		&#039;e&#039;		=&amp;gt;	&#039;e,è,é,ê,ë,ē,ĕ,ė,ę,ě,э,ε,έ&#039;,&lt;br /&gt;
		&#039;f&#039;		=&amp;gt;	&#039;ƒ,ф&#039;,&lt;br /&gt;
		&#039;g&#039;		=&amp;gt;	&#039;ğ,ĝ,ğ,ġ,ģ,г,γ&#039;,&lt;br /&gt;
		&#039;h&#039;		=&amp;gt;	&#039;ĥ,ħ,Ħ,х&#039;,&lt;br /&gt;
		&#039;i&#039;		=&amp;gt;	&#039;i,ì,í,î,ï,ı,ĩ,ī,ĭ,į,и,й,ъ,ы,ь,η,ή&#039;,&lt;br /&gt;
		&#039;ij&#039;	=&amp;gt;	&#039;ĳ&#039;,&lt;br /&gt;
		&#039;j&#039;		=&amp;gt;	&#039;ĵ,j&#039;,&lt;br /&gt;
		&#039;ja&#039;	=&amp;gt;	&#039;я&#039;,&lt;br /&gt;
		&#039;ju&#039;	=&amp;gt;	&#039;яю&#039;,&lt;br /&gt;
		&#039;k&#039;		=&amp;gt;	&#039;ķ,ĸ,κ&#039;,&lt;br /&gt;
		&#039;l&#039;		=&amp;gt;	&#039;ĺ,ļ,ľ,ŀ,ł,л,λ&#039;,&lt;br /&gt;
		&#039;lj&#039;	=&amp;gt;	&#039;љ&#039;,&lt;br /&gt;
		&#039;m&#039;		=&amp;gt;	&#039;μ,м&#039;,&lt;br /&gt;
		&#039;n&#039;		=&amp;gt;	&#039;ñ,ņ,ň,ŉ,ŋ,н,ν&#039;,&lt;br /&gt;
		&#039;nj&#039;	=&amp;gt;	&#039;њ&#039;,&lt;br /&gt;
		&#039;o&#039;		=&amp;gt;	&#039;ò,ó,ô,õ,ø,ō,ŏ,ő,ο,ό,ω,ώ&#039;,&lt;br /&gt;
		&#039;oe&#039;	=&amp;gt;	&#039;œ,ö&#039;,&lt;br /&gt;
		&#039;p&#039;		=&amp;gt;	&#039;п,π&#039;,&lt;br /&gt;
		&#039;ph&#039;	=&amp;gt;	&#039;φ&#039;,&lt;br /&gt;
		&#039;ps&#039;	=&amp;gt;	&#039;ψ&#039;,&lt;br /&gt;
		&#039;r&#039;		=&amp;gt;	&#039;ŕ,ŗ,ř,р,ρ,σ,ς&#039;,&lt;br /&gt;
		&#039;s&#039;		=&amp;gt;	&#039;ş,ś,ŝ,ş,š,с&#039;,&lt;br /&gt;
		&#039;ss&#039;	=&amp;gt;	&#039;ß,ſ&#039;,&lt;br /&gt;
		&#039;sh&#039;	=&amp;gt;	&#039;ш&#039;,&lt;br /&gt;
		&#039;shch&#039;	=&amp;gt;	&#039;щ&#039;,&lt;br /&gt;
		&#039;t&#039;		=&amp;gt;	&#039;ţ,ť,ŧ,τ,т&#039;,&lt;br /&gt;
		&#039;th&#039;	=&amp;gt;	&#039;θ&#039;,&lt;br /&gt;
		&#039;u&#039;		=&amp;gt;	&#039;u,ù,ú,û,ü,ũ,ū,ŭ,ů,ű,ų,у&#039;,&lt;br /&gt;
		&#039;v&#039;		=&amp;gt;	&#039;в&#039;,&lt;br /&gt;
		&#039;w&#039;		=&amp;gt;	&#039;ŵ&#039;,&lt;br /&gt;
		&#039;x&#039;		=&amp;gt;	&#039;χ,ξ&#039;,&lt;br /&gt;
		&#039;y&#039;		=&amp;gt;	&#039;ý,þ,ÿ,ŷ&#039;,&lt;br /&gt;
		&#039;z&#039;		=&amp;gt;	&#039;ź,ż,ž,з,ж,ζ&#039;&lt;br /&gt;
		);&lt;br /&gt;
&lt;br /&gt;
		foreach( $glyph_array as $letter =&amp;gt; $glyphs ) {&lt;br /&gt;
			$glyphs = explode( &#039;,&#039;, $glyphs );&lt;br /&gt;
			$str = str_replace( $glyphs, $letter, $str );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $str;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is an example of a function to add in the localise.php file in order to implement a custom calendar for fa-IR (Persian language) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * fa-IR Date class&lt;br /&gt;
 *&lt;br /&gt;
 * @package		Joomla.Site&lt;br /&gt;
 * @since		1.6&lt;br /&gt;
 */&lt;br /&gt;
jimport(&#039;joomla.utilities.date&#039;);&lt;br /&gt;
class fa_IRDate extends JDate {&lt;br /&gt;
	const DAY_NUMBER	= &amp;quot;\x027\x03&amp;quot;;&lt;br /&gt;
	const DAY_NUMBER2	= &amp;quot;\x030\x03&amp;quot;;&lt;br /&gt;
	const DAY_YEAR		= &amp;quot;\x032\x03&amp;quot;;&lt;br /&gt;
	const MONTH_ABBR	= &amp;quot;\x033\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NAME	= &amp;quot;\x034\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER	= &amp;quot;\x035\x03&amp;quot;;&lt;br /&gt;
	const MONTH_NUMBER2	= &amp;quot;\x036\x03&amp;quot;;&lt;br /&gt;
	const MONTH_LENGTH	= &amp;quot;\x037\x03&amp;quot;;&lt;br /&gt;
	const YEAR_ABBR		= &amp;quot;\x040\x03&amp;quot;;&lt;br /&gt;
	const YEAR_NAME		= &amp;quot;\x041\x03&amp;quot;;&lt;br /&gt;
	const AM_LOWER		= &amp;quot;\x042\x03&amp;quot;;&lt;br /&gt;
	const AM_UPPER		= &amp;quot;\x043\x03&amp;quot;;&lt;br /&gt;
	const PERSIAN_EPOCH	= 1948320.5;&lt;br /&gt;
&lt;br /&gt;
	protected static $month_names	= array(&amp;quot;فروردين&amp;quot;,&amp;quot;ارديبهشت&amp;quot;,&amp;quot;خرداد&amp;quot;,&amp;quot;تیر&amp;quot;,&amp;quot;مرداد&amp;quot;,&amp;quot;شهریور&amp;quot;,&amp;quot;مهر&amp;quot;,&amp;quot;آبان&amp;quot;,&amp;quot;آذر&amp;quot;,&amp;quot;دی&amp;quot;,&amp;quot;بهمن&amp;quot;,&amp;quot;اسفند&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Gets the date as a formatted string.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	string	The date format specification string (see {@link PHP_MANUAL#date})&lt;br /&gt;
	 * @param	boolean	True to return the date string in the local time zone, false to return it in GMT.&lt;br /&gt;
	 * @return	string	The date string in the french republican calendar (see @link{http://en.wikipedia.org/wiki/French_Republican_Calendar}).&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	public function calendar($format, $local = false, $translate = true)&lt;br /&gt;
	{&lt;br /&gt;
		// Do string replacements for date format options that can be translated.&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])d/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])j/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])z/&#039;, &amp;quot;\\1&amp;quot;.self::DAY_YEAR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])M/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])F/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])n/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])m/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_NUMBER2, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])t/&#039;, &amp;quot;\\1&amp;quot;.self::MONTH_LENGTH, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_ABBR, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])Y/&#039;, &amp;quot;\\1&amp;quot;.self::YEAR_NAME, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])a/&#039;, &amp;quot;\\1&amp;quot;.self::AM_LOWER, $format);&lt;br /&gt;
		$format = preg_replace(&#039;/(^|[^\\\])A/&#039;, &amp;quot;\\1&amp;quot;.self::AM_UPPER, $format);&lt;br /&gt;
&lt;br /&gt;
		// Format the date.&lt;br /&gt;
		$return = parent::calendar($format, $local);&lt;br /&gt;
&lt;br /&gt;
		$jd = gregoriantojd($this-&amp;gt;month, $this-&amp;gt;day, $this-&amp;gt;year);&lt;br /&gt;
		$jalaliDate = self::jd_to_persian($jd);&lt;br /&gt;
		$m = $jalaliDate[&#039;mon&#039;];&lt;br /&gt;
		$d = $jalaliDate[&#039;day&#039;];&lt;br /&gt;
		$y = $jalaliDate[&#039;year&#039;];&lt;br /&gt;
&lt;br /&gt;
		// Manually modify the strings in the formated time.&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER, $d , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;,$d), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::DAY_YEAR) !== false) {&lt;br /&gt;
			$return = str_replace(self::DAY_YEAR, $jd - self::persian_to_jd(1,1,$y)+1, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_ABBR, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NAME, self::$month_names[$m-1] , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER, $m , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_NUMBER2) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_NUMBER2, sprintf(&amp;quot;%02d&amp;quot;, $m) , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::MONTH_LENGTH) !== false) {&lt;br /&gt;
			$return = str_replace(self::MONTH_LENGTH, $m &amp;lt; 7 ? 31 : $m &amp;lt; 12 ? 30 : self::leap_persian($y) ? 30 : 29 , $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_ABBR) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_ABBR, sprintf(&amp;quot;%02d&amp;quot;,$y % 100), $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::YEAR_NAME) !== false) {&lt;br /&gt;
			$return = str_replace(self::YEAR_NAME, $y, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_LOWER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_LOWER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;ب ظ&#039; : &#039;ق ظ&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
		if (strpos($return, self::AM_UPPER) !== false) {&lt;br /&gt;
			$return = str_replace(self::AM_UPPER, $this-&amp;gt;format(&#039;a&#039;,$local)==&#039;pm&#039; ? &#039;ب ظ&#039; : &#039;ق ظ&#039;, $return);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return $return;&lt;br /&gt;
	}&lt;br /&gt;
	public static function jd_to_persian($jd)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $year, $month, $day, $depoch, $cycle, $cyear, $ycycle,&lt;br /&gt;
&lt;br /&gt;
		//    $aux1, $aux2, $yday;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$jd = floor($jd) + 0.5;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		$depoch = $jd - self::persian_to_jd(1, 1, 475);&lt;br /&gt;
&lt;br /&gt;
		$cycle = floor($depoch / 1029983);&lt;br /&gt;
&lt;br /&gt;
		$cyear = $depoch % 1029983;&lt;br /&gt;
&lt;br /&gt;
		if ($cyear == 1029982) {&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = 2820;&lt;br /&gt;
&lt;br /&gt;
		} else {&lt;br /&gt;
&lt;br /&gt;
		    $aux1 = floor($cyear / 366);&lt;br /&gt;
&lt;br /&gt;
		    $aux2 = $cyear % 366;&lt;br /&gt;
&lt;br /&gt;
		    $ycycle = floor(((2134 * $aux1) + (2816 * $aux2) + 2815) / 1028522) +&lt;br /&gt;
&lt;br /&gt;
		                $aux1 + 1;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$year = $ycycle + (2820 * $cycle) + 474;&lt;br /&gt;
&lt;br /&gt;
		if ($year &amp;lt;= 0) {&lt;br /&gt;
&lt;br /&gt;
		    $year--;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$yday = ($jd - self::persian_to_jd(1, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		$month = ($yday &amp;lt;= 186) ? ceil($yday / 31) : ceil(($yday - 6) / 30);&lt;br /&gt;
&lt;br /&gt;
		$day = ($jd - self::persian_to_jd($month, 1, $year)) + 1;&lt;br /&gt;
&lt;br /&gt;
		return array(&#039;year&#039;=&amp;gt;$year, &#039;mon&#039;=&amp;gt;$month,&#039;day&#039;=&amp;gt; $day);&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	public static function persian_to_jd($month, $day, $year)&lt;br /&gt;
&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		//var $epbase, $epyear;&lt;br /&gt;
&lt;br /&gt;
		$epbase = $year - (($year &amp;gt;= 0) ? 474 : 473);&lt;br /&gt;
&lt;br /&gt;
		$epyear = 474 + $epbase % 2820;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		return $day +&lt;br /&gt;
&lt;br /&gt;
		        (($month &amp;lt;= 7) ?&lt;br /&gt;
&lt;br /&gt;
		            (($month - 1) * 31) :&lt;br /&gt;
&lt;br /&gt;
		            ((($month - 1) * 30) + 6)&lt;br /&gt;
&lt;br /&gt;
		        ) +&lt;br /&gt;
&lt;br /&gt;
		        floor((($epyear * 682) - 110) / 2816) +&lt;br /&gt;
&lt;br /&gt;
		        ($epyear - 1) * 365 +&lt;br /&gt;
&lt;br /&gt;
		        floor($epbase / 2820) * 1029983 +&lt;br /&gt;
&lt;br /&gt;
		        self::PERSIAN_EPOCH;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public static function leap_persian($year) {&lt;br /&gt;
&lt;br /&gt;
	    return (((((($year - (($year &amp;gt; 0) ? 474 : 473)) % 2820) + 474) + 38) * 682) % 2816) &amp;lt; 682;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One has also to add the right calendar.js files in the package.&lt;br /&gt;
&lt;br /&gt;
===The Site-only pack===&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Concerning those of you providing &amp;quot;site only&amp;quot; packs:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The packages have to be made on the model of http://joomlacode.org/gf/download/frsrelease/16677/72539/gd-GB_joomla_lang_full_2.5.1.zip&lt;br /&gt;
(Download and decompress locally to see the exact structure of the pack (install.xml, files included, etc.)&lt;br /&gt;
&lt;br /&gt;
I.e. IT IS NECESSARY TO PROVIDE A LIMITED ADMIN PACK and to post a unique package including both&lt;br /&gt;
&lt;br /&gt;
Why? ==&amp;gt; because some plugin ini files are used in front-end! Here is a typical xml for admin in this case. Example for 2.5:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;install version=&amp;quot;2.5&amp;quot; client=&amp;quot;administrator&amp;quot; type=&amp;quot;language&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;Scottish Gaelic (GB)&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;tag&amp;gt;gd-GB&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;2.5.1&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;creationDate&amp;gt;2012-02-13&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;akerbeltz&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;authorEmail&amp;gt;fios@akerbeltz.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
    &amp;lt;authorUrl&amp;gt;www.akerbeltz.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
    &amp;lt;copyright&amp;gt;Copyright (C) 2005 - 2012 Joomla Open Source Matters. Gach còir glèidhte.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Scottish Gaelic language pack for Joomla! 2.5&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_captcha_recaptcha.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;gd-GB.plg_finder_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_content_vote.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_article.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_image.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_pagebreak.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_editors-xtd_readmore.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_categories.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_contacts.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_content.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_newsfeeds.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_search_weblinks.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;gd-GB.plg_user_profile.ini&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;install.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;filename file=&amp;quot;meta&amp;quot;&amp;gt;gd-GB.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/install&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Language Development]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Joomla_info_page/he-IL&amp;diff=67105</id>
		<title>Joomla info page/he-IL</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Joomla_info_page/he-IL&amp;diff=67105"/>
		<updated>2012-05-07T14:07:34Z</updated>

		<summary type="html">&lt;p&gt;Oc666: /* איפה ניתן לקבל הרחבות? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
= Hebrew / עברית =&lt;br /&gt;
&lt;br /&gt;
== מה זה ג&#039;ומלה? ==&lt;br /&gt;
ג&#039;ומלה היא מערכת ניהול תוכן עטורת פרסים, אשר מאפשרת לך לבנות אתרי אינטרנט ויישומים מקוונים רבי עוצמה. היבטים רבים, כולל שימוש קלות ויכולת הרחבתה, הפכו את ג&#039;ומלה לתוכנת אתרי האינטרנט הפופולרית ביותר. החשוב מכל, ג&#039;ומלה הינו פתרון קוד פתוח והוא זמין באופן חופשי לכולם. היתרונות של ג&#039;ומלה! כוללים:&lt;br /&gt;
* התקנה קלה&lt;br /&gt;
* אתר אינטרנט פשוט לתחזוקה&lt;br /&gt;
* אבטחה מעולה ויציבות&lt;br /&gt;
* הרחבות חינם ומסחריות רבות עוצמה&lt;br /&gt;
* שפע תבניות כדי לשנות בקלות את המראה של האתר שלך&lt;br /&gt;
&lt;br /&gt;
== איפה ניתן להשיג ג&#039;ומלה? ==&lt;br /&gt;
* הורדת ג&#039;ומלה: http://www.joomla.org.il/download.html&lt;br /&gt;
* הורדת ג&#039;ומלה חבילת שפה עבור עברית (he-IL): http://joomlacode.org/gf/project/jtranslation1_6/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5685&lt;br /&gt;
&lt;br /&gt;
== איפה ניתן לקבל הרחבות? ==&lt;br /&gt;
* הורדת הרחבות: http://extensions.joomla.org/&lt;br /&gt;
* הורדת חבילות שפה עברית עבור הרחבות: http://www.joomla.org.il&lt;br /&gt;
&lt;br /&gt;
== היכן להשיג תיעוד של ג&#039;ומלה? ==&lt;br /&gt;
* תיעוד באנגלית: http://docs.joomla.org&lt;br /&gt;
* תיעוד בעברית: http://www.joomla.org.il/תיעוד.html&lt;br /&gt;
&lt;br /&gt;
== איפה ניתן לקבל תמיכה עבור ג&#039;ומלה? ==&lt;br /&gt;
* תמיכה חינם באנגלית: http://forum.joomla.org/&lt;br /&gt;
* תמיכה חינם בעברית:&lt;br /&gt;
** http://forum.joomla.org/viewforum.php?f=172&lt;br /&gt;
** http://www.joomla.org.il/פורום.html&lt;br /&gt;
* תמיכה מסחרית: http://resources.joomla.org/ (האתר באנגלית)&lt;br /&gt;
&lt;br /&gt;
== אירועים אזוריים / Joomladays ==&lt;br /&gt;
[http://jday.joomla.org.il ג&#039;ומלה דיי ישראל Joomla!Day Israel 2011]&lt;br /&gt;
&lt;br /&gt;
קהילות מקומיות ברחבי העולם מארגנות ימי ג&#039;ומלה. יום ג&#039;ומלה הינו אירוע שנוצר באופן בלעדי עבור משתמשי ג&#039;ומלה ופרויקטים ובדרך כלל מושך קהל אזורי. מידע נוסף: http://community.joomla.org/events/joomla-days.html&lt;br /&gt;
&lt;br /&gt;
== קבוצות משתמשי ג&#039;ומלה (JUG) ==&lt;br /&gt;
קבוצות משתמשי ג&#039;ומלה מקומיות הם דרך מצוינת להכיר אנשים חדשים, לקבל עזרה עם פרויקט, או לחלוק את הידע שלכם עם משתמשי ג&#039;ומלה אחרים. ג&#039;ומלה נמצא בכל מקום, אז בדקו אם יש כבר קבוצה כזו באזורך. אם לא, אולי כדאי לך לשקול להקים אחד.&lt;br /&gt;
&lt;br /&gt;
* JUG בישראל: http://community.joomla.org/user-groups/middle-east/israel/tel-aviv-jug.html&lt;br /&gt;
* JUG שאלות נפוצות: http://community.joomla.org/user-groups/jug-faq.html&lt;br /&gt;
&lt;br /&gt;
== כיצד לתרום לג&#039;ומלה? ==&lt;br /&gt;
* לענות על שאלות בפורום ג&#039;ומלה http://www.joomla.org.il&lt;br /&gt;
* כתוב או תרגם הדרכה או תיעוד http://www.joomla.org.il/תיעוד.html (נדרש רישום)&lt;br /&gt;
* לפתח הרחבה או תבנית&lt;br /&gt;
* לבדוק או לדווח על בעיה: http://docs.joomla.org/How_do_you_report_a_bug%3F&lt;br /&gt;
* הצטרף לקבוצת עבודה של ג&#039;ומלה!&lt;br /&gt;
* לעזור בארגון אירוע ג&#039;ומלה!&lt;br /&gt;
* לתרום בדרכים אחרות http://contribute.joomla.org&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=GSoC_2012_-_Student_/_Mentor_Orientation&amp;diff=66874</id>
		<title>GSoC 2012 - Student / Mentor Orientation</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=GSoC_2012_-_Student_/_Mentor_Orientation&amp;diff=66874"/>
		<updated>2012-05-01T14:44:40Z</updated>

		<summary type="html">&lt;p&gt;Oc666: /* Webinars */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;This document is under massive editing!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
*Community Bonding Period&lt;br /&gt;
:Why it is key&lt;br /&gt;
*Overview of the summer&lt;br /&gt;
*Webinars&lt;br /&gt;
*Questions&lt;br /&gt;
&lt;br /&gt;
== Introductions ==&lt;br /&gt;
*Who are you?&lt;br /&gt;
*Students: What class are you working on?&lt;br /&gt;
*Any immediate concerns? &lt;br /&gt;
&lt;br /&gt;
== Community Bonding Period ==&lt;br /&gt;
You should be doing:&lt;br /&gt;
*Detailed Discussions with Mentor/student&lt;br /&gt;
*Working on Detailed Plan&lt;br /&gt;
*Includes Milestones, Tasks, and Dates for entire summer - Turn in by May 21st&lt;br /&gt;
*Writing an article about your project for the magazine&lt;br /&gt;
*Set up repository in github&lt;br /&gt;
*Set up eclipse or other IDE&lt;br /&gt;
*Learn PHPUnit&lt;br /&gt;
*Reviewing Joomla! Coding Standards&lt;br /&gt;
*Studying API to Present (date TBA around May 21)&lt;br /&gt;
*Create account @ developer.joomla.org&lt;br /&gt;
*Don&#039;t forget to do well on exams&lt;br /&gt;
&lt;br /&gt;
== Summer Overview ==&lt;br /&gt;
*Coding Starts May 21st&lt;br /&gt;
*Turn in detailed plan by May 21st&lt;br /&gt;
*Weekly Checkin Form&lt;br /&gt;
:http://developer.joomla.org&lt;br /&gt;
*Midterms [ July 9th - July 13th]&lt;br /&gt;
*Blogging [Blog for June JCM, Due May 23rd]&lt;br /&gt;
:http://magazine.joomla.org&lt;br /&gt;
*Finals [August 20th - August 24th]&lt;br /&gt;
&lt;br /&gt;
== Webinars == &lt;br /&gt;
=== Confimed ===&lt;br /&gt;
*Phing - [http://www.timeanddate.com/worldclock/fixedtime.html?msg=Phing+webminar&amp;amp;iso=20120503T17 May 3rd, 17 UTC]&lt;br /&gt;
&lt;br /&gt;
=== To be Confirmed ===&lt;br /&gt;
*DocBook &amp;amp; Conventions - TBD (this week)&lt;br /&gt;
*Contributing to FOSS - Week of May 7th&lt;br /&gt;
*Github, Eclipse - Week of May 7th&lt;br /&gt;
*Unit Testing - Week of May 14&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=GSoC_2012_-_Student_/_Mentor_Orientation&amp;diff=66873</id>
		<title>GSoC 2012 - Student / Mentor Orientation</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=GSoC_2012_-_Student_/_Mentor_Orientation&amp;diff=66873"/>
		<updated>2012-05-01T14:41:42Z</updated>

		<summary type="html">&lt;p&gt;Oc666: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;This document is under massive editing!&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;  == Agenda == *Community Bonding Period :Why it is key *Overview of the summer *Webinars *Questions  == Introductions == *Who ar...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;This document is under massive editing!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
*Community Bonding Period&lt;br /&gt;
:Why it is key&lt;br /&gt;
*Overview of the summer&lt;br /&gt;
*Webinars&lt;br /&gt;
*Questions&lt;br /&gt;
&lt;br /&gt;
== Introductions ==&lt;br /&gt;
*Who are you?&lt;br /&gt;
*Students: What class are you working on?&lt;br /&gt;
*Any immediate concerns? &lt;br /&gt;
&lt;br /&gt;
== Community Bonding Period ==&lt;br /&gt;
You should be doing:&lt;br /&gt;
*Detailed Discussions with Mentor/student&lt;br /&gt;
*Working on Detailed Plan&lt;br /&gt;
*Includes Milestones, Tasks, and Dates for entire summer - Turn in by May 21st&lt;br /&gt;
*Writing an article about your project for the magazine&lt;br /&gt;
*Set up repository in github&lt;br /&gt;
*Set up eclipse or other IDE&lt;br /&gt;
*Learn PHPUnit&lt;br /&gt;
*Reviewing Joomla! Coding Standards&lt;br /&gt;
*Studying API to Present (date TBA around May 21)&lt;br /&gt;
*Create account @ developer.joomla.org&lt;br /&gt;
*Don&#039;t forget to do well on exams&lt;br /&gt;
&lt;br /&gt;
== Summer Overview ==&lt;br /&gt;
*Coding Starts May 21st&lt;br /&gt;
*Turn in detailed plan by May 21st&lt;br /&gt;
*Weekly Checkin Form&lt;br /&gt;
:http://developer.joomla.org&lt;br /&gt;
*Midterms [ July 9th - July 13th]&lt;br /&gt;
*Blogging [Blog for June JCM, Due May 23rd]&lt;br /&gt;
:http://magazine.joomla.org&lt;br /&gt;
*Finals [August 20th - August 24th]&lt;br /&gt;
&lt;br /&gt;
== Webinars == &lt;br /&gt;
=== Confimed ===&lt;br /&gt;
*Phing - May 3rd, 17 UTC&lt;br /&gt;
&lt;br /&gt;
=== To be Confirmed ===&lt;br /&gt;
*DocBook &amp;amp; Conventions - TBD (this week)&lt;br /&gt;
*Contributing to FOSS - Week of May 7th&lt;br /&gt;
*Github, Eclipse - Week of May 7th&lt;br /&gt;
*Unit Testing - Week of May 14&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=JoomlaDays/History&amp;diff=66872</id>
		<title>JoomlaDays/History</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=JoomlaDays/History&amp;diff=66872"/>
		<updated>2012-05-01T14:31:37Z</updated>

		<summary type="html">&lt;p&gt;Oc666: /* 2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Joomla! community has a long history of Joomla!Day events from around the world.  Let&#039;s document these here, so we can ensure we have a historical timeline of Joomla!Days.&lt;br /&gt;
&lt;br /&gt;
Instructions:  please add the name, date, location, and if possible the web address, of any Joomla!Days that have happened in the past.  Please use the following format:  Name_of_Joomla!Day - Month DD-DD, YYYY - City, Country&lt;br /&gt;
&lt;br /&gt;
== 2006 ==&lt;br /&gt;
&lt;br /&gt;
(5 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (1) - April 22, 2006 - Breda, Netherlands&lt;br /&gt;
&lt;br /&gt;
Joomla!Day UK (1) - July 30, 2006 - Leeds, United Kingdom [http://web.archive.org/web/20060709173546/http://www.joomlatraining.org.uk/joomla-day/ programme] [http://web.archive.org/web/20060814225232/http://www.joomlatraining.org.uk/content/view/297/36/ Day 1] [http://web.archive.org/web/20060813123831/http://www.joomlatraining.org.uk/content/view/298/36/ Day 2]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - October 6-7, 2006 - Västerås, Sweden&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (2) - December 8-9 2006 - Den Bosch, Netherlands&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Germany - September 29-30, 2006 - Bonn, Germany [http://www.joomladay.de/fakten/historie/joomladay-2006.html Report in German]&lt;br /&gt;
&lt;br /&gt;
== 2007 == &lt;br /&gt;
&lt;br /&gt;
(17 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Melbourne - January 24, 2007 - Melbourne, Australia [http://forum.joomla.org/viewtopic.php?f=306&amp;amp;t=116577&amp;amp;start=150] and [http://forum.joomla.org/viewtopic.php?t=134393]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - March 25, 2007 - Paris, France&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Norway - June 2, 2007 - Drammen, Norway&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Cape Town (South Africa) - June 16, 2007 [http://www.joomladay.org.za/archive/2007-cape-town-june-16-2007.html programme]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Johannesburg (South Africa) - July 14, 2007 [http://www.joomladay.org.za/archive/2007-johannesburg-july-14-2007.html programme]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day (Central) USA and Mexico - July 21, 2007 - Austin, Texas, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bangkok - August 4, 2008 - Bangkok , Thailand [http://www.flickr.com/photos/laithaiphoto/sets/72157601327115053/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - August 18, 2007 - São Paulo/SP, Brazil&lt;br /&gt;
 &lt;br /&gt;
Joomla!Day USA West - May 12-13, 2007 - Mountain View, California, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day NYC - October 13, 2007 - New York, New York, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Hungary - October 21, 2007 - Budapest, Hungary&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - November 3, 2007 - Västerås, Sweden&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Helsinki - November 12, 2007 - Helsinki, Finland&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Cape Town (South Africa) - December 10, 2007 [http://www.joomladay.org.za/archive/2007-cape-town-december-10-2007.html programme]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Nigeria - date unknown&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Serbia - November 17, 2007 - Belgrade, Serbia&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New Zealand - December 15, 2007&lt;br /&gt;
&lt;br /&gt;
== 2008 ==&lt;br /&gt;
&lt;br /&gt;
(20 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Italy - January 19, 2008 - Rome, Italy&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Melbourne - February 2, 2008 - Melbourne, Australia [http://forum.joomla.org/viewtopic.php?p=1184586]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain (1) - April 19, 2008 - Madrid[http://www.joomladay.info/2008/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (3), April 4-5, 2008 - Utrecht, Netherlands&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Norway - April 26, 2008 - Drammen, Norway&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - April 27, 2008 - Paris, France&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bangkok - May 10, 2008 - Bangkok, Thailand [http://www.flickr.com/photos/laithaiphoto/sets/72157605299681211/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Byron Bay - May 11, 2008 - Byron Bay, NSW, Australia]] [http://forum.joomla.org/viewtopic.php?f=306&amp;amp;t=262909]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sydney - May 19, 2008 - Sydney, Australia [http://forum.joomla.org/viewtopic.php?p=1304388]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Vancouver - June 14, 2008 - Vancouver, British Columbia, Canada]] [http://community.joomla.org/events/joomla-days/400-joomla-day-vancouver-2008.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Philippines - June 14, 2008&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Hungary - June 20-21, 2008&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Durban - June 20-21, 2008 - Durban, South Africa&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - August 16, 2008 - São Paulo/SP, Brazil&lt;br /&gt;
&lt;br /&gt;
Joomla!Day San Francisco - September 20, 2008 - San Francisco, California, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Johannesburg - October 18, 2008 - Johannesburg, South Africa&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Turkey - October 25, 2008&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Switzerland - November 15, 2008&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - November 15, 2008&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Nigeria - November 19, 2008&lt;br /&gt;
&lt;br /&gt;
== 2009 ==&lt;br /&gt;
&lt;br /&gt;
(23 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Turkey - January 10, 2009 &lt;br /&gt;
&lt;br /&gt;
Joomla!Day Melbourne - February 7-8, 2009 - Melbourne, Australia [http://community.joomla.org/events/joomla-days/641-joomladay-melbourne-2009.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day UK (2) - March 13-14, 2009 - Maidstone, England, United Kingdom&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Las Vegas - April 4, 2009 - Las Vegas, Nevada, USA [http://lasvegas.joomladayusa.org/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day India - April 25, 2009 - Pune, India [http://community.joomla.org/blogs/community/811-joomla-day-pune-india-a-big-success.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - May 15-16, 2009 - Stockholm, Sweden&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - May 24, 2009 - Paris, France&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New England - May 30, 2009 - Brattleboro, Vermont, USA [http://community.joomla.org/events/joomla-days/771-joomladay-new-england-2009.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (4) - June 12-13, 2009 - Nieuwegein, Netherlands&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Cape Town - August 14, 2009 - Cape Town, South Africia&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bangkok - August 22-23, 2009 - Bangkok, Thailand [http://www.flickr.com/photos/laithaiphoto/sets/72157622115004400/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - September, 12, 2009 - Rio de Janeiro/RJ, Brazil &lt;br /&gt;
&lt;br /&gt;
Joomla!Day Germany - September, 24 - 26, 2009 - Bad Nauheim, Germany&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Mongolia - September 29-30, 2009 - Ulan Bataar, Mongolia&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Norway - October ?, 2009 - Drammen, Norway&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Gauteng - October 8-10, 2009 - Gauteng, South Africa&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Hungary - October 10, 2009 - Budapest, Hungary&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New York - October 12, 2009 - New York, New York, USA [http://community.joomla.org/events/joomla-days/912-joomla-day-new-york.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sydney - October 17-18, 2009 - Sydney, Australia [http://sydney.joomladay.org.au/groups/viewgroup/5-Welcome+to+Sydney+JoomlaDay+17%2B18+Oct+2009]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Vietnam - November 1, 2009 - Hồ Chí Minh City, Vietnam [http://community.joomla.org/events/joomla-days/1056-joomladay-vietnam-2009.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Italy - November 21, 2009 - Rome, Italy&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain (2) - December 11-12, 2009 - Barcelona, Spain [http://www.joomladay.info/2009/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Nigeria - December 12, 2009 - Lagos, Nigeria&lt;br /&gt;
&lt;br /&gt;
== 2010 ==&lt;br /&gt;
&lt;br /&gt;
(17 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Melbourne - February 12-14, 2010 - Melbourne, Australia [http://community.joomla.org/events/joomla-days/1102-joomladay-melbourne-2010.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - March 21, 2010 - Bordeaux, France&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain (3) - April 9-10, 2010 - Mallorca, Spain [http://www.joomladay.cat/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (5) - April 23-24, 2010 - Utrecht, Netherlands [http://www.joomladagen.nl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - April 23-24, 2010 - Stockholm, Sweden [http://www.joomladay.se/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Norway - June 4-5, 2010 - Drammen, Norway [http://www.joomladay.no/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New England - June 5, 2010 - Marlboro, Vermont, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brisbane - June 18-19, 2010 - Brisbane, Australia&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - September 11-12, 2010 - Brasília/DF, Brazil [http://www.joomladaybrasil.org/2010]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day USA West - October 1-3, 2010 - San Jose, California, USA [http://www.joomladaywest.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Italy - October 9, 2010 - Verona, Italy&lt;br /&gt;
&lt;br /&gt;
Joomla!Day DC - October 16, 2010 - Chevy Chase, Maryland, USA [http://www.joomladaydc.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Denmark - October 29-30, 2010 - Kolding, Denmark [http://www.joomladay.dk]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day UK (3) - October 30-31, 2010 - Ipswich, England, United Kingdom&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bangkok - November 13-14, 2010 - Bangkok, Thailand [http://www.joomladay.in.th/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain (4) - November 26-27, 2010 - Valencia, Spain [http://www.joomladay2010.es/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day NYC - December 4-5, 2010 - New York City, New York, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Nigeria - December 11, 2010 - Lagos, Nigeria&lt;br /&gt;
&lt;br /&gt;
== 2011 ==&lt;br /&gt;
&lt;br /&gt;
(29 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Chile - January 18, 2011 - Santiago, Chile [http://www.joomladay-chile.cl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Night Stockholm - February 4, 2011 - Stockholm, Sweden&lt;br /&gt;
&lt;br /&gt;
Joomla!Day India - March 12-13, 2011 - Pune, Maharashtra, India [http://www.joomladay.co.in]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (6) - April 2-3, 2011 - Doorn, Netherlands [http://www.joomladagen.nl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New England - April 2, 2011 - Brattleboro, Vermont, USA [http://www.joomladaynewengland.org]&lt;br /&gt;
[[Media:JoomlaDayNEProgram2011-schedule.jpg]] &lt;br /&gt;
[[Media:JoomlaDayNEProgram2011-speakers.jpg]] &lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - April 2-3, 2011 - Lyon, France [http://www.joomladay.fr/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Algeria - April 19 2011 - Alger, Algeria [http://www.joomladayalgerie.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Greece - May 28-29, 2011 - Athens, Greece [http://joomladay.gr/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Malaysia - June 25, 2011 - Kuala Lumpur, Malaysia [http://www.joomla-day.org.my/2011/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Night Chile - July 6, 2011 - Santiago, Chile [http://joomlanight-chile.cl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Chicago - August 5-6, 2011 - Chicago, Illinois, USA [http://www.joomladaychicago.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Norway - August 12-13, 2011 - Drammen, Norway [http://www.joomladay.no/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bosnia and Herzegovina - August 12-14, 2011 - Tesanj, Bosnia [http://www.joomla.ba/konferencija]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Cape Town - August  19-20, 2011 - Cape Town, South Africa [http://www.joomladay.org.za/] [http://www.joomladay.org.za/talks-sessions/programme.html programme]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Germany - September 2-3, 2011 - Hamburg, Germany [http://www.joomladay.de]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - September 2-4, 2011 - Florianópolis/SC, Brazil [http://www.joomladaybrasil.org/2011]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Austin - September 15, 2011 - Austin, Texas, USA [http://www.joomladayaustin.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day UK - September 24-25, 2011 - London, England [http://www.joomladayuk2011.org]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Israel - October 10, 2011 - Tel Aviv, Israel [http://jday11.joomla.org.il]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Italy - October 22, 2011 - Florence, Italy [http://www.joomladay.it]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day NYC - October 22-23, 2011 - New York City, New York, USA [http://www.joomladaynyc.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Denmark - October 28-29, 2011 - Kolding, Denmark [http://www.joomladay.dk]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Australia - November 5-6, 2011 - Sydney, Australia [http://sydney.joomladay.org.au/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Finland - November 5, 2011 - Helsinki, Finland [http://joomladayfinland.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain - November 9-10, 2011 - Zaragoza, Spain [http://www.joomladay2011.es/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Midwest - November 12, 2011 - Milwaukee, Wisconsin, USA [http://www.joomladaymidwest.org]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Algeria - November 19, 2011 - Oran, Algeria [http://www.joomladayoran.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Los Angeles - December 3, 2011 - Los Angeles, California, USA [http://www.jdayla.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Lagos  - December 17, 2011 - Lagos, Nigeria [http://joomlang.com/]&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bangkok - February 25, 2012 - Bangkok, Thailand [http://www.joomladay.in.th]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Guatemala - February 29 - March 3, 2012 - Guatemala City, Guatemala [http://www.joomlagt.org/joomladay2012/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - March 24, 2012 - Strasbourg, France [http://www.joomladay.fr/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New England - March 31, 2012 - Brattleboro, Vermont, USA [http://www.joomladaynewengland.org/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Iran - April 12, 2012 - Mashhad, Iran [http://www.joomladay.ir]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (7) - April 21-22, 2012 - Zeist, Netherlands [http://www.joomladagen.nl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Ribeirão Preto - May 11-12, 2012 - Ribeirão Preto, Brasil [http://jdrp.unaerp.br/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Togo - June 14, 2012 - Assahoun, Togo&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Mexico - June 22-23, 2012 - Mexico City, Mexico [http://www.joomladaymexico.org/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - September 07-08, 2012 - Belo Horizonte, Minas Gerais, Brasil [http://www.joomladaybrasil.org/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Poland - September 22-23, 2012 - Poznań, Poland [http://www.joomla-day.pl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Germany - October 05-06, 2012 - Berlin, Germany [http://www.joomladay.de/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Israel - October 10, 2012- Tel Aviv, Israel [http://jday.joomla.org.il]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day West - TBA - San Jose, California, USA [http://www.joomladaywest.com]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=JoomlaDays/History&amp;diff=66847</id>
		<title>JoomlaDays/History</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=JoomlaDays/History&amp;diff=66847"/>
		<updated>2012-04-27T19:51:39Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Joomla! community has a long history of Joomla!Day events from around the world.  Let&#039;s document these here, so we can ensure we have a historical timeline of Joomla!Days.&lt;br /&gt;
&lt;br /&gt;
Instructions:  please add the name, date, location, and if possible the web address, of any Joomla!Days that have happened in the past.  Please use the following format:  Name_of_Joomla!Day - Month DD-DD, YYYY - City, Country&lt;br /&gt;
&lt;br /&gt;
== 2006 ==&lt;br /&gt;
&lt;br /&gt;
(5 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (1) - April 22, 2006 - Breda, Netherlands&lt;br /&gt;
&lt;br /&gt;
Joomla!Day UK (1) - July 30, 2006 - Leeds, United Kingdom [http://web.archive.org/web/20060709173546/http://www.joomlatraining.org.uk/joomla-day/ programme] [http://web.archive.org/web/20060814225232/http://www.joomlatraining.org.uk/content/view/297/36/ Day 1] [http://web.archive.org/web/20060813123831/http://www.joomlatraining.org.uk/content/view/298/36/ Day 2]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - October 6-7, 2006 - Västerås, Sweden&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (2) - December 8-9 2006 - Den Bosch, Netherlands&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Germany - September 29-30, 2006 - Bonn, Germany [http://www.joomladay.de/fakten/historie/joomladay-2006.html Report in German]&lt;br /&gt;
&lt;br /&gt;
== 2007 == &lt;br /&gt;
&lt;br /&gt;
(17 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Melbourne - January 24, 2007 - Melbourne, Australia [http://forum.joomla.org/viewtopic.php?f=306&amp;amp;t=116577&amp;amp;start=150] and [http://forum.joomla.org/viewtopic.php?t=134393]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - March 25, 2007 - Paris, France&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Norway - June 2, 2007 - Drammen, Norway&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Cape Town (South Africa) - June 16, 2007 [http://www.joomladay.org.za/archive/2007-cape-town-june-16-2007.html programme]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Johannesburg (South Africa) - July 14, 2007 [http://www.joomladay.org.za/archive/2007-johannesburg-july-14-2007.html programme]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day (Central) USA and Mexico - July 21, 2007 - Austin, Texas, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bangkok - August 4, 2008 - Bangkok , Thailand [http://www.flickr.com/photos/laithaiphoto/sets/72157601327115053/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - August 18, 2007 - São Paulo/SP, Brazil&lt;br /&gt;
 &lt;br /&gt;
Joomla!Day USA West - May 12-13, 2007 - Mountain View, California, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day NYC - October 13, 2007 - New York, New York, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Hungary - October 21, 2007 - Budapest, Hungary&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - November 3, 2007 - Västerås, Sweden&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Helsinki - November 12, 2007 - Helsinki, Finland&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Cape Town (South Africa) - December 10, 2007 [http://www.joomladay.org.za/archive/2007-cape-town-december-10-2007.html programme]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Nigeria - date unknown&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Serbia - November 17, 2007 - Belgrade, Serbia&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New Zealand - December 15, 2007&lt;br /&gt;
&lt;br /&gt;
== 2008 ==&lt;br /&gt;
&lt;br /&gt;
(20 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Italy - January 19, 2008 - Rome, Italy&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Melbourne - February 2, 2008 - Melbourne, Australia [http://forum.joomla.org/viewtopic.php?p=1184586]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain (1) - April 19, 2008 - Madrid[http://www.joomladay.info/2008/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (3), April 4-5, 2008 - Utrecht, Netherlands&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Norway - April 26, 2008 - Drammen, Norway&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - April 27, 2008 - Paris, France&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bangkok - May 10, 2008 - Bangkok, Thailand [http://www.flickr.com/photos/laithaiphoto/sets/72157605299681211/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Byron Bay - May 11, 2008 - Byron Bay, NSW, Australia]] [http://forum.joomla.org/viewtopic.php?f=306&amp;amp;t=262909]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sydney - May 19, 2008 - Sydney, Australia [http://forum.joomla.org/viewtopic.php?p=1304388]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Vancouver - June 14, 2008 - Vancouver, British Columbia, Canada]] [http://community.joomla.org/events/joomla-days/400-joomla-day-vancouver-2008.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Philippines - June 14, 2008&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Hungary - June 20-21, 2008&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Durban - June 20-21, 2008 - Durban, South Africa&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - August 16, 2008 - São Paulo/SP, Brazil&lt;br /&gt;
&lt;br /&gt;
Joomla!Day San Francisco - September 20, 2008 - San Francisco, California, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Johannesburg - October 18, 2008 - Johannesburg, South Africa&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Turkey - October 25, 2008&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Switzerland - November 15, 2008&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - November 15, 2008&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Nigeria - November 19, 2008&lt;br /&gt;
&lt;br /&gt;
== 2009 ==&lt;br /&gt;
&lt;br /&gt;
(23 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Turkey - January 10, 2009 &lt;br /&gt;
&lt;br /&gt;
Joomla!Day Melbourne - February 7-8, 2009 - Melbourne, Australia [http://community.joomla.org/events/joomla-days/641-joomladay-melbourne-2009.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day UK (2) - March 13-14, 2009 - Maidstone, England, United Kingdom&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Las Vegas - April 4, 2009 - Las Vegas, Nevada, USA [http://lasvegas.joomladayusa.org/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day India - April 25, 2009 - Pune, India [http://community.joomla.org/blogs/community/811-joomla-day-pune-india-a-big-success.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - May 15-16, 2009 - Stockholm, Sweden&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - May 24, 2009 - Paris, France&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New England - May 30, 2009 - Brattleboro, Vermont, USA [http://community.joomla.org/events/joomla-days/771-joomladay-new-england-2009.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (4) - June 12-13, 2009 - Nieuwegein, Netherlands&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Cape Town - August 14, 2009 - Cape Town, South Africia&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bangkok - August 22-23, 2009 - Bangkok, Thailand [http://www.flickr.com/photos/laithaiphoto/sets/72157622115004400/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - September, 12, 2009 - Rio de Janeiro/RJ, Brazil &lt;br /&gt;
&lt;br /&gt;
Joomla!Day Germany - September, 24 - 26, 2009 - Bad Nauheim, Germany&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Mongolia - September 29-30, 2009 - Ulan Bataar, Mongolia&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Norway - October ?, 2009 - Drammen, Norway&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Gauteng - October 8-10, 2009 - Gauteng, South Africa&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Hungary - October 10, 2009 - Budapest, Hungary&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New York - October 12, 2009 - New York, New York, USA [http://community.joomla.org/events/joomla-days/912-joomla-day-new-york.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sydney - October 17-18, 2009 - Sydney, Australia [http://sydney.joomladay.org.au/groups/viewgroup/5-Welcome+to+Sydney+JoomlaDay+17%2B18+Oct+2009]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Vietnam - November 1, 2009 - Hồ Chí Minh City, Vietnam [http://community.joomla.org/events/joomla-days/1056-joomladay-vietnam-2009.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Italy - November 21, 2009 - Rome, Italy&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain (2) - December 11-12, 2009 - Barcelona, Spain [http://www.joomladay.info/2009/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Nigeria - December 12, 2009 - Lagos, Nigeria&lt;br /&gt;
&lt;br /&gt;
== 2010 ==&lt;br /&gt;
&lt;br /&gt;
(17 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Melbourne - February 12-14, 2010 - Melbourne, Australia [http://community.joomla.org/events/joomla-days/1102-joomladay-melbourne-2010.html]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - March 21, 2010 - Bordeaux, France&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain (3) - April 9-10, 2010 - Mallorca, Spain [http://www.joomladay.cat/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (5) - April 23-24, 2010 - Utrecht, Netherlands [http://www.joomladagen.nl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Sweden - April 23-24, 2010 - Stockholm, Sweden [http://www.joomladay.se/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Norway - June 4-5, 2010 - Drammen, Norway [http://www.joomladay.no/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New England - June 5, 2010 - Marlboro, Vermont, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brisbane - June 18-19, 2010 - Brisbane, Australia&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - September 11-12, 2010 - Brasília/DF, Brazil [http://www.joomladaybrasil.org/2010]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day USA West - October 1-3, 2010 - San Jose, California, USA [http://www.joomladaywest.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Italy - October 9, 2010 - Verona, Italy&lt;br /&gt;
&lt;br /&gt;
Joomla!Day DC - October 16, 2010 - Chevy Chase, Maryland, USA [http://www.joomladaydc.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Denmark - October 29-30, 2010 - Kolding, Denmark [http://www.joomladay.dk]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day UK (3) - October 30-31, 2010 - Ipswich, England, United Kingdom&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bangkok - November 13-14, 2010 - Bangkok, Thailand [http://www.joomladay.in.th/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain (4) - November 26-27, 2010 - Valencia, Spain [http://www.joomladay2010.es/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day NYC - December 4-5, 2010 - New York City, New York, USA&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Nigeria - December 11, 2010 - Lagos, Nigeria&lt;br /&gt;
&lt;br /&gt;
== 2011 ==&lt;br /&gt;
&lt;br /&gt;
(29 Events)&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Chile - January 18, 2011 - Santiago, Chile [http://www.joomladay-chile.cl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Night Stockholm - February 4, 2011 - Stockholm, Sweden&lt;br /&gt;
&lt;br /&gt;
Joomla!Day India - March 12-13, 2011 - Pune, Maharashtra, India [http://www.joomladay.co.in]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (6) - April 2-3, 2011 - Doorn, Netherlands [http://www.joomladagen.nl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New England - April 2, 2011 - Brattleboro, Vermont, USA [http://www.joomladaynewengland.org]&lt;br /&gt;
[[Media:JoomlaDayNEProgram2011-schedule.jpg]] &lt;br /&gt;
[[Media:JoomlaDayNEProgram2011-speakers.jpg]] &lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - April 2-3, 2011 - Lyon, France [http://www.joomladay.fr/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Algeria - April 19 2011 - Alger, Algeria [http://www.joomladayalgerie.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Greece - May 28-29, 2011 - Athens, Greece [http://joomladay.gr/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Malaysia - June 25, 2011 - Kuala Lumpur, Malaysia [http://www.joomla-day.org.my/2011/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Night Chile - July 6, 2011 - Santiago, Chile [http://joomlanight-chile.cl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Chicago - August 5-6, 2011 - Chicago, Illinois, USA [http://www.joomladaychicago.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Norway - August 12-13, 2011 - Drammen, Norway [http://www.joomladay.no/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bosnia and Herzegovina - August 12-14, 2011 - Tesanj, Bosnia [http://www.joomla.ba/konferencija]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Cape Town - August  19-20, 2011 - Cape Town, South Africa [http://www.joomladay.org.za/] [http://www.joomladay.org.za/talks-sessions/programme.html programme]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Germany - September 2-3, 2011 - Hamburg, Germany [http://www.joomladay.de]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - September 2-4, 2011 - Florianópolis/SC, Brazil [http://www.joomladaybrasil.org/2011]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Austin - September 15, 2011 - Austin, Texas, USA [http://www.joomladayaustin.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day UK - September 24-25, 2011 - London, England [http://www.joomladayuk2011.org]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Israel - October 10, 2011 - Tel Aviv, Israel [http://jday11.joomla.org.il]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Italy - October 22, 2011 - Florence, Italy [http://www.joomladay.it]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day NYC - October 22-23, 2011 - New York City, New York, USA [http://www.joomladaynyc.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Denmark - October 28-29, 2011 - Kolding, Denmark [http://www.joomladay.dk]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Australia - November 5-6, 2011 - Sydney, Australia [http://sydney.joomladay.org.au/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Finland - November 5, 2011 - Helsinki, Finland [http://joomladayfinland.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Spain - November 9-10, 2011 - Zaragoza, Spain [http://www.joomladay2011.es/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Midwest - November 12, 2011 - Milwaukee, Wisconsin, USA [http://www.joomladaymidwest.org]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Algeria - November 19, 2011 - Oran, Algeria [http://www.joomladayoran.com/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Los Angeles - December 3, 2011 - Los Angeles, California, USA [http://www.jdayla.com]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Lagos  - December 17, 2011 - Lagos, Nigeria [http://joomlang.com/]&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Bangkok - February 25, 2012 - Bangkok, Thailand [http://www.joomladay.in.th]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Guatemala - February 29 - March 3, 2012 - Guatemala City, Guatemala [http://www.joomlagt.org/joomladay2012/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day France - March 24, 2012 - Strasbourg, France [http://www.joomladay.fr/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day New England - March 31, 2012 - Brattleboro, Vermont, USA [http://www.joomladaynewengland.org/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Iran - April 12, 2012 - Mashhad, Iran [http://www.joomladay.ir]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Netherlands (7) - April 21-22, 2012 - Zeist, Netherlands [http://www.joomladagen.nl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Ribeirão Preto - May 11-12, 2012 - Ribeirão Preto, Brasil [http://jdrp.unaerp.br/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Togo - June 14, 2012 - Assahoun, Togo&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Mexico - June 22-23, 2012 - Mexico City, Mexico [http://www.joomladaymexico.org/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Brasil - September 07-08, 2012 - Belo Horizonte, Minas Gerais, Brasil [http://www.joomladaybrasil.org/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Poland - September 22-23, 2012 - Poznań, Poland [http://www.joomla-day.pl/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Germany - October 05-06, 2012 - Berlin, Germany [http://www.joomladay.de/]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day Israel - October 10, 2011 - Tel Aviv, Israel [http://jday.joomla.org.il]&lt;br /&gt;
&lt;br /&gt;
Joomla!Day West - TBA - San Jose, California, USA [http://www.joomladaywest.com]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J1.5:Developing_a_MVC_Component/Introduction&amp;diff=65846</id>
		<title>J1.5:Developing a MVC Component/Introduction</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J1.5:Developing_a_MVC_Component/Introduction&amp;diff=65846"/>
		<updated>2012-03-26T01:48:29Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Warning|This guide is for Joomla! {{JVer|1.5}} version. If you are working with Joomla! {{JVer|1.6}} {{JVer|1.7}} {{JVer|2.5}}, please redirect to [[Developing a Model-View-Controller (MVC) Component for Joomla!2.5|this guide]]}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
A software framework is the base of an application that can be used by a developer. The framework in Joomla! 1.5 unleashes a great deal of power for them. The Joomla! code has been designed for extensibility. This tutorial will guide you through the process of developing a component using the framework.&lt;br /&gt;
&lt;br /&gt;
The scope of this project will be to develop a simple Hello World! component. In future tutorials, this simple framework will be built upon to show the full power and versatility of the MVC design pattern in Joomla!&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
You need Joomla! 1.5 or greater for this tutorial.&lt;br /&gt;
&lt;br /&gt;
== Introduction to Model-View-Controller ==&lt;br /&gt;
[[image:MVC basics.png|frameless|right]]While the idea behind a component may seem extremely simple, code can quickly become very complex as additional features are added or the interface is customized.&lt;br /&gt;
&lt;br /&gt;
Model-View-Controller (herein referred to as MVC) is a software design pattern that can be used to organize code in such a way that the business logic and data presentation are separate. The premise behind this approach is that if the business logic is grouped into one section, then the interface and user interaction that surrounds the data can be revised and customized without having to reprogram the business logic. MVC was originally developed to map the traditional input, processing, output roles into a logical GUI architecture.&lt;br /&gt;
&lt;br /&gt;
These three main roles are the basis for the Joomla MVC. They are described here in brief, but for a more thorough explanation, please refer to the links provided at the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
The model is the part of the component that encapsulates the application&#039;s data. It will often provide routines to manage and manipulate this data in a meaningful way in addition to routines that retrieve the data from the model. In our case, the model will contain methods to add, remove and update information about the greetings in the database. It will also contain methods to retrieve the list of greetings from the database. In general, the underlying data access technique should be encapsulated in the model. In this way, if an application is to be moved from a system that utilizes a flat file to store its information to a system that uses a database, the model is the only element that needs to be changed, not the view or the controller.&lt;br /&gt;
&lt;br /&gt;
=== View ===&lt;br /&gt;
The view is the part of the component that is used to render the data from the model in a manner that is suitable for interaction. For a web-based application, the view would generally be an HTML page that is returned to the user. The view pulls data from the model (which is passed to it from the controller) and feeds the data into a template which is populated and presented to the user. The view does not cause the data to be modified in any way, it only displays data retrieved from the model.&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
The controller is responsible for responding to user actions. In the case of a web application, a user action is (generally) a page request. The controller will determine what request is being made by the user and respond appropriately by triggering the model to manipulate the data appropriately and passing the model into the view. The controller does not display the data in the model, it only triggers methods in the model which modify the data, and then pass the model into the view which displays the data.&lt;br /&gt;
&lt;br /&gt;
=== MVC connection ===&lt;br /&gt;
[[image:MVC joomla.png|frameless|right]]The simplified picture on the right depicts the basic components being used within Joomla. Besides the Model, the View and the Controller, an Entry Point has been added that is depicted as a small circle. Attached to the viewer (view) a Template has been added. With these five components you should be able to understand this tutorial about making a basic Joomla! MVC component.&lt;br /&gt;
&lt;br /&gt;
Part 1 of the tutorial only focuses on the Controller and the View (with the use of the Template); these are marked with the blue colour in the picture. Part 2 adds and Part 3 extends the model functionality for the data manipulation abstraction; marked with the green colour in the picture. &lt;br /&gt;
&lt;br /&gt;
Keep in mind that this simplified picture only applies for the site section (i.e the front-end). An identical picture is applicable for the admin section (i.e. the back-end). The administrative section is taken care of in Parts 4 through 6 of this component development tutorial. Both the site and the admin section are maintained and configured in an XML based installation file (typically termed a manifest file).&lt;br /&gt;
&lt;br /&gt;
== Joomla! MVC Implementation ==&lt;br /&gt;
In Joomla!, the MVC pattern is implemented using three classes: [http://api.joomla.org/Joomla-Framework/Application/JModel.html JModel], [http://api.joomla.org/Joomla-Framework/Application/JView.html JView] and [http://api.joomla.org/Joomla-Framework/Application/JController.html JController]. For more detailed information about these classes, please refer to the API reference documentation (WIP).&lt;br /&gt;
&lt;br /&gt;
For learning purposes and debugging, adding a run-time debugger to your Joomla! site might be a good extension especially during development of your (tutorial) component. A good example is the community project [http://extensions.joomla.org/extensions/miscellaneous/development/1509/details J!Dump] that has the advantage of being a pop-up which leaves the view output unchanged. The J!Dump system allows you to view not only your development properties but also the methods.&lt;br /&gt;
&lt;br /&gt;
== Creating a Component ==&lt;br /&gt;
For our basic component, we only require five files:&lt;br /&gt;
&lt;br /&gt;
* site/hello.php - this is the entry point to our component&lt;br /&gt;
* site/controller.php - this file contains our base controller&lt;br /&gt;
* site/views/hello/view.html.php - this file retrieves the necessary data and pushes it into the template&lt;br /&gt;
* site/views/hello/tmpl/default.php - this is the template for our output&lt;br /&gt;
* hello.xml - this is an XML (manifest) file that tells Joomla! how to install our component.&lt;br /&gt;
&lt;br /&gt;
Remember that the filename for the entry point must have the same name of the component. For example, if you call your component &amp;quot;Very Intricate Name Component&amp;quot;, at install time (see below in the hello.xml section) Joomla! will create the folder com_veryintricatenamecomponent and the entry point php file must be named veryintricatenamecomponent.php otherwise it will not work. Be aware that use of some special characters, notibly the underscore &#039;_&#039;, may have special meaning in Joomla and should be avoided in component names or files.&lt;br /&gt;
&lt;br /&gt;
The site directory here is for the parts of the component which are installed in the front end site.&lt;br /&gt;
&lt;br /&gt;
=== Naming conventions ===&lt;br /&gt;
&lt;br /&gt;
Main article: [[Naming conventions]]&lt;br /&gt;
&lt;br /&gt;
At this point it is important to say that some words are reserved for using in component or its class names, and violating some of that will produce a hard for debugging error. One of them is &amp;quot;view&amp;quot; (in any character case) for view class (subclass of JView) and controller class (subclass of JController), because view class need to have first part of name the same as controller class name, and component name (although violating of last one won&#039;t produce an error, it&#039;s just a useful convention).&lt;br /&gt;
&lt;br /&gt;
All filenames and foldernames for models, views and controllers must be lower-case in order to operate well on Unix/Linux-systems.&lt;br /&gt;
&lt;br /&gt;
=== Creating the Entry Point ===&lt;br /&gt;
{{review}}&lt;br /&gt;
Joomla! is always accessed through a single point of entry: index.php for the Site Application or administrator/index.php for the Administrator Application. The application will then load the required component, based on the value of &#039;option&#039; in the URL or in the POST data. For our component, the URL would be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;index.php?option=com_hello&amp;amp;view=hello&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will load our main file, which can be seen as the single point of entry for our component: components/com_hello/hello.php.&lt;br /&gt;
&lt;br /&gt;
The code for this file is fairly typical across components. &lt;br /&gt;
 &lt;br /&gt;
site/hello.php:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * @package    Joomla.Tutorials&lt;br /&gt;
 * @subpackage Components&lt;br /&gt;
 * components/com_hello/hello.php&lt;br /&gt;
 * @link http://docs.joomla.org/Developing_a_Model-View-Controller_Component_-_Part_1&lt;br /&gt;
 * @license    GNU/GPL&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// No direct access&lt;br /&gt;
defined( &#039;_JEXEC&#039; ) or die( &#039;Restricted access&#039; );&lt;br /&gt;
&lt;br /&gt;
// Require the base controller&lt;br /&gt;
&lt;br /&gt;
require_once( JPATH_COMPONENT.DS.&#039;controller.php&#039; );&lt;br /&gt;
&lt;br /&gt;
// Require specific controller if requested&lt;br /&gt;
if($controller = JRequest::getWord(&#039;controller&#039;)) {&lt;br /&gt;
    $path = JPATH_COMPONENT.DS.&#039;controllers&#039;.DS.$controller.&#039;.php&#039;;&lt;br /&gt;
    if (file_exists($path)) {&lt;br /&gt;
        require_once $path;&lt;br /&gt;
    } else {&lt;br /&gt;
        $controller = &#039;&#039;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Create the controller&lt;br /&gt;
$classname    = &#039;HelloController&#039;.$controller;&lt;br /&gt;
$controller   = new $classname( );&lt;br /&gt;
&lt;br /&gt;
// Perform the Request task&lt;br /&gt;
$controller-&amp;gt;execute( JRequest::getWord( &#039;task&#039; ) );&lt;br /&gt;
&lt;br /&gt;
// Redirect if set by the controller&lt;br /&gt;
$controller-&amp;gt;redirect();&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first statement is a security check.&lt;br /&gt;
&lt;br /&gt;
JPATH_COMPONENT is the absolute path to the current component, in our case components/com_hello. If you specifically need either the Site component or the Administrator component, you can use JPATH_COMPONENT_SITE or JPATH_COMPONENT_ADMINISTRATOR.&lt;br /&gt;
&lt;br /&gt;
DS is the directory separator of your system: either &#039;/&#039; or &#039;\&#039;. This is automatically set by the framework so the developer doesn&#039;t have to worry about developing different versions for different server OSs. The &#039;DS&#039; constant should always be used when referring to files on the local server.&lt;br /&gt;
&lt;br /&gt;
After loading the base controller, we check if a specific controller is needed. In this component, the base controller is the only controller, but we will leave this conditional check &amp;quot;in place&amp;quot; for future use.&lt;br /&gt;
&lt;br /&gt;
JRequest::getWord() finds a word variable in the URL or the POST data. So if our URL is index.php?option=com_hello&amp;amp;controller=controller_name, then we can retrieve our controller name in our component using: echo JRequest::getWord(&#039;controller&#039;);&lt;br /&gt;
&lt;br /&gt;
Now we have our base controller &#039;HelloController&#039; in com_hello/controller.php, and, if needed, additional controllers like &#039;HelloControllerController1&#039; in com_hello/controllers/controller1.php. Using this standard naming scheme will make things easy later on: &#039;{Componentname}{Controller}{Controllername}&#039;&lt;br /&gt;
&lt;br /&gt;
After the controller is created, we instruct the controller to execute the task, as defined in the URL: index.php?option=com_hello&amp;amp;task=sometask. If no task is set, the default task &#039;display&#039; will be assumed. When display is used, the &#039;view&#039; variable will decide what will be displayed. Other common tasks are save, edit, new...&lt;br /&gt;
&lt;br /&gt;
The controller might decide to redirect the page, usually after a task like &#039;save&#039; has been completed. This last statement takes care of the actual redirection.&lt;br /&gt;
&lt;br /&gt;
The main entry point (hello.php) essentially passes control to the controller, which handles performing the task that was specified in the request.&lt;br /&gt;
&lt;br /&gt;
Note that we don&#039;t use a closing php tag in this file: ?&amp;gt;. The reason for this is that we will not have any unwanted whitespace in the output code. This is default practice since Joomla! 1.5, and will be used for all php-only files.&lt;br /&gt;
&lt;br /&gt;
=== Creating the Controller ===&lt;br /&gt;
Our component only has one task - greet the world. Therefore, the controller will be very simple. No data manipulation is required. All that needs to be done is the appropriate view loaded. We will have only one method in our controller: display(). Most of the required functionality is built into the JController class, so all that we need to do is invoke the JController::display() method.&lt;br /&gt;
&lt;br /&gt;
The code for the base controller site/controller.php is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * @package    Joomla.Tutorials&lt;br /&gt;
 * @subpackage Components&lt;br /&gt;
 * @link http://docs.joomla.org/Developing_a_Model-View-Controller_Component_-_Part_1&lt;br /&gt;
 * @license    GNU/GPL&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// No direct access&lt;br /&gt;
&lt;br /&gt;
defined( &#039;_JEXEC&#039; ) or die( &#039;Restricted access&#039; );&lt;br /&gt;
&lt;br /&gt;
jimport(&#039;joomla.application.component.controller&#039;);&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Hello World Component Controller&lt;br /&gt;
 *&lt;br /&gt;
 * @package    Joomla.Tutorials&lt;br /&gt;
 * @subpackage Components&lt;br /&gt;
 */&lt;br /&gt;
class HelloController extends JController&lt;br /&gt;
{&lt;br /&gt;
    /**&lt;br /&gt;
     * Method to display the view&lt;br /&gt;
     *&lt;br /&gt;
     * @access    public&lt;br /&gt;
     */&lt;br /&gt;
    function display()&lt;br /&gt;
    {&lt;br /&gt;
        parent::display();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The JController constructor will always register a display() task and unless otherwise specified (using the registerDefaultTask() method), it will set it as the default task.&lt;br /&gt;
&lt;br /&gt;
This barebones display() method isn&#039;t really even necessary since all it does is invoke the parent constructor. However, it is a good visual clue to indicate what is happening in the controller.&lt;br /&gt;
&lt;br /&gt;
The JController::display() method will determine the name of the view and layout from the request and load that view and set the layout. When you create a menu item for your component, the menu manager will allow the administrator to select the view that they would like the menu link to display and to specify the layout. A view usually refers to a view of a certain set of data (i.e. a list of cars, a list of events, a single car, a single event). A layout is a way that that view is organized.&lt;br /&gt;
&lt;br /&gt;
In our component, we will have a single view called hello, and a single layout (default).&lt;br /&gt;
&lt;br /&gt;
=== Creating the View ===&lt;br /&gt;
The task of the view is very simple: It retrieves the data to be displayed and pushes it into the template. Data is pushed into the template using the JView::assignRef method.&lt;br /&gt;
&amp;lt;small&amp;gt;(Note: The key (the first argument) passed to the assignRef method cannot be preceded by an underscore i.e. $this-&amp;gt;assignRef(&#039;_greeting&#039;,$greeting). Doing so will cause the assignRef method to return false and your variable will not be pushed into the template.)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code for the view at site/views/hello/view.html.php:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
 * @package    Joomla.Tutorials&lt;br /&gt;
 * @subpackage Components&lt;br /&gt;
 * @link http://docs.joomla.org/Developing_a_Model-View-Controller_Component_-_Part_1&lt;br /&gt;
 * @license    GNU/GPL&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// no direct access&lt;br /&gt;
&lt;br /&gt;
defined( &#039;_JEXEC&#039; ) or die( &#039;Restricted access&#039; );&lt;br /&gt;
&lt;br /&gt;
jimport( &#039;joomla.application.component.view&#039;);&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * HTML View class for the HelloWorld Component&lt;br /&gt;
 *&lt;br /&gt;
 * @package    HelloWorld&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
class HelloViewHello extends JView&lt;br /&gt;
{&lt;br /&gt;
    function display($tpl = null)&lt;br /&gt;
    {&lt;br /&gt;
        $greeting = &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
        $this-&amp;gt;assignRef( &#039;greeting&#039;, $greeting );&lt;br /&gt;
&lt;br /&gt;
        parent::display($tpl);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Creating the Template ====&lt;br /&gt;
&lt;br /&gt;
Joomla! templates/layouts are regular PHP files that are used to layout the data from the view in a particular manner. The variables assigned by the JView::assignRef method can be accessed from the template using $this-&amp;gt;{propertyname} (see the template code below for an example).&lt;br /&gt;
&lt;br /&gt;
Our template is very simple: we only want to display the greeting that was passed in from the view - this file is:&amp;lt;br&amp;gt;site/views/hello/tmpl/default.php:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// No direct access&lt;br /&gt;
&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die(&#039;Restricted access&#039;); ?&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;&amp;lt;?php echo $this-&amp;gt;greeting; ?&amp;gt;&amp;lt;/h1&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Wrapping It All Up - Creating the hello.xml File ===&lt;br /&gt;
It is possible to install a component manually by copying the files using an FTP client and modifying the database tables. It is more efficient to create a package file that will allow the Joomla! Installer to do this for you. This package file contains a variety of information:&lt;br /&gt;
&lt;br /&gt;
* basic descriptive details about your component (i.e. name), and optionally, a description, copyright and license information.&lt;br /&gt;
* a list of files that need to be copied.&lt;br /&gt;
* optionally, a PHP file that performs additional install and uninstall operations.&lt;br /&gt;
* optionally, an SQL file which contains database queries that should be executed upon install/uninstall&lt;br /&gt;
&lt;br /&gt;
The format of the XML file at hello.xml is as follows:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;install type=&amp;quot;component&amp;quot; version=&amp;quot;1.5.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;name&amp;gt;Hello&amp;lt;/name&amp;gt;&lt;br /&gt;
 &amp;lt;!-- The following elements are optional and free of formatting constraints --&amp;gt;&lt;br /&gt;
 &amp;lt;creationDate&amp;gt;2007-02-22&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
 &amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
 &amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
 &amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
 &amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
 &amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
 &amp;lt;!--  The version string is recorded in the components table --&amp;gt;&lt;br /&gt;
 &amp;lt;version&amp;gt;1.01&amp;lt;/version&amp;gt;&lt;br /&gt;
 &amp;lt;!-- The description is optional and defaults to the name --&amp;gt;&lt;br /&gt;
 &amp;lt;description&amp;gt;Description of the component ...&amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!-- Site Main File Copy Section --&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
      to copy FROM in the package to install therefore files copied&lt;br /&gt;
      in this section are copied from /site/ in the package --&amp;gt;&lt;br /&gt;
 &amp;lt;files folder=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;filename&amp;gt;controller.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
  &amp;lt;filename&amp;gt;hello.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
  &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
  &amp;lt;filename&amp;gt;views/index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
  &amp;lt;filename&amp;gt;views/hello/index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
  &amp;lt;filename&amp;gt;views/hello/view.html.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
  &amp;lt;filename&amp;gt;views/hello/tmpl/default.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
  &amp;lt;filename&amp;gt;views/hello/tmpl/index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
 &amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;administration&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Administration Menu Section --&amp;gt;&lt;br /&gt;
  &amp;lt;menu&amp;gt;Hello World!&amp;lt;/menu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Administration Main File Copy Section --&amp;gt;&lt;br /&gt;
  &amp;lt;files folder=&amp;quot;admin&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;filename&amp;gt;hello.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
   &amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
  &amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/administration&amp;gt;&lt;br /&gt;
&amp;lt;/install&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{notice|&lt;br /&gt;
Put this xml file, also called manifest, in the root of your package (because the installer will take its path as the root path for all other files).{{1}}Don&#039;t include itself under &amp;lt;files&amp;gt;...}}&lt;br /&gt;
&lt;br /&gt;
You may have noticed the manifest source above mentioned files we have not discussed. These are the index.html files and the admin files. An index.html file is placed in each directory to prevent prying users from getting a directory listing. If there is no index.html file, some web servers will list the directory contents. This is often undesirable. These files have the simple line:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;html&amp;gt;&amp;lt;body bgcolor=&amp;quot;#FFFFFF&amp;quot;&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It will simply display a blank page.&lt;br /&gt;
&lt;br /&gt;
The hello.php file in the admin folder is the entry point for the our component&#039;s admin section. Since our component has no administrator needs (yet), this file will have the same content as the index.html files for now.&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve followed along, you can visit URL index.php?option=com_hello to see your work.  To do this, zip up the main folder and install via the extensions manager.  If it still does not work, download the package at the bottom of this page and install for a working example.&lt;br /&gt;
&lt;br /&gt;
== Articles in this Series ==&lt;br /&gt;
[[Developing a Model-View-Controller Component - Part 1]]&lt;br /&gt;
&lt;br /&gt;
[[Developing a Model-View-Controller Component - Part 2 - Adding a Model]]&lt;br /&gt;
&lt;br /&gt;
[[Developing a Model-View-Controller Component - Part 3 - Using the Database]]&lt;br /&gt;
&lt;br /&gt;
[[Developing a Model-View-Controller Component - Part 4 - Creating an Administrator Interface]]&lt;br /&gt;
&lt;br /&gt;
[[Developing a Model-View-Controller Component - Part 5 - Basic Backend Framework]]&lt;br /&gt;
&lt;br /&gt;
[[Developing a Model-View-Controller Component - Part 6 - Adding Backend Actions]]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
* mjaz&lt;br /&gt;
* staalanden&lt;br /&gt;
* dannystaple&lt;br /&gt;
* Stilgar&lt;br /&gt;
* presto&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
The component can be downloaded at: [http://joomlacode.org/gf/download/frsrelease/8108/29433/com_hello1_01.zip com_hello1_01]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:How_to_override_the_output_from_the_Joomla!_core&amp;diff=65813</id>
		<title>Archived:How to override the output from the Joomla! core</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:How_to_override_the_output_from_the_Joomla!_core&amp;diff=65813"/>
		<updated>2012-03-22T14:43:20Z</updated>

		<summary type="html">&lt;p&gt;Oc666: /* Further tips */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There may be occasions where you would like to change the way a Joomla! Extension (such as a Component or Module, whether from the Joomla! core or produced by a third party) is displayed on your site.  Of course, you could recode the Extension from scratch, but that may be a bit ambitious for you! Thankfully, there is another way.  &lt;br /&gt;
&lt;br /&gt;
The standard output from any Joomla! Module or Component can be overridden by adding code to the &amp;lt;code&amp;gt;html&amp;lt;/code&amp;gt; directory of your template. It is also possible to override two aspects of core functionality: Module chrome, and pagination.&lt;br /&gt;
&lt;br /&gt;
== Getting a head-start with overrides ==&lt;br /&gt;
If you are new to Joomla! development, then it is probably easiest to start with an existing view, and try modifying it to get what you want.  To do this, you should make a copy of the existing view in the &amp;lt;code&amp;gt;html&amp;lt;/code&amp;gt; directory of your template, and then modify the copy.&lt;br /&gt;
&lt;br /&gt;
The directory structure you need is:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;TEMPLATE_NAME/html/EXTENSION_NAME/VIEW_NAME/FILE_NAME.php&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, if you want to change the way that the &#039;&amp;lt;code&amp;gt;Article&amp;lt;/code&amp;gt;&#039; view displays a &amp;lt;code&amp;gt;com_content&amp;lt;/code&amp;gt; article, then you should copy the file at &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
PATH_TO_JOOMLA/components/com_content/views/article/tmpl/default.php&lt;br /&gt;
to&lt;br /&gt;
TEMPLATE_NAME/html/com_content/article/default.php&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(note the slight difference in directory structure)&lt;br /&gt;
&lt;br /&gt;
Similarly, if you want to change how the &amp;lt;code&amp;gt;mod_login&amp;lt;/code&amp;gt; Module is displayed, then you should copy &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
PATH_TO_JOOMLA/modules/mod_login/tmpl/default.php&lt;br /&gt;
to&lt;br /&gt;
TEMPLATE_NAME/html/mod_login/default.php&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Joomla! comes pre-packaged with a frontend template called [[Beez]]. Beez utilizes template overrides to produce a table-less layout for faster, smoother, and semantically correct markup. To see how it&#039;s done, locate your Joomla! installation&#039;s &amp;lt;code&amp;gt;template&amp;lt;/code&amp;gt; directory, and you&#039;ll notice the Beez template. Inside the Beez template directory, you&#039;ll find a directory named &amp;lt;code&amp;gt;html&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
the entire directory structure is as follows: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;/your_joomla/templates/Beez/html/&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to try modifying the overrides used in Beez, you could simply copy and paste the Beez &amp;lt;code&amp;gt;html&amp;lt;/code&amp;gt; directory into your own template&#039;s main directory. &lt;br /&gt;
However you choose to make your override files, you will need to ensure that they are correctly installed with your template.  To do this, you should add the following code to your template&#039;s &amp;lt;code&amp;gt;templateDetails.xml&amp;lt;/code&amp;gt; file (in between the &amp;lt;code&amp;gt;&amp;lt;files&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;/files&amp;gt;&amp;lt;/code&amp;gt; tags):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;folder&amp;gt;html&amp;lt;/folder&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above code in essence lets the Joomla! [[Installer|package installer]] know that there are files to extract, and that they are part of the template as a whole.&lt;br /&gt;
&lt;br /&gt;
== Further tips ==&lt;br /&gt;
Template overrides are almost limitless. They allow you to add, edit, and remove the components of the Joomla! core output. &lt;br /&gt;
Note: For the FireFox web browser, an extension called [https://addons.mozilla.org/en-US/firefox/addon/1843 Firebug] is available, which is useful for browsing a page&#039;s HTML source and matching it up with the PHP code used in template overrides. For more information, please watch [[Using Firebug With Your Joomla Website|the free video tutorial on using Firebug with Joomla]].&lt;br /&gt;
Now firebug is also available for IE called [http://getfirebug.com/lite/ie.html Firebug Lite].&lt;br /&gt;
&lt;br /&gt;
More information is available from the following resources:&lt;br /&gt;
* The article [[Understanding Output Overrides]] explains the theory behind template overrides.&lt;br /&gt;
* The preferred way of changing text output is by [[Making templates translatable|using translations in your template]].&lt;br /&gt;
* A [http://help.joomla.org/ghop/feb2008/task059/Getting_Started_with_Template_Overrides_v2.tar.gz downloadable tutorial] is also available.&lt;br /&gt;
* [https://github.com/AmyStephen/Layout-Override-Plugin Example in github] how to override layout of view without override the view, but extending it.&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Templates]]&lt;br /&gt;
[[Category:Tips and tricks]]&lt;br /&gt;
[[Category:Tips and tricks 1.5]]&lt;br /&gt;
[[Category:Tips and tricks 1.6]]&lt;br /&gt;
[[Category:Overrides]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Pizza_Bugs_and_Fun_March_3,_2012/Contributors_List&amp;diff=65685</id>
		<title>Pizza Bugs and Fun March 3, 2012/Contributors List</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Pizza_Bugs_and_Fun_March_3,_2012/Contributors_List&amp;diff=65685"/>
		<updated>2012-03-16T14:58:35Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Thanks to everyone who participanted in the Joomla! Pizza, Bugs and Fun on March 3, 2012. Lots of people worldwide tested, coded/fixed and documented new features and issues in Joomla! 2.5, helping to improve the release. Some of the countries represented were the United Kingdom, France, Germany, Denmark, The Netherlands, Israel, the United States, Canada, Brazil, Chile, Argentina, Australia, Malaysia, South Africa, Algeria and India. Over half of the people participating were not in the Joomla Bug Squad so we had a lot of new volunteers. It was great to see so many people come out to help.&lt;br /&gt;
These are the statistics from the Joomla CMS Issue Tracker and Joomla CMS Feature Tracker for the period. Thanks must also go out to the people not on these charts including those who did documentation, those who tested but didn&#039;t have a login to the trackers and those giving support.&lt;br /&gt;
&lt;br /&gt;
* Andrea Tar (Event organizer)&lt;br /&gt;
* Mark Dexter&lt;br /&gt;
* Elin Waring&lt;br /&gt;
* Jean-Marie Simonet&lt;br /&gt;
* Brian Teeman&lt;br /&gt;
* Ofer Cohen&lt;br /&gt;
* Saurabh Shah&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Pizza_Bugs_and_Fun_March_3,_2012/Contributors_List&amp;diff=65683</id>
		<title>Pizza Bugs and Fun March 3, 2012/Contributors List</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Pizza_Bugs_and_Fun_March_3,_2012/Contributors_List&amp;diff=65683"/>
		<updated>2012-03-16T14:12:37Z</updated>

		<summary type="html">&lt;p&gt;Oc666: Created page with &amp;quot;Thanks to everyone who participanted in the Joomla! Pizza, Bugs and Fun on March 3, 2012. Lots of people worldwide tested, coded/fixed and documented new features and issues in J...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Thanks to everyone who participanted in the Joomla! Pizza, Bugs and Fun on March 3, 2012. Lots of people worldwide tested, coded/fixed and documented new features and issues in Joomla! 2.5, helping to improve the release. Some of the countries represented were the United Kingdom, France, Germany, Denmark, The Netherlands, Israel, the United States, Canada, Brazil, Chile, Argentina, Australia, Malaysia, South Africa, Algeria and India. Over half of the people participating were not in the Joomla Bug Squad so we had a lot of new volunteers. It was great to see so many people come out to help.&lt;br /&gt;
These are the statistics from the Joomla CMS Issue Tracker and Joomla CMS Feature Tracker for the period. Thanks must also go out to the people not on these charts including those who did documentation, those who tested but didn&#039;t have a login to the trackers and those giving support.&lt;br /&gt;
&lt;br /&gt;
* Andrea Tar (Event organizer)&lt;br /&gt;
* Mark Dexter&lt;br /&gt;
* Elin Waring&lt;br /&gt;
* Jean-Marie Simonet&lt;br /&gt;
* Brian Teeman&lt;br /&gt;
* Ofer Cohen&lt;br /&gt;
* TBD.&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Wrong_date_format_in_profile_plugin&amp;diff=65673</id>
		<title>Wrong date format in profile plugin</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Wrong_date_format_in_profile_plugin&amp;diff=65673"/>
		<updated>2012-03-15T15:08:36Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you see % (ampersand) in your date field, which is part of the profile plugin (date of birth field), you can fix it easily with editing the file &#039;&#039;plugins/user/profile/profile.php&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Line #227 currently (Joomla! 2.5.1) is:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$data[&#039;profile&#039;][&#039;dob&#039;] = $date-&amp;gt;format(&#039;%Y-%m-%d&#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and should be changed to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$data[&#039;profile&#039;][&#039;dob&#039;] = $date-&amp;gt;format(&#039;Y-m-d&#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also == &lt;br /&gt;
* [http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=27918 issue in the tracker] (bug tracker #27918)&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 2.5 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.1 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.2 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.3 FAQ]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:Joomla_2.5_com_content_generates_non-valid_xhtml&amp;diff=65672</id>
		<title>J2.5:Joomla 2.5 com content generates non-valid xhtml</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:Joomla_2.5_com_content_generates_non-valid_xhtml&amp;diff=65672"/>
		<updated>2012-03-15T15:08:29Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joomla 2.5 content component generates non-valid xhtml if an article has empty parameters: Link A, Link B, Link C.&lt;br /&gt;
&lt;br /&gt;
The problem is located in this file: components\com_content\views\article\tmpl\default_links.php&lt;br /&gt;
&lt;br /&gt;
For fixing the issue apply the next patch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Index: components/com_content/views/article/tmpl/default_links.php&lt;br /&gt;
===================================================================&lt;br /&gt;
--- components/com_content/views/article/tmpl/default_links.php	(revision 22800)&lt;br /&gt;
+++ components/com_content/views/article/tmpl/default_links.php	(working copy)&lt;br /&gt;
@@ -12,11 +12,11 @@&lt;br /&gt;
 &lt;br /&gt;
 // Create shortcuts to some parameters.&lt;br /&gt;
 $params		= $this-&amp;gt;item-&amp;gt;params;&lt;br /&gt;
+if ($urls AND (!empty($urls-&amp;gt;urla) OR !empty($urls-&amp;gt;urlb) OR !empty($urls-&amp;gt;urlc))) :&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
 &amp;lt;div class=&amp;quot;content-links&amp;quot;&amp;gt;&lt;br /&gt;
 	&amp;lt;ul&amp;gt;&lt;br /&gt;
 		&amp;lt;?php&lt;br /&gt;
-		if ($urls) :&lt;br /&gt;
 			$urlarray = array(&lt;br /&gt;
 			array($urls-&amp;gt;urla, $urls-&amp;gt;urlatext, $urls-&amp;gt;targeta, &#039;a&#039;),&lt;br /&gt;
 			array($urls-&amp;gt;urlb, $urls-&amp;gt;urlbtext, $urls-&amp;gt;targetb, &#039;b&#039;),&lt;br /&gt;
@@ -73,5 +73,5 @@&lt;br /&gt;
 				&amp;lt;/li&amp;gt;&lt;br /&gt;
 		&amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
 	&amp;lt;/ul&amp;gt;&lt;br /&gt;
-	&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
+&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;+ means line added&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;- means line removed&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
== See also == &lt;br /&gt;
* [http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=27870 issue in the tracker] (bug tracker #27870)&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 2.5 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.1 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.2 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.3 FAQ]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Error_notice_using_search&amp;diff=65671</id>
		<title>Error notice using search</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Error_notice_using_search&amp;diff=65671"/>
		<updated>2012-03-15T15:08:20Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Issue ===&lt;br /&gt;
When making a search within the search module, the next notice appears:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Notice: Trying to get property of non-object in /path/to/joomla/plugins/search/content/content.php on line 234&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fix ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Go to  plugins/search/content/content.php &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Search $itemid = isset($item) ? &#039;&amp;amp;Itemid=&#039;.$item-&amp;gt;id : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
Replace with the following line:&lt;br /&gt;
&lt;br /&gt;
$itemid = isset($item-&amp;gt;id) ? &#039;&amp;amp;Itemid=&#039;.$item-&amp;gt;id : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also == &lt;br /&gt;
* [http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=27853 issue in the tracker] (bug tracker #27853)&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 2.5 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.1 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.2 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.3 FAQ]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Editors_buttons_Issues_in_FireFox&amp;diff=65670</id>
		<title>Editors buttons Issues in FireFox</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Editors_buttons_Issues_in_FireFox&amp;diff=65670"/>
		<updated>2012-03-15T15:08:02Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When you are inserting images or page break (on tinyMCE), the location of the item you added is on beginning position of the article and not the original location when the mouse cursor was before press the button.&lt;br /&gt;
&lt;br /&gt;
For fixing this issue, you&#039;ll require to add the next css code to the end of the file media/system/css/modal.css:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@-moz-document url-prefix() {&lt;br /&gt;
    .body-overlayed {&lt;br /&gt;
	overflow: visible;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also == &lt;br /&gt;
* [http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=27600 issue in the tracker] (bug tracker #27660)&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 2.5 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.1 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.2 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.3 FAQ]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User_talk:Rvsjoen/tutorial/Developing_a_Module/Part_05&amp;diff=65649</id>
		<title>User talk:Rvsjoen/tutorial/Developing a Module/Part 05</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User_talk:Rvsjoen/tutorial/Developing_a_Module/Part_05&amp;diff=65649"/>
		<updated>2012-03-13T18:59:01Z</updated>

		<summary type="html">&lt;p&gt;Oc666: Created page with &amp;quot;IMHO, the helper contain the business logic of the module. In addition, we can add one more example for helper use - call component method for interacting with other parts of Joo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;IMHO, the helper contain the business logic of the module. In addition, we can add one more example for helper use - call component method for interacting with other parts of Joomla. [[User:Oc666|oc666]] 13:59, 13 March 2012 (CDT)&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User_talk:Rvsjoen/tutorial/Developing_a_Module/Part_03&amp;diff=65648</id>
		<title>User talk:Rvsjoen/tutorial/Developing a Module/Part 03</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User_talk:Rvsjoen/tutorial/Developing_a_Module/Part_03&amp;diff=65648"/>
		<updated>2012-03-13T18:55:57Z</updated>

		<summary type="html">&lt;p&gt;Oc666: Created page with &amp;quot;Can we mark (background for example) the config part in the xml? ~~~~&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Can we mark (background for example) the config part in the xml? [[User:Oc666|oc666]] 13:55, 13 March 2012 (CDT)&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User_talk:Rvsjoen/tutorial/Developing_a_Module/Part_02&amp;diff=65647</id>
		<title>User talk:Rvsjoen/tutorial/Developing a Module/Part 02</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User_talk:Rvsjoen/tutorial/Developing_a_Module/Part_02&amp;diff=65647"/>
		<updated>2012-03-13T18:54:08Z</updated>

		<summary type="html">&lt;p&gt;Oc666: Created page with &amp;quot;I think we should write what are the advantage of using module template (like template overrides). ~~~~&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I think we should write what are the advantage of using module template (like template overrides). [[User:Oc666|oc666]] 13:54, 13 March 2012 (CDT)&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User_talk:Rvsjoen/tutorial/Developing_a_Module/Part_01&amp;diff=65646</id>
		<title>User talk:Rvsjoen/tutorial/Developing a Module/Part 01</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User_talk:Rvsjoen/tutorial/Developing_a_Module/Part_01&amp;diff=65646"/>
		<updated>2012-03-13T18:54:05Z</updated>

		<summary type="html">&lt;p&gt;Oc666: Created page with &amp;quot;&amp;quot;...That means you can place the files in the correct places inside your Joomla! installation...&amp;quot; - what are those places? ~~~~&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;...That means you can place the files in the correct places inside your Joomla! installation...&amp;quot; - what are those places? [[User:Oc666|oc666]] 13:54, 13 March 2012 (CDT)&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:Joomla_2.5_com_content_generates_non-valid_xhtml&amp;diff=65241</id>
		<title>J2.5:Joomla 2.5 com content generates non-valid xhtml</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:Joomla_2.5_com_content_generates_non-valid_xhtml&amp;diff=65241"/>
		<updated>2012-02-29T13:53:08Z</updated>

		<summary type="html">&lt;p&gt;Oc666: Created page with &amp;quot;Joomla 2.5 content component generates non-valid xhtml if an article has empty parameters: Link A, Link B, Link C.  The problem is located in this file: components\com_content\vi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joomla 2.5 content component generates non-valid xhtml if an article has empty parameters: Link A, Link B, Link C.&lt;br /&gt;
&lt;br /&gt;
The problem is located in this file: components\com_content\views\article\tmpl\default_links.php&lt;br /&gt;
&lt;br /&gt;
For fixing the issue apply the next patch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Index: components/com_content/views/article/tmpl/default_links.php&lt;br /&gt;
===================================================================&lt;br /&gt;
--- components/com_content/views/article/tmpl/default_links.php	(revision 22800)&lt;br /&gt;
+++ components/com_content/views/article/tmpl/default_links.php	(working copy)&lt;br /&gt;
@@ -12,11 +12,11 @@&lt;br /&gt;
 &lt;br /&gt;
 // Create shortcuts to some parameters.&lt;br /&gt;
 $params		= $this-&amp;gt;item-&amp;gt;params;&lt;br /&gt;
+if ($urls AND (!empty($urls-&amp;gt;urla) OR !empty($urls-&amp;gt;urlb) OR !empty($urls-&amp;gt;urlc))) :&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
 &amp;lt;div class=&amp;quot;content-links&amp;quot;&amp;gt;&lt;br /&gt;
 	&amp;lt;ul&amp;gt;&lt;br /&gt;
 		&amp;lt;?php&lt;br /&gt;
-		if ($urls) :&lt;br /&gt;
 			$urlarray = array(&lt;br /&gt;
 			array($urls-&amp;gt;urla, $urls-&amp;gt;urlatext, $urls-&amp;gt;targeta, &#039;a&#039;),&lt;br /&gt;
 			array($urls-&amp;gt;urlb, $urls-&amp;gt;urlbtext, $urls-&amp;gt;targetb, &#039;b&#039;),&lt;br /&gt;
@@ -73,5 +73,5 @@&lt;br /&gt;
 				&amp;lt;/li&amp;gt;&lt;br /&gt;
 		&amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
 	&amp;lt;/ul&amp;gt;&lt;br /&gt;
-	&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
+&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;+ means line added&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;- means line removed&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
== See also == &lt;br /&gt;
* [http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=27870 issue in the tracker] (bug tracker #27870)&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 2.5 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.1 FAQ]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:Getting_Started_with_Joomla!&amp;diff=65031</id>
		<title>Archived:Getting Started with Joomla!</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:Getting_Started_with_Joomla!&amp;diff=65031"/>
		<updated>2012-02-16T14:54:20Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.6}} {{JVer|1.7}} {{JVer|2.5}}&lt;br /&gt;
&lt;br /&gt;
This series of documents introduces Joomla! to people who have not previously used it. This introduction aims to help you make the best use of the series. This is the introduction to version 1.6+ . There is a separate series [[Getting Started with Joomla! 1.5| for using Joomla! version 1.5]]&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
===Which versions are covered?===&lt;br /&gt;
&lt;br /&gt;
There are two versions in common use:-&lt;br /&gt;
* &#039;&#039;&#039;Version 1.5&#039;&#039;&#039; is well established and widely used, and will be supported till January 2012. See [[Getting Started with Joomla! 1.5]] for the corresponding series.&lt;br /&gt;
* Version 1.6 was released January 2011 and is not supported anymore.&lt;br /&gt;
* Version 1.7 was released July 2011 and will not be supported after 24 February 2012.&lt;br /&gt;
* &#039;&#039;&#039;Version 2.5&#039;&#039;&#039; (long-term-support (LTS) version that replaces version 1.6 &amp;amp; 1.7) was released January 2012.&lt;br /&gt;
&lt;br /&gt;
There are many similarities between the versions but they are presented separately to newcomers to Joomla! in order to use &#039;hands-on&#039; material.&lt;br /&gt;
&lt;br /&gt;
===Who is it written for?===&lt;br /&gt;
&lt;br /&gt;
The series is for anyone who wants to use Joomla! at a number of levels. Its main focus is:-&lt;br /&gt;
* on people with limited computing experience&lt;br /&gt;
* on using Joomla! for a small web site, such as a club or association or small business&lt;br /&gt;
but&lt;br /&gt;
* there are sections which will be useful to experienced designers and developers.&lt;br /&gt;
&lt;br /&gt;
At the start of each article there is an indication of who it is aimed at and, on occasions, about the pitfalls for the inexperienced or unwary. &amp;lt;/br&amp;gt;&lt;br /&gt;
[[GS/Readership|Some more detail about the intended readership]]&lt;br /&gt;
&lt;br /&gt;
== Introduction to the Getting Started series ==&lt;br /&gt;
&lt;br /&gt;
Joomla! is introduced using detailed &#039;hands-on&#039; instructions about adding, altering and manipulating content. At the same time, general points about Joomla! are made which are intended to help people to learn more and do more. As the tasks require more background knowledge, so there are fewer hands-on instructions and more general pointers to the extensive documentation available for Joomla!&lt;br /&gt;
&lt;br /&gt;
The series divides into four parts:-&lt;br /&gt;
:*&#039;&#039;&#039;Hands-on a Joomla! site:&#039;&#039;&#039; There is an initial section on how to get &#039;hands-on&#039; a Joomla! site. This is followed by practical instructions about doing key tasks needed for adding, altering and manipulating content on an existing site.&lt;br /&gt;
:*&#039;&#039;&#039;Setting up a Joomla! site:&#039;&#039;&#039; This has background information about the design of a Joomla! Web site. There is a hands-on section on the mechanics of creating a new site using the core features that come with Joomla!&lt;br /&gt;
:*&#039;&#039;&#039;Looking after a Joomla! site:&#039;&#039;&#039; This is a brief introduction to the day-to-day adminstration of a Joomla! web Site.&lt;br /&gt;
:*&#039;&#039;&#039;Doing more and learning more:&#039;&#039;&#039; The final part links into other documentation and is intended as a guide ahead for taking Joomla! beyond the basics.&lt;br /&gt;
&lt;br /&gt;
=== Hands-on a Joomla! site ===&lt;br /&gt;
&lt;br /&gt;
You must have the use of a Joomla! Web site to use &#039;hands-on&#039; instructions. There are several possibilites:-&lt;br /&gt;
:*[[Use an existing Joomla! 1.6 site| &#039;&#039;&#039;Use a site that has already been set up.&#039;&#039;&#039;]]  If you are going to be adding content to an existing site and do not have much computing experience this is a good option.&lt;br /&gt;
:* [[Use Joomla! on your own computer| &#039;&#039;&#039;Install a copy of Joomla! (with Sample Data) on your own computer.&#039;&#039;&#039;]] This is sometimes referred to as a &#039;localhost&#039; installation.  Installing with Sample Data enables you to to explore a Joomla! site before you have created one for your own content. This is a good option for beginners.&lt;br /&gt;
:* [[Install_1.7| &#039;&#039;&#039;Install a copy of Joomla! (with Sample Data) on a Hosting server.&#039;&#039;&#039;]] This is sometimes referred to as a &#039;remote host&#039; installation.  Installing with Sample Data enables you to to explore a Joomla! site before you have created one for your own content. This is a good option for beginners.  [http://resources.joomla.org/directory/support-services/hosting.html]&lt;br /&gt;
:*&#039;&#039;&#039;Use the Demo on the Joomla! site.&#039;&#039;&#039; - Probably not doing this for version 1.6 Some example sites needed even if not interactive.&lt;br /&gt;
&lt;br /&gt;
=== Hands-on adding and altering articles ===&lt;br /&gt;
Start here no matter what your previous experience. Articles are the building blocks of any Joomla! web site and everyone needs to know the basics of how to edit and create them. And doing this helps you to understand the inner workings of Joomla!&lt;br /&gt;
&lt;br /&gt;
:*[[Hands-on editing an article: Joomla! 1.6| &#039;&#039;&#039;How to edit an Article&#039;&#039;&#039;]] - aimed at helping everyone to use the editor and understand what articles look like and where they are stored.&lt;br /&gt;
:*[[Hands-on adding a new article: Joomla! 1.6| &#039;&#039;&#039;How to create a new Article&#039;&#039;&#039;]] - aimed at helping everyone to add a new article to a web site&lt;br /&gt;
&lt;br /&gt;
===More about editing articles===&lt;br /&gt;
These are aimed at helping everyone who wants to learn more about articles and managing them from the main Site, also called the Front-end.&lt;br /&gt;
:*[[Add links to other pages: Joomla! 1.6|&#039;&#039;&#039;Hands-on adding links to other pages&#039;&#039;&#039;]]&lt;br /&gt;
:*[[Add a table: Joomla! 1.6|&#039;&#039;&#039;Hands-on adding a table&#039;&#039;&#039;]]&lt;br /&gt;
:*[[Add an image: Joomla! 1.6|&#039;&#039;&#039;Hands-on adding a picture&#039;&#039;&#039;]]&lt;br /&gt;
:*[[How to split an Article 1.6|&#039;&#039;&#039;Hands-on splitting a long article&#039;&#039;&#039;]]&lt;br /&gt;
====Managing content using the Front-end of Joomla!====&lt;br /&gt;
:*[[Manage articles using the Front-end of Joomla! 1.6|&#039;&#039;&#039;Manipulating and publishing  Articles&#039;&#039;&#039; ]] using the Front-end&lt;br /&gt;
&lt;br /&gt;
===Setting up a Joomla! site===&lt;br /&gt;
There is a distinction between the mechanics of setting up a new site and the things you need to know before you set up a site. There is often a trial and error process involved in doing this, with muddle and frustration as a result. The problem is that you cannot design a site without knowing some background: and it is often easiest to learn the background by using a site. So this series presents the background to understanding how Joomla! sites work separately from the mechanics of creating a site. It emphasises that some initial thought can save hassle later.&lt;br /&gt;
====Background - things you need to know====&lt;br /&gt;
These are hands-on documents to familiarise you with designing a new site. The background is separate so that the flow of creating the site is not interrupted by asides. The background is aimed at helping you to understand what is going on, whether you have a large or a small site.&lt;br /&gt;
:*[[Get to know  the Administrator Back-end of Joomla! 1.6|&#039;&#039;&#039;Background: get to know the Back-end&#039;&#039;&#039;]]&lt;br /&gt;
:*[[How permissions work in Joomla! 1.6|&#039;&#039;&#039;Background: controlling user access to a Joomla! Site&#039;&#039;&#039;]]&lt;br /&gt;
:*[[Design the content: Categories in Joomla! 1.6|&#039;&#039;&#039;Background: design the content - Categories in Joomla! 1.6&#039;&#039;&#039;]]&lt;br /&gt;
:*[[Design appearance using Menus and Modules: Joomla! 1.6|&#039;&#039;&#039;Background:design appearance using Menus and Modules&#039;&#039;&#039;]]&lt;br /&gt;
:*[[Design appearance using default Templates: Joomla! 1.6|&#039;&#039;&#039;Background: design appearance using default Templates&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
====The mechanics of setting up a new site====&lt;br /&gt;
This covers the mechanics of creating new content and appearance of a simple site, using core Joomla! facilities.&lt;br /&gt;
:*[[The mechanics of creating a Joomla! 1.6 web site|&#039;&#039;&#039;Doing it: hands-on setting up a Joomla! site&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
===General administration of a Joomla! site===&lt;br /&gt;
The work is not done even when a site is set up and there are people adding and altering the content. There are some day-to-day tasks that need attention, as well as minor alterations to the site.&lt;br /&gt;
:*[[Start to manage a Joomla! 1.6 site|&#039;&#039;&#039;Getting Started with day-to-day Administration of a Joomla! site&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
==Take Joomla! beyond the basics==&lt;br /&gt;
There is more to learn about Joomla.&lt;br /&gt;
:* &#039;&#039;&#039;Beyond the basics: doing more Jooomla!&#039;&#039;&#039; - this is not yet completed - it points to ways ahead.&lt;br /&gt;
&lt;br /&gt;
:*[[References|&#039;&#039;&#039;Books, links and helpful resources&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
==Index to the documents in this series==&lt;br /&gt;
{{:GSFooter/1.6}}&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Joomla_2.5_version_history&amp;diff=65030</id>
		<title>Joomla 2.5 version history</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Joomla_2.5_version_history&amp;diff=65030"/>
		<updated>2012-02-16T13:51:17Z</updated>

		<summary type="html">&lt;p&gt;Oc666: categorize page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Joomla! 2.5.1 ==&lt;br /&gt;
* 2 February 2012&lt;br /&gt;
* [http://www.joomla.org/announcements/release-news/5410-joomla-251-released.html Release Notes]&lt;br /&gt;
* [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=6257 Package and MD5s]&lt;br /&gt;
* [[:Category: Version 2.5.1 FAQ|FAQ and known issues]]&lt;br /&gt;
&lt;br /&gt;
== Joomla! 2.5.0 ==&lt;br /&gt;
* 24 January 2012&lt;br /&gt;
* [http://www.joomla.org/announcements/release-news/5403-joomla-250-released.html Release Notes]&lt;br /&gt;
* [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=6231 Package and MD5s]&lt;br /&gt;
* [[:Category: Version 2.5.0 FAQ|FAQ and known issues]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 2.5]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Joomla_2.5_version_history&amp;diff=65029</id>
		<title>Joomla 2.5 version history</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Joomla_2.5_version_history&amp;diff=65029"/>
		<updated>2012-02-16T13:42:28Z</updated>

		<summary type="html">&lt;p&gt;Oc666: Add FAQ link to each version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Joomla! 2.5.1 ==&lt;br /&gt;
* 2 February 2012&lt;br /&gt;
* [http://www.joomla.org/announcements/release-news/5410-joomla-251-released.html Release Notes]&lt;br /&gt;
* [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=6257 Package and MD5s]&lt;br /&gt;
* [[:Category: Version 2.5.1 FAQ|FAQ and known issues]]&lt;br /&gt;
&lt;br /&gt;
== Joomla! 2.5.0 ==&lt;br /&gt;
* 24 January 2012&lt;br /&gt;
* [http://www.joomla.org/announcements/release-news/5403-joomla-250-released.html Release Notes]&lt;br /&gt;
* [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=6231 Package and MD5s]&lt;br /&gt;
* [[:Category: Version 2.5.0 FAQ|FAQ and known issues]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Error_notice_using_search&amp;diff=65028</id>
		<title>Error notice using search</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Error_notice_using_search&amp;diff=65028"/>
		<updated>2012-02-16T13:36:37Z</updated>

		<summary type="html">&lt;p&gt;Oc666: Created page with &amp;quot;=== Issue === When making a search within the search module, the next notice appears: &amp;lt;pre&amp;gt; Notice: Trying to get property of non-object in /path/to/joomla/plugins/search/content...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Issue ===&lt;br /&gt;
When making a search within the search module, the next notice appears:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Notice: Trying to get property of non-object in /path/to/joomla/plugins/search/content/content.php on line 234&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fix ===&lt;br /&gt;
You have to replace in plugins/search/content/content.php line 234 with the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$itemid = isset($item-&amp;gt;id) ? &#039;&amp;amp;Itemid=&#039;.$item-&amp;gt;id : &#039;&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also == &lt;br /&gt;
* [http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=27853 issue in the tracker] (bug tracker #27853)&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 2.5 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.1 FAQ]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived_talk:Developing_a_MVC_Component/Example_of_a_frontend_update_function&amp;diff=64987</id>
		<title>Archived talk:Developing a MVC Component/Example of a frontend update function</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived_talk:Developing_a_MVC_Component/Example_of_a_frontend_update_function&amp;diff=64987"/>
		<updated>2012-02-14T06:49:54Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This section of the tutorial seems to say that to add an &amp;quot;update&amp;quot; view to the helloworld component a new entry point file must be created with the same name as the view (&amp;quot;updhelloworld.php&amp;quot; in that example). I think this is wrong because:&lt;br /&gt;
1) I can delete this file and the example component still works&lt;br /&gt;
2) None of the other components have this structure (eg com_users just&lt;br /&gt;
has a switch in the main controller&#039;s display to select different&lt;br /&gt;
displays based on view name)&lt;br /&gt;
3) A &amp;quot;die()&amp;quot; in that file never gets executed.&lt;br /&gt;
&lt;br /&gt;
Note that &amp;quot;helloworld.php&amp;quot; (without the &amp;quot;upd&amp;quot; prefix) was created as the entry point back in part 2.&lt;br /&gt;
&lt;br /&gt;
:-Dave&lt;br /&gt;
&lt;br /&gt;
:: I can&#039;t see why there is dispatcher in the model and another import of it in the controller. [[User:Oc666|oc666]] 00:49, 14 February 2012 (CST)&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_do_you_put_a_module_inside_an_article%3F&amp;diff=64986</id>
		<title>How do you put a module inside an article?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=How_do_you_put_a_module_inside_an_article%3F&amp;diff=64986"/>
		<updated>2012-02-14T06:39:43Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.5}} {{JVer|1.6}} {{JVer|1.7}} {{JVer|2.5}}&lt;br /&gt;
&lt;br /&gt;
You will usually want to associate modules with articles in some way.  The modules are allocated to module positions and the module positions appear somewhere on the Web page as determined by the template.  However, it is sometimes useful to have a module actually embedded within the article.&lt;br /&gt;
&lt;br /&gt;
To insert a module inside an article, use the &#039;&#039;{loadposition xx}&#039;&#039; command, as follows:&lt;br /&gt;
#Create a module and set its position to any value that doesn&#039;t conflict with an existing template position. You can type in the position value instead of selecting it from the drop-down list. For example, use the position &#039;&#039;myposition&#039;&#039;.&lt;br /&gt;
#Assign the module to the Menu Items that contain the articles that you want the module to show in. You can also just assign the module to &#039;&#039;&#039;all&#039;&#039;&#039; Menu Items.&lt;br /&gt;
#Edit the articles where you want this module to appear and insert the text &#039;&#039;{loadposition myposition}&#039;&#039; in the article at the place where you want the module.&lt;br /&gt;
&lt;br /&gt;
Note that this only works when the [[Screen.plugins.edit.15#Content_-_Load_Module|&#039;&#039;Content - Load Module&#039;&#039; plugin is enabled]]. If this plugin is disabled, the text &#039;&#039;{loadposition myposition}&#039;&#039; shows unchanged in the article.&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Version 1.5 FAQ]]&lt;br /&gt;
[[Category:Version 1.6 FAQ]]&lt;br /&gt;
[[Category:Version 1.7 FAQ]]&lt;br /&gt;
[[Category:Version 2.5 FAQ]]&lt;br /&gt;
[[Category:Administration FAQ]]&lt;br /&gt;
[[Category:Article Management]]&lt;br /&gt;
[[Category:Module Management]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:Developing_a_MVC_Component/Example_of_a_frontend_update_function&amp;diff=64969</id>
		<title>Archived:Developing a MVC Component/Example of a frontend update function</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:Developing_a_MVC_Component/Example_of_a_frontend_update_function&amp;diff=64969"/>
		<updated>2012-02-13T15:48:01Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial is for {{JVer|1.6}} {{JVer|1.7}} {{JVer|2.5}}&lt;br /&gt;
== Warning - this article needs to be reviewed by someone who knows what they&#039;re doing ==&lt;br /&gt;
&lt;br /&gt;
== Articles in this series ==&lt;br /&gt;
{{Chunk:Developing a Model-View-Controller (MVC) Component for Joomla!2.5 - Contents}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This tutorial is part of the [[Developing a Model-View-Controller (MVC) Component for Joomla!2.5]] tutorial. You are encouraged to read the previous parts of the tutorial before reading this.&lt;br /&gt;
&lt;br /&gt;
== Basic frontend form ==&lt;br /&gt;
Designing the frontend interface leads us to create a Model-View-Controller triptych similar to the backend in Part 7.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The rest of this subsection may be wrong. Check the [[{{TALKPAGENAME}}|discussion page]] for details.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We have to create an entry point of our component, the &#039;&#039;site/updhelloworld.php&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/updhelloworld.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;site/updhelloworld.php&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die(&#039;Restricted access&#039;);&lt;br /&gt;
 &lt;br /&gt;
// import joomla controller library&lt;br /&gt;
jimport(&#039;joomla.application.component.controller&#039;);&lt;br /&gt;
 &lt;br /&gt;
// Get an instance of the controller prefixed by UpdHelloWorld&lt;br /&gt;
$controller = JController::getInstance(&#039;UpdHelloWorld&#039;);&lt;br /&gt;
 &lt;br /&gt;
// Perform the Request task&lt;br /&gt;
$controller-&amp;gt;execute(JRequest::getCmd(&#039;task&#039;));&lt;br /&gt;
 &lt;br /&gt;
// Redirect if set by the controller&lt;br /&gt;
$controller-&amp;gt;redirect();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create the specific controller ==&lt;br /&gt;
The entry point now gets an instance of an &#039;&#039;UpdHelloWorld&#039;&#039; prefixed controller which extends the function of JControllerForm. Let&#039;s create a basic controllerform for the site part:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/controllers/updhelloworld.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;site/controllers/updhelloworld.php&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// No direct access.&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die;&lt;br /&gt;
&lt;br /&gt;
// Include dependancy of the main controllerform class&lt;br /&gt;
jimport(&#039;joomla.application.component.controllerform&#039;);&lt;br /&gt;
&lt;br /&gt;
class HelloWorldControllerUpdHelloWorld extends JControllerForm&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
	public function getModel($name = &#039;&#039;, $prefix = &#039;&#039;, $config = array(&#039;ignore_request&#039; =&amp;gt; true))&lt;br /&gt;
	{&lt;br /&gt;
		return parent::getModel($name, $prefix, array(&#039;ignore_request&#039; =&amp;gt; false));&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public function submit()&lt;br /&gt;
	{&lt;br /&gt;
		// Check for request forgeries.&lt;br /&gt;
		JRequest::checkToken() or jexit(JText::_(&#039;JINVALID_TOKEN&#039;));&lt;br /&gt;
&lt;br /&gt;
		// Initialise variables.&lt;br /&gt;
		$app	= JFactory::getApplication();&lt;br /&gt;
		$model	= $this-&amp;gt;getModel(&#039;updhelloworld&#039;);&lt;br /&gt;
&lt;br /&gt;
		// Get the data from the form POST&lt;br /&gt;
		$data = JRequest::getVar(&#039;jform&#039;, array(), &#039;post&#039;, &#039;array&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Now update the loaded data to the database via a function in the model&lt;br /&gt;
        $upditem	= $model-&amp;gt;updItem($data);&lt;br /&gt;
&lt;br /&gt;
    	// check if ok and display appropriate message.  This can also have a redirect if desired.&lt;br /&gt;
        if ($upditem) {&lt;br /&gt;
            echo &amp;quot;&amp;lt;h2&amp;gt;Updated Greeting has been saved&amp;lt;/h2&amp;gt;&amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
            echo &amp;quot;&amp;lt;h2&amp;gt;Updated Greeting failed to be saved&amp;lt;/h2&amp;gt;&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This controller will display the appropriate message after the form is submitted.&lt;br /&gt;
&lt;br /&gt;
== Create the view ==&lt;br /&gt;
&lt;br /&gt;
With your favorite file manager and editor, create a file &#039;&#039;site/views/updhelloworld/view.html.php&#039;&#039; containing:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/views/updhelloworld/view.html.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;site/views/updhelloworld/view.html.php&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die(&#039;Restricted access&#039;);&lt;br /&gt;
 &lt;br /&gt;
// import Joomla view library&lt;br /&gt;
jimport(&#039;joomla.application.component.view&#039;);&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * HTML View class for the UpdHelloWorld Component&lt;br /&gt;
 */&lt;br /&gt;
class HelloWorldViewUpdHelloWorld extends JView&lt;br /&gt;
{&lt;br /&gt;
	// Overwriting JView display method&lt;br /&gt;
	function display($tpl = null) &lt;br /&gt;
	{&lt;br /&gt;
		$app		= JFactory::getApplication();&lt;br /&gt;
		$params		= $app-&amp;gt;getParams();&lt;br /&gt;
		$dispatcher = JDispatcher::getInstance();&lt;br /&gt;
&lt;br /&gt;
		// Get some data from the models&lt;br /&gt;
		$state		= $this-&amp;gt;get(&#039;State&#039;);&lt;br /&gt;
		$item		= $this-&amp;gt;get(&#039;Item&#039;);&lt;br /&gt;
		$this-&amp;gt;form	= $this-&amp;gt;get(&#039;Form&#039;);&lt;br /&gt;
&lt;br /&gt;
		// Check for errors.&lt;br /&gt;
		if (count($errors = $this-&amp;gt;get(&#039;Errors&#039;))) &lt;br /&gt;
		{&lt;br /&gt;
			JError::raiseError(500, implode(&#039;&amp;lt;br /&amp;gt;&#039;, $errors));&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		// Display the view&lt;br /&gt;
		parent::display($tpl);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Joomla, views display data using a layout. With your favorite file manager and editor, put a file &#039;&#039;site/views/updhelloworld/tmpl/default.php&#039;&#039; containing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/views/updhelloworld/tmpl/default.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;site/views/updhelloworld/tmpl/default.php&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die(&#039;Restricted access&#039;);&lt;br /&gt;
&lt;br /&gt;
JHtml::_(&#039;behavior.keepalive&#039;);&lt;br /&gt;
JHtml::_(&#039;behavior.formvalidation&#039;);&lt;br /&gt;
JHtml::_(&#039;behavior.tooltip&#039;);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;Update the Hello World greeting&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;form class=&amp;quot;form-validate&amp;quot; action=&amp;quot;&amp;lt;?php echo JRoute::_(&#039;index.php&#039;); ?&amp;gt;&amp;quot; method=&amp;quot;post&amp;quot; id=&amp;quot;updhelloworld&amp;quot; name=&amp;quot;updhelloworld&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;fieldset&amp;gt;&lt;br /&gt;
        	&amp;lt;dl&amp;gt;&lt;br /&gt;
          	    &amp;lt;dt&amp;gt;&amp;lt;?php echo $this-&amp;gt;form-&amp;gt;getLabel(&#039;id&#039;); ?&amp;gt;&amp;lt;/dt&amp;gt;&lt;br /&gt;
             	&amp;lt;dd&amp;gt;&amp;lt;?php echo $this-&amp;gt;form-&amp;gt;getInput(&#039;id&#039;); ?&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;
                &amp;lt;dt&amp;gt;&amp;lt;/dt&amp;gt;&amp;lt;dd&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;
        	    &amp;lt;dt&amp;gt;&amp;lt;?php echo $this-&amp;gt;form-&amp;gt;getLabel(&#039;greeting&#039;); ?&amp;gt;&amp;lt;/dt&amp;gt;&lt;br /&gt;
        	    &amp;lt;dd&amp;gt;&amp;lt;?php echo $this-&amp;gt;form-&amp;gt;getInput(&#039;greeting&#039;); ?&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;
                &amp;lt;dt&amp;gt;&amp;lt;/dt&amp;gt;&amp;lt;dd&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;
                &amp;lt;dt&amp;gt;&amp;lt;/dt&amp;gt;&lt;br /&gt;
            	&amp;lt;dd&amp;gt;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;option&amp;quot; value=&amp;quot;com_helloworld&amp;quot; /&amp;gt;&lt;br /&gt;
            	    &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;task&amp;quot; value=&amp;quot;updhelloworld.submit&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/dd&amp;gt;&lt;br /&gt;
                &amp;lt;dt&amp;gt;&amp;lt;/dt&amp;gt;&lt;br /&gt;
                &amp;lt;dd&amp;gt;&amp;lt;button type=&amp;quot;submit&amp;quot; class=&amp;quot;button&amp;quot;&amp;gt;&amp;lt;?php echo JText::_(&#039;Submit&#039;); ?&amp;gt;&amp;lt;/button&amp;gt;&lt;br /&gt;
			                &amp;lt;?php echo JHtml::_(&#039;form.token&#039;); ?&amp;gt;&lt;br /&gt;
                &amp;lt;/dd&amp;gt;&lt;br /&gt;
        	&amp;lt;/dl&amp;gt;&lt;br /&gt;
        &amp;lt;fieldset&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;clr&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This layout utilises the forms design which resides with the related model.  The getLabel and getInput will pickup the xml fields defined and display appropriately.  More on the xml file within the models section of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Create a file &#039;&#039;site/views/updhelloworld/tmpl/default.xml&#039;&#039; containing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/views/updhelloworld/tmpl/default.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;site/views/updhelloworld/tmpl/default.xml&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;metadata&amp;gt;&lt;br /&gt;
	&amp;lt;layout title=&amp;quot;COM_HELLOWORLD_UPDHELLOWORLD_VIEW_DEFAULT_TITLE&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;message&amp;gt;COM_HELLOWORLD_UPDHELLOWORLD_VIEW_DEFAULT_DESC&amp;lt;/message&amp;gt;&lt;br /&gt;
	&amp;lt;/layout&amp;gt;&lt;br /&gt;
&amp;lt;/metadata&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This enables a menu option to be allocated to the frontend form.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the model ==&lt;br /&gt;
The &#039;&#039;UpdHelloWorld&#039;&#039; model sets up the data through from the related form and allows the mechanism to save the subsequent data loaded into the form into the database.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/models/updhelloworld.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;site/models/updhelloworld.php&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// No direct access to this file&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die(&#039;Restricted access&#039;);&lt;br /&gt;
 &lt;br /&gt;
// Include dependancy of the main model form&lt;br /&gt;
jimport(&#039;joomla.application.component.modelform&#039;);&lt;br /&gt;
// import Joomla modelitem library&lt;br /&gt;
jimport(&#039;joomla.application.component.modelitem&#039;);&lt;br /&gt;
// Include dependancy of the dispatcher&lt;br /&gt;
jimport(&#039;joomla.event.dispatcher&#039;);&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * UpdHelloWorld Model&lt;br /&gt;
 */&lt;br /&gt;
class HelloWorldModelUpdHelloWorld extends JModelForm&lt;br /&gt;
{&lt;br /&gt;
	/**&lt;br /&gt;
	 * @var object item&lt;br /&gt;
	 */&lt;br /&gt;
	protected $item;&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Get the data for a new qualification&lt;br /&gt;
	 */&lt;br /&gt;
	public function getForm($data = array(), $loadData = true)&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
        $app = JFactory::getApplication(&#039;site&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Get the form.&lt;br /&gt;
		$form = $this-&amp;gt;loadForm(&#039;com_helloworld.updhelloworld&#039;, &#039;updhelloworld&#039;, array(&#039;control&#039; =&amp;gt; &#039;jform&#039;, &#039;load_data&#039; =&amp;gt; true));&lt;br /&gt;
		if (empty($form)) {&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		return $form;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Get the message&lt;br /&gt;
	 * @return object The message to be displayed to the user&lt;br /&gt;
	 */&lt;br /&gt;
	function &amp;amp;getItem()&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		if (!isset($this-&amp;gt;_item))&lt;br /&gt;
		{&lt;br /&gt;
			$cache = JFactory::getCache(&#039;com_helloworld&#039;, &#039;&#039;);&lt;br /&gt;
			$id = $this-&amp;gt;getState(&#039;helloworld.id&#039;);&lt;br /&gt;
			$this-&amp;gt;_item =  $cache-&amp;gt;get($id);&lt;br /&gt;
			if ($this-&amp;gt;_item === false) {&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		return $this-&amp;gt;_item;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public function updItem($data)&lt;br /&gt;
	{&lt;br /&gt;
        // set the variables from the passed data&lt;br /&gt;
        $id = $data[&#039;id&#039;];&lt;br /&gt;
        $greeting = $data[&#039;greeting&#039;];&lt;br /&gt;
&lt;br /&gt;
        // set the data into a query to update the record&lt;br /&gt;
		$db		= $this-&amp;gt;getDbo();&lt;br /&gt;
		$query	= $db-&amp;gt;getQuery(true);&lt;br /&gt;
        $query-&amp;gt;clear();&lt;br /&gt;
		$query-&amp;gt;update(&#039; #__helloworld &#039;);&lt;br /&gt;
		$query-&amp;gt;set(&#039; greeting = &#039;.$db-&amp;gt;Quote($greeting) );&lt;br /&gt;
		$query-&amp;gt;where(&#039; id = &#039; . (int) $id );&lt;br /&gt;
&lt;br /&gt;
		$db-&amp;gt;setQuery((string)$query);&lt;br /&gt;
&lt;br /&gt;
        if (!$db-&amp;gt;query()) {&lt;br /&gt;
            JError::raiseError(500, $db-&amp;gt;getErrorMsg());&lt;br /&gt;
        	return false;&lt;br /&gt;
        } else {&lt;br /&gt;
        	return true;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following file &#039;&#039;updhelloworld.xml&#039;&#039; should be created using your favourite editor and saved in the forms folder under the models directory.  The first of the fields being referenced id using the sql type so that I returns the results from the query into a dropdown list form to be selected.&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/models/forms/updhelloworld.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;site/models/forms/updhelloworld.xml&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form name=&amp;quot;updhelloworld&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;fieldset name=&amp;quot;updhelloworld&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;field&lt;br /&gt;
            name=&amp;quot;id&amp;quot;&lt;br /&gt;
            type=&amp;quot;sql&amp;quot;&lt;br /&gt;
            multiple=&amp;quot;false&amp;quot;&lt;br /&gt;
            size=&amp;quot;1&amp;quot;&lt;br /&gt;
            label=&amp;quot;COM_HELLOWORLD_FORM_LBL_UPDHELLOWORLD_ID&amp;quot;&lt;br /&gt;
            description=&amp;quot;COM_HELLOWORLD_FORM_DESC_UPDHELLOWORLD_ID&amp;quot;&lt;br /&gt;
            query=&amp;quot;select id, greeting from #__helloworld&amp;quot;&lt;br /&gt;
            key_field=&amp;quot;id&amp;quot;&lt;br /&gt;
            value_field=&amp;quot;greeting&amp;quot;&lt;br /&gt;
            default=&amp;quot;0&amp;quot;&lt;br /&gt;
			required=&amp;quot;true&amp;quot;&lt;br /&gt;
            &amp;gt;&lt;br /&gt;
                &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;JOPTION_SELECT_ID&amp;lt;/option&amp;gt;&lt;br /&gt;
        &amp;lt;/field&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
            name=&amp;quot;greeting&amp;quot;&lt;br /&gt;
            type=&amp;quot;text&amp;quot;&lt;br /&gt;
			description=&amp;quot;COM_HELLOWORLD_FORM_DESC_UPDHELLOWORLD_GREETING&amp;quot;&lt;br /&gt;
			label=&amp;quot;COM_HELLOWORLD_FORM_LBL_UPDHELLOWORLD_GREETING&amp;quot;&lt;br /&gt;
			required=&amp;quot;true&amp;quot;&lt;br /&gt;
			size=&amp;quot;50&amp;quot;&lt;br /&gt;
		/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Adding some language keys ==&lt;br /&gt;
&lt;br /&gt;
This file provides the text link between the label in the model form definition to be displayed in the view.  And being for the frontend, it resides in the site folder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/language/en-GB/en-GB.com_helloworld.ini&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;site/language/en-GB/en-GB.com_helloworld.ini&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
COM_HELLOWORLD_FORM_LBL_UPDHELLOWORLD_ID=&amp;quot;Greeting ID&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_FORM_DESC_UPDHELLOWORLD_ID=&amp;quot;This is the ID of the Greeting record&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_FORM_LBL_UPDHELLOWORLD_GREETING=&amp;quot;Greeting&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_FORM_DESC_UPDHELLOWORLD_GREETING=&amp;quot;Greeting description&amp;quot;&lt;br /&gt;
JOPTION_SELECT_ID=&amp;quot; -- Select Greeting to Update -- &amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the last 2 lines to the &#039;&#039;admin/language/en-GB/en-GB.com_helloworld.sys.ini&#039;&#039; file to provide the text link for the menu type display.  And being for the backend, it resides in the admin language folder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;admin/language/en-GB/en-GB.com_helloworld.sys.ini&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;admin/language/en-GB/en-GB.com_helloworld.sys.ini&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
COM_HELLOWORLD=&amp;quot;Hello World!&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_DESCRIPTION=&amp;quot;This is the Hello World description&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC=&amp;quot;This view displays a selected message&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE=&amp;quot;Hello World&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_INSTALL_TEXT=&amp;quot;HelloWorld Install script&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_MENU=&amp;quot;Hello World!&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_POSTFLIGHT_DISCOVER_INSTALL_TEXT=&amp;quot;HelloWorld postlight discover install script&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_POSTFLIGHT_INSTALL_TEXT=&amp;quot;HelloWorld postflight install script&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_POSTFLIGHT_UNINSTALL_TEXT=&amp;quot;HelloWorld postflight uninstall script&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_POSTFLIGHT_UPDATE_TEXT=&amp;quot;HelloWorld postflight update script&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_PREFLIGHT_DISCOVER_INSTALL_TEXT=&amp;quot;HelloWorld preflight discover install script&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_PREFLIGHT_INSTALL_TEXT=&amp;quot;HelloWorld preflight install script&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_PREFLIGHT_UNINSTALL_TEXT=&amp;quot;HelloWorld preflight uninstall script&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_PREFLIGHT_UPDATE_TEXT=&amp;quot;HelloWorld preflight update script&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_UNINSTALL_TEXT=&amp;quot;HelloWorld Uninstall script&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_UPDATE_TEXT=&amp;quot;HelloWorld Update script&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_UPDHELLOWORLD_VIEW_DEFAULT_TITLE=&amp;quot;Update the Greeting&amp;quot;&lt;br /&gt;
COM_HELLOWORLD_UPDHELLOWORLD_VIEW_DEFAULT_DESC=&amp;quot;Update greeting here&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;_populateState&#039;&#039; method is, by default, automatically called when a state is read by the &#039;&#039;getState&#039;&#039; method.&lt;br /&gt;
&lt;br /&gt;
== Packaging the component ==&lt;br /&gt;
&lt;br /&gt;
Content of your code directory-&lt;br /&gt;
* &#039;&#039;[[#helloworld.xml|helloworld.xml]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#script.php|script.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_02#site/helloworld.php|site/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_02#site/controller.php|site/controller.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_18#site/updhelloworld.php|site/updhelloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_18#site/controllers/updhelloworld.php|site/controllers/updhelloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_18#site/controllers/index.html|site/controllers/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/views/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/views/helloworld/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_13#site/views/helloworld/view.html.php|site/views/helloworld/view.html.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_18#site/views/updhelloworld/view.html.php|site/views/updhelloworld/view.html.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/views/helloworld/tmpl/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/views/updhelloworld/tmpl/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_06#site/views/helloworld/tmpl/default.xml|site/views/helloworld/tmpl/default.xml]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_13#site/views/helloworld/tmpl/default.php|site/views/helloworld/tmpl/default.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_18#site/views/updhelloworld/tmpl/default.xml|site/views/updhelloworld/tmpl/default.xml]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_18#site/views/updhelloworld/tmpl/default.php|site/views/updhelloworld/tmpl/default.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/models/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_13#site/models/helloworld.php|site/models/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_18#site/models/updhelloworld.php|site/models/updhelloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_18#site/models/forms/updhelloworld.xml|site/models/forms/updhelloworld.xml]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/models/forms/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/language/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|site/language/en-GB/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_08#site/language/en-GB/en-GB.com_helloworld.ini|site/language/en-GB/en-GB.com_helloworld.ini]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_14#admin/access.xml|admin/access.xml]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_14#admin/config.xml|admin/config.xml]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_14#admin/helloworld.php|admin/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_12#admin/controller.php|admin/controller.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/sql/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_13#admin/sql/install.mysql.utf8.sql|admin/sql/install.mysql.utf8.sql]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_06#admin/sql/uninstall.mysql.utf8.sql|admin/sql/uninstall.mysql.utf8.sql]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/sql/updates/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/sql/updates/mysql/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#admin/sql/updates/mysql/0.0.1.sql|admin/sql/updates/mysql/0.0.1.sql]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_06#admin/sql/install.mysql.utf8.sql|admin/sql/updates/mysql/0.0.6.sql]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_12#admin/sql/updates/mysql/0.0.12.sql|admin/sql/updates/mysql/0.0.12.sql]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_13#admin/sql/updates/mysql/0.0.13.sql|admin/sql/updates/mysql/0.0.13.sql]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/models/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/models/fields/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_12#admin/models/fields/helloworld.php|admin/models/fields/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/models/forms/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_13#admin/models/forms/helloworld.xml|admin/models/forms/helloworld.xml]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_11#admin/models/forms/helloworld.js|admin/models/forms/helloworld.js]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/models/rules/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_11#admin/models/rules/greeting.php|admin/models/rules/greeting.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_14#admin/models/helloworld.php|admin/models/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_09#admin/models/helloworlds.php|admin/models/helloworlds.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/views/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/views/helloworlds/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_14#admin/views/helloworlds/view.html.php|admin/views/helloworlds/view.html.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/views/helloworlds/tmpl/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_11#admin/views/helloworlds/tmpl/default.php|admin/views/helloworlds/tmpl/default.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_07#admin/views/helloworlds/tmpl/default_head.php|admin/views/helloworlds/tmpl/default_head.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_07#admin/views/helloworlds/tmpl/default_body.php|admin/views/helloworlds/tmpl/default_body.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_07#admin/views/helloworlds/tmpl/default_foot.php|admin/views/helloworlds/tmpl/default_foot.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/views/helloworld/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_14#admin/views/helloworld/view.html.php|admin/views/helloworld/view.html.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_11#admin/views/helloworld/submitbutton.js|admin/views/helloworld/submitbutton.js]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/views/helloworld/tmpl/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_13#admin/views/helloworld/tmpl/edit.php|admin/views/helloworld/tmpl/edit.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/helpers/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_14#admin/helpers/helloworld.php|admin/helpers/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/tables/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_14#admin/tables/helloworld.php|admin/tables/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_13#admin/language/en-GB/en-GB.com_helloworld.ini|admin/language/en-GB/en-GB.com_helloworld.ini]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[#admin/language/en-GB/en-GB.com_helloworld.sys.ini|admin/language/en-GB/en-GB.com_helloworld.sys.ini]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|admin/controllers/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_11#admin/controllers/helloworld.php|admin/controllers/helloworld.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_11#admin/controllers/helloworlds.php|admin/controllers/helloworlds.php]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_08#language/en-GB/en-GB.ini|language/en-GB/en-GB.ini]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|media/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;[[Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_01#index.html|media/images/index.html]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;media/images/tux-16x16.png&#039;&#039;&lt;br /&gt;
* &#039;&#039;media/images/tux-48x48.png&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create a compressed file of this directory or directly download the [http://joomlacode.org/gf/download/frsrelease/11394/58397/com_helloworld-1.6-part07.zip archive] and install it using the extension manager of Joomla. You can add a menu item of this component using the menu manager in the backend.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;helloworld.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;helloworld.xml&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;component&amp;quot; version=&amp;quot;2.5.0&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
	&amp;lt;name&amp;gt;COM_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The following elements are optional and free of formatting conttraints --&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;November 2009&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;!--  The version string is recorded in the components table --&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.18&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The description is optional and defaults to the name --&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;COM_HELLOWORLD_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
	&amp;lt;!-- Runs on install/uninstall/update; New in 2.5 --&amp;gt;&lt;br /&gt;
	&amp;lt;scriptfile&amp;gt;script.php&amp;lt;/scriptfile&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
	&amp;lt;install&amp;gt; &amp;lt;!-- Runs on install --&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/install.mysql.utf8.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&amp;gt; &amp;lt;!-- Runs on uninstall --&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/uninstall.mysql.utf8.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;update&amp;gt; &amp;lt;!-- Runs on update; New in 2.5 --&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;/schemas&amp;gt;&lt;br /&gt;
	&amp;lt;/update&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
	&amp;lt;!-- Site Main File Copy Section --&amp;gt;&lt;br /&gt;
	&amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
		to copy FROM in the package to install therefore files copied&lt;br /&gt;
		in this section are copied from /site/ in the package --&amp;gt;&lt;br /&gt;
	&amp;lt;files folder=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;controller.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;updhelloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;views&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;models&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;controllers&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;media destination=&amp;quot;com_helloworld&amp;quot; folder=&amp;quot;media&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;images&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
	&amp;lt;administration&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Administration Menu Section --&amp;gt;&lt;br /&gt;
		&amp;lt;menu img=&amp;quot;../media/com_helloworld/images/tux-16x16.png&amp;quot;&amp;gt;COM_HELLOWORLD_MENU&amp;lt;/menu&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Administration Main File Copy Section --&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
			to copy FROM in the package to install therefore files copied&lt;br /&gt;
			in this section are copied from /admin/ in the package --&amp;gt;&lt;br /&gt;
		&amp;lt;files folder=&amp;quot;admin&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Admin Main File Copy Section --&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;config.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;access.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;controller.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
			&amp;lt;!-- SQL files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;sql&amp;lt;/folder&amp;gt;&lt;br /&gt;
			&amp;lt;!-- tables files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;tables&amp;lt;/folder&amp;gt;&lt;br /&gt;
			&amp;lt;!-- models files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;models&amp;lt;/folder&amp;gt;&lt;br /&gt;
			&amp;lt;!-- views files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;views&amp;lt;/folder&amp;gt;&lt;br /&gt;
			&amp;lt;!-- controllers files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;controllers&amp;lt;/folder&amp;gt;&lt;br /&gt;
			&amp;lt;!-- helpers files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;helpers&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;/files&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;languages folder=&amp;quot;admin&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;language tag=&amp;quot;en-GB&amp;quot;&amp;gt;language/en-GB/en-GB.com_helloworld.ini&amp;lt;/language&amp;gt;&lt;br /&gt;
			&amp;lt;language tag=&amp;quot;en-GB&amp;quot;&amp;gt;language/en-GB/en-GB.com_helloworld.sys.ini&amp;lt;/language&amp;gt;&lt;br /&gt;
		&amp;lt;/languages&amp;gt;&lt;br /&gt;
	&amp;lt;/administration&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
	&amp;lt;!-- UPDATESERVER DEFINITION --&amp;gt;&lt;br /&gt;
	&amp;lt;updateservers&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Note: No spaces or linebreaks allowed between the server tags --&amp;gt;&lt;br /&gt;
		&amp;lt;server type=&amp;quot;extension&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;HelloWorld Update Site&amp;quot;&amp;gt;http://yourdomain.com/update/helloworld-update.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
	&amp;lt;/updateservers&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you can see in your component &#039;&#039;&#039;hello-world&#039;&#039;&#039; an array with two colums, two rows and checkboxes. You can click the checkboxes in order to select the different options you want.&lt;br /&gt;
&lt;br /&gt;
== Zips ==&lt;br /&gt;
Download the zip file for this Part:&lt;br /&gt;
[http://www.glennarkell.com/joomlaorg/com_helloworld_0.0.18.zip]&lt;br /&gt;
&lt;br /&gt;
== Navigate ==&lt;br /&gt;
&lt;br /&gt;
[[Developing a Model-View-Controller (MVC) Component for Joomla!2.5 - Part 17|Prev: Adding an update server]]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
*[[User:garkell|Glenn Arkell]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[category:Joomla! 1.6]]&lt;br /&gt;
[[category:Joomla! 1.7]]&lt;br /&gt;
[[category:Joomla! 2.5]]&lt;br /&gt;
[[category:Manual]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:Developing_a_MVC_Component/Adding_an_update_server&amp;diff=64968</id>
		<title>Archived:Developing a MVC Component/Adding an update server</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:Developing_a_MVC_Component/Adding_an_update_server&amp;diff=64968"/>
		<updated>2012-02-13T15:45:37Z</updated>

		<summary type="html">&lt;p&gt;Oc666: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial is for {{JVer|1.6}} {{JVer|1.7}} {{JVer|2.5}}&lt;br /&gt;
&lt;br /&gt;
== Articles in this series ==&lt;br /&gt;
{{Chunk:Developing a Model-View-Controller (MVC) Component for Joomla!2.5 - Contents}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This tutorial is part of the [[Developing a Model-View-Controller (MVC) Component for Joomla!2.5]] tutorial. You are encouraged to read the previous parts of the tutorial before reading this.&lt;br /&gt;
&lt;br /&gt;
== Adding a updateserver definition ==&lt;br /&gt;
To add a updateserver functionality adjust the helloworld.xml to look like this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;helloworld.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;helloworld.xml&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;component&amp;quot; version=&amp;quot;2.5.0&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;name&amp;gt;COM_HELLOWORLD&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The following elements are optional and free of formatting constraints --&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;November 2009&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;!--  The version string is recorded in the components table --&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.15&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The description is optional and defaults to the name --&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;COM_HELLOWORLD_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- Runs on install/uninstall/update; New in 2.5 --&amp;gt;&lt;br /&gt;
	&amp;lt;scriptfile&amp;gt;script.php&amp;lt;/scriptfile&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;install&amp;gt; &amp;lt;!-- Runs on install --&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/install.mysql.utf8.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&amp;gt; &amp;lt;!-- Runs on uninstall --&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/uninstall.mysql.utf8.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;update&amp;gt; &amp;lt;!-- Runs on update; New in 2.5 --&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;/schemas&amp;gt;&lt;br /&gt;
	&amp;lt;/update&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- Site Main File Copy Section --&amp;gt;&lt;br /&gt;
	&amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
		to copy FROM in the package to install therefore files copied&lt;br /&gt;
		in this section are copied from /site/ in the package --&amp;gt;&lt;br /&gt;
	&amp;lt;files folder=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;controller.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;views&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;models&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;language&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;media destination=&amp;quot;com_helloworld&amp;quot; folder=&amp;quot;media&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;images&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/media&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;administration&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Administration Menu Section --&amp;gt;&lt;br /&gt;
		&amp;lt;menu img=&amp;quot;../media/com_helloworld/images/tux-16x16.png&amp;quot;&amp;gt;COM_HELLOWORLD_MENU&amp;lt;/menu&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Administration Main File Copy Section --&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
			to copy FROM in the package to install therefore files copied&lt;br /&gt;
			in this section are copied from /admin/ in the package --&amp;gt;&lt;br /&gt;
		&amp;lt;files folder=&amp;quot;admin&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Admin Main File Copy Section --&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;config.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;access.xml&amp;lt;/filename&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;controller.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
			&amp;lt;!-- SQL files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;sql&amp;lt;/folder&amp;gt;&lt;br /&gt;
			&amp;lt;!-- tables files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;tables&amp;lt;/folder&amp;gt;&lt;br /&gt;
			&amp;lt;!-- models files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;models&amp;lt;/folder&amp;gt;&lt;br /&gt;
			&amp;lt;!-- views files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;views&amp;lt;/folder&amp;gt;&lt;br /&gt;
			&amp;lt;!-- controllers files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;controllers&amp;lt;/folder&amp;gt;&lt;br /&gt;
			&amp;lt;!-- helpers files section --&amp;gt;&lt;br /&gt;
			&amp;lt;folder&amp;gt;helpers&amp;lt;/folder&amp;gt;&lt;br /&gt;
		&amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;languages folder=&amp;quot;admin&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;language tag=&amp;quot;en-GB&amp;quot;&amp;gt;language/en-GB/en-GB.com_helloworld.ini&amp;lt;/language&amp;gt;&lt;br /&gt;
			&amp;lt;language tag=&amp;quot;en-GB&amp;quot;&amp;gt;language/en-GB/en-GB.com_helloworld.sys.ini&amp;lt;/language&amp;gt;&lt;br /&gt;
		&amp;lt;/languages&amp;gt;&lt;br /&gt;
	&amp;lt;/administration&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- UPDATESERVER DEFINITION --&amp;gt;&lt;br /&gt;
	&amp;lt;updateservers&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Note: No spaces or linebreaks allowed between the server tags --&amp;gt;&lt;br /&gt;
		&amp;lt;server type=&amp;quot;extension&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;HelloWorld Update Site&amp;quot;&amp;gt;http://yourdomain.com/update/helloworld-update.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
	&amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You also need to put a XML-file on your server which contains all update-informations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;helloworld-update.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;helloworld-update.xml&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;updates&amp;gt;&lt;br /&gt;
   &amp;lt;update&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;HelloWorld&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;HelloWorld Component&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;element&amp;gt;com_helloworld&amp;lt;/element&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;component&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.5.0&amp;lt;/version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;infourl title=&amp;quot;HalloWorld URL&amp;quot;&amp;gt;http://yourdomain.com&amp;lt;/infourl&amp;gt;&lt;br /&gt;
      &amp;lt;downloads&amp;gt;&lt;br /&gt;
         &amp;lt;downloadurl type=&amp;quot;full&amp;quot; format=&amp;quot;zip&amp;quot;&amp;gt;http://yourdomain.com/files/com_helloworld-1.5.0-final.zip&amp;lt;/downloadurl&amp;gt;&lt;br /&gt;
      &amp;lt;/downloads&amp;gt;&lt;br /&gt;
      &amp;lt;tags&amp;gt;&lt;br /&gt;
         &amp;lt;tag&amp;gt;some-tag&amp;lt;/tag&amp;gt;&lt;br /&gt;
      &amp;lt;/tags&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;maintainer&amp;gt;HelloWorld Inc.&amp;lt;/maintainer&amp;gt;&lt;br /&gt;
      &amp;lt;maintainerurl&amp;gt;http://yourdomain.com&amp;lt;/maintainerurl&amp;gt;&lt;br /&gt;
      &amp;lt;section&amp;gt;some-section&amp;lt;/section&amp;gt;&lt;br /&gt;
      &amp;lt;targetplatform name=&amp;quot;joomla&amp;quot; version=&amp;quot;2.5&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;/update&amp;gt;&lt;br /&gt;
   &amp;lt;update&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;HelloWorld&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;HelloWorld Component&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;element&amp;gt;com_helloworld&amp;lt;/element&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;component&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.5.0&amp;lt;/version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;infourl title=&amp;quot;HalloWorld URL&amp;quot;&amp;gt;http://yourdomain.com&amp;lt;/infourl&amp;gt;&lt;br /&gt;
      &amp;lt;downloads&amp;gt;&lt;br /&gt;
         &amp;lt;downloadurl type=&amp;quot;full&amp;quot; format=&amp;quot;zip&amp;quot;&amp;gt;http://yourdomain.com/files/com_helloworld-1.5.0-final.zip&amp;lt;/downloadurl&amp;gt;&lt;br /&gt;
      &amp;lt;/downloads&amp;gt;&lt;br /&gt;
      &amp;lt;tags&amp;gt;&lt;br /&gt;
         &amp;lt;tag&amp;gt;some-tag&amp;lt;/tag&amp;gt;&lt;br /&gt;
      &amp;lt;/tags&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;maintainer&amp;gt;HelloWorld Inc.&amp;lt;/maintainer&amp;gt;&lt;br /&gt;
      &amp;lt;maintainerurl&amp;gt;http://yourdomain.com&amp;lt;/maintainerurl&amp;gt;&lt;br /&gt;
      &amp;lt;section&amp;gt;some-section&amp;lt;/section&amp;gt;&lt;br /&gt;
      &amp;lt;targetplatform name=&amp;quot;joomla&amp;quot; version=&amp;quot;2.5&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;/update&amp;gt;&lt;br /&gt;
   &amp;lt;update&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;HelloWorld&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;HelloWorld Component&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;element&amp;gt;com_helloworld&amp;lt;/element&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;component&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.5.0&amp;lt;/version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;infourl title=&amp;quot;HalloWorld URL&amp;quot;&amp;gt;http://yourdomain.com&amp;lt;/infourl&amp;gt;&lt;br /&gt;
      &amp;lt;downloads&amp;gt;&lt;br /&gt;
         &amp;lt;downloadurl type=&amp;quot;full&amp;quot; format=&amp;quot;zip&amp;quot;&amp;gt;http://yourdomain.com/files/com_helloworld-1.5.0-final.zip&amp;lt;/downloadurl&amp;gt;&lt;br /&gt;
      &amp;lt;/downloads&amp;gt;&lt;br /&gt;
      &amp;lt;tags&amp;gt;&lt;br /&gt;
         &amp;lt;tag&amp;gt;some-tag&amp;lt;/tag&amp;gt;&lt;br /&gt;
      &amp;lt;/tags&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;maintainer&amp;gt;HelloWorld Inc.&amp;lt;/maintainer&amp;gt;&lt;br /&gt;
      &amp;lt;maintainerurl&amp;gt;http://yourdomain.com&amp;lt;/maintainerurl&amp;gt;&lt;br /&gt;
      &amp;lt;section&amp;gt;some-section&amp;lt;/section&amp;gt;&lt;br /&gt;
      &amp;lt;targetplatform name=&amp;quot;joomla&amp;quot; version=&amp;quot;2.5&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;/update&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;update&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;HelloWorld&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;HelloWorld Component&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;element&amp;gt;com_helloworld&amp;lt;/element&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;component&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.5.1&amp;lt;/version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;infourl title=&amp;quot;HelloWorld URL&amp;quot;&amp;gt;http://yourdomain.com&amp;lt;/infourl&amp;gt;&lt;br /&gt;
      &amp;lt;downloads&amp;gt;&lt;br /&gt;
         &amp;lt;downloadurl type=&amp;quot;full&amp;quot; format=&amp;quot;zip&amp;quot;&amp;gt;http://yourdomain.com/files/com_helloworld-1.5.1-final.zip&amp;lt;/downloadurl&amp;gt;&lt;br /&gt;
      &amp;lt;/downloads&amp;gt;&lt;br /&gt;
      &amp;lt;tags&amp;gt;&lt;br /&gt;
         &amp;lt;tag&amp;gt;some-tag&amp;lt;/tag&amp;gt;&lt;br /&gt;
      &amp;lt;/tags&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;maintainer&amp;gt;HelloWorld Inc.&amp;lt;/maintainer&amp;gt;&lt;br /&gt;
      &amp;lt;maintainerurl&amp;gt;http://yourdomain.com&amp;lt;/maintainerurl&amp;gt;&lt;br /&gt;
      &amp;lt;section&amp;gt;some-section&amp;lt;/section&amp;gt;&lt;br /&gt;
      &amp;lt;targetplatform name=&amp;quot;joomla&amp;quot; version=&amp;quot;2.5&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;/update&amp;gt;&lt;br /&gt;
    &amp;lt;update&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;HelloWorld&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;HelloWorld Component&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;element&amp;gt;com_helloworld&amp;lt;/element&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;component&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.5.1&amp;lt;/version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;infourl title=&amp;quot;HelloWorld URL&amp;quot;&amp;gt;http://yourdomain.com&amp;lt;/infourl&amp;gt;&lt;br /&gt;
      &amp;lt;downloads&amp;gt;&lt;br /&gt;
         &amp;lt;downloadurl type=&amp;quot;full&amp;quot; format=&amp;quot;zip&amp;quot;&amp;gt;http://yourdomain.com/files/com_helloworld-1.5.1-final.zip&amp;lt;/downloadurl&amp;gt;&lt;br /&gt;
      &amp;lt;/downloads&amp;gt;&lt;br /&gt;
      &amp;lt;tags&amp;gt;&lt;br /&gt;
         &amp;lt;tag&amp;gt;some-tag&amp;lt;/tag&amp;gt;&lt;br /&gt;
      &amp;lt;/tags&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;maintainer&amp;gt;HelloWorld Inc.&amp;lt;/maintainer&amp;gt;&lt;br /&gt;
      &amp;lt;maintainerurl&amp;gt;http://yourdomain.com&amp;lt;/maintainerurl&amp;gt;&lt;br /&gt;
      &amp;lt;section&amp;gt;some-section&amp;lt;/section&amp;gt;&lt;br /&gt;
      &amp;lt;targetplatform name=&amp;quot;joomla&amp;quot; version=&amp;quot;2.5&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;/update&amp;gt;&lt;br /&gt;
    &amp;lt;update&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;HelloWorld&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;HelloWorld Component&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;element&amp;gt;com_helloworld&amp;lt;/element&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;component&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;version&amp;gt;1.5.1&amp;lt;/version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;infourl title=&amp;quot;HelloWorld URL&amp;quot;&amp;gt;http://yourdomain.com&amp;lt;/infourl&amp;gt;&lt;br /&gt;
      &amp;lt;downloads&amp;gt;&lt;br /&gt;
         &amp;lt;downloadurl type=&amp;quot;full&amp;quot; format=&amp;quot;zip&amp;quot;&amp;gt;http://yourdomain.com/files/com_helloworld-1.5.1-final.zip&amp;lt;/downloadurl&amp;gt;&lt;br /&gt;
      &amp;lt;/downloads&amp;gt;&lt;br /&gt;
      &amp;lt;tags&amp;gt;&lt;br /&gt;
         &amp;lt;tag&amp;gt;some-tag&amp;lt;/tag&amp;gt;&lt;br /&gt;
      &amp;lt;/tags&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;maintainer&amp;gt;HelloWorld Inc.&amp;lt;/maintainer&amp;gt;&lt;br /&gt;
      &amp;lt;maintainerurl&amp;gt;http://yourdomain.com&amp;lt;/maintainerurl&amp;gt;&lt;br /&gt;
      &amp;lt;section&amp;gt;some-section&amp;lt;/section&amp;gt;&lt;br /&gt;
      &amp;lt;targetplatform name=&amp;quot;joomla&amp;quot; version=&amp;quot;2.5&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;/update&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/updates&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to add a new update-node every time you publish a new release, as well as for each Joomla! version.  (you will need a distinct update node for each targetplatform)&lt;br /&gt;
&lt;br /&gt;
== Zips ==&lt;br /&gt;
Download the zip file for this Part:&lt;br /&gt;
[http://www.leyar.com/joomlaorg/part17.zip] (NOTE: This package is designed for Joomla only.)&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
*[[Deploying an Update Server]]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
*[[User:Cdemko|Christophe Demko]]&lt;br /&gt;
*[[User:oaksu|Ozgur Aksu]]&lt;br /&gt;
*[[User:HobbesPDX|Ben Sandberg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[category:Joomla! 1.6]]&lt;br /&gt;
[[category:Joomla! 1.7]]&lt;br /&gt;
[[category:Joomla! 2.5]]&lt;br /&gt;
[[category:Manual]]&lt;/div&gt;</summary>
		<author><name>Oc666</name></author>
	</entry>
</feed>