Difference between revisions of "Joomla!"
(→See also: update SiteGround tutorials link) |
(→Extensions) |
||
Line 16: | Line 16: | ||
*[http://www.siteground.com/joomla-hosting/joomla15-templates.htm Free Joomla1.5 templates from SiteGround] | *[http://www.siteground.com/joomla-hosting/joomla15-templates.htm Free Joomla1.5 templates from SiteGround] | ||
*[http://www.joomla24.com/index.php?set_albumName=album05&option=com_gallery&Itemid=6&include=view_album.php Joomla templates from Joomla24] | *[http://www.joomla24.com/index.php?set_albumName=album05&option=com_gallery&Itemid=6&include=view_album.php Joomla templates from Joomla24] | ||
+ | |||
+ | == Extensions == | ||
+ | I made my first Joomla extension on August 2015 for the [http://ligmincha.com.br Ligmincha Brasil] site. It allows single sign-on between the Joomla and the volunteers MediaWiki. Any users of the wiki who are in the specified MediaWiki group ("Joomla" by default) are automatically able to access the administration side of the Joomla if they are logged in to the wiki. | ||
+ | |||
+ | I had some trouble at first because one of the [https://docs.joomla.org/Plugin/Events plugin events] I wanted to use, ''onAfterInitialise'', was not being called, but the other, ''onUserAthenticate'', was. It turned out (after I asked a [http://stackoverflow.com/questions/31999840/joomla-2-5-onafterinitialise-event-not-being-triggered question on stackoverflow]) that the events are only triggered for plugins in their corresponding group, so if you want a plugin that uses events in different groups, you need to make your extension into a [https://docs.joomla.org/Package package] of multiple plugins. | ||
+ | |||
+ | It turned out after I got the ''onAfterInitialise'' event to trigger in my code (by making it a ''system'' plugin) that I didn't even need to use the ''onUserAthenticate'' event at all because I could call ''JFactory::getSession()->set'' directly which means that user authentication isn't required. The code is in our Git repo [https://code.organicdesign.co.nz/extensions/blob/master/Joomla/MediaWikiSSO/mwsso.php here]. | ||
== See also == | == See also == |
Revision as of 13:05, 15 August 2015
Joomla is a free and open source content management system (CMS) for publishing content on the Web and intranets. It comprises a model–view–controller (MVC) Web application framework that can also be used independently.
Joomla is written in Object-oriented PHP, and uses software design patterns, stores data in a MySQL, and includes features such as page caching, RSS feeds, printable versions of pages, news flashes, blogs, polls, search, and support for language internationalisation (i18n).
Within its first year of release, Joomla was downloaded 2.5 million times. Over 6,000 free and commercial plug-ins are available.
Contents
Installation
I found installation to be very straight forward, simply unpack the downloadable zip into a web-accessible location on the server making sure that it is writeable by the web-server, then navigate to that location to go through the install procedure. It allows the use of a table prefix so that it can be installed into existing MySQL databases along with other applications such as Wordpress or MediaWiki.
One confusing part of the installation was that it asked for FTP details to the Joomla directory. This would have made installation a difficulty so I tried moving forward without supplying the information, and it seems to have installed properly.
A useful feature of the Joomla installation is that it allows the newly set up site to be optionally populated with sample data to help Joomla-noobs get started.
Skinning
- BestOfJoomla - Joomla templates site (filter by compatibility and license)
- Free Joomla1.5 templates from SiteGround
- Joomla templates from Joomla24
Extensions
I made my first Joomla extension on August 2015 for the Ligmincha Brasil site. It allows single sign-on between the Joomla and the volunteers MediaWiki. Any users of the wiki who are in the specified MediaWiki group ("Joomla" by default) are automatically able to access the administration side of the Joomla if they are logged in to the wiki.
I had some trouble at first because one of the plugin events I wanted to use, onAfterInitialise, was not being called, but the other, onUserAthenticate, was. It turned out (after I asked a question on stackoverflow) that the events are only triggered for plugins in their corresponding group, so if you want a plugin that uses events in different groups, you need to make your extension into a package of multiple plugins.
It turned out after I got the onAfterInitialise event to trigger in my code (by making it a system plugin) that I didn't even need to use the onUserAthenticate event at all because I could call JFactory::getSession()->set directly which means that user authentication isn't required. The code is in our Git repo here.
See also
- Official Joomla site
- Joomla documentation wiki - a MediaWiki - not a particularly good sign in my opinion :-/
- Joomla tutorials at SiteGround