Difference between revisions of "Joomla!"

From Organic Design wiki
m (moved Joomla to Joomla!)
(See also: Joomla to Drupal8 migration video)
 
(13 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
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.
 
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.
  
A useful feature of the Joomla installation is that it allows the newly set up site to be optionally populated with demo content to help Joomla-noobs get started.
+
== Skinning ==
 +
''todo... (removed old links, need new ones)''
  
 
== Extensions ==
 
== Extensions ==
=== Groupware & contact management ===
+
See [http://extensions.joomla.org extensions.joomla.org] for a comprehensive extension search tool. They have thousands of useful extension that are very well organised and reviewed, many of them with live demos.
=== Project management ===
 
  
== Skinning ==
+
=== Some extensions to look in to ===
 +
*[http://extensions.joomla.org/extensions/extension/clients-a-communities/project-a-task-management/projectfork ProjectFork] ''- project management and time-tracking system''
 +
 
 +
== Documentation ==
 +
One problem with Joomla is that the documentation is very good for users, but very sparse for developers. Most of the API documentation is empty and still waiting to be populated by developer contributions. I found that for writing my first extensions I needed to wade through the Joomla code to figure out how to do things.
 +
*[http://docs.joomla.org/ Joomla documentation wiki] ''- a MediaWiki (not a particularly good sign in my opinion :-/)''
 +
*[https://api.joomla.org Joomla API docs]
 +
 
 +
== Technical issues ==
 +
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.
  
== Farming ==
+
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 ==
*[http://joomla.organicdesign.co.nz Our test Joomla installation]
 
 
*[http://www.joomla.org/ Official Joomla site]
 
*[http://www.joomla.org/ Official Joomla site]
[[Category:Software]]
+
*[http://docs.joomla.org/ Joomla documentation wiki] ''- a MediaWiki - not a particularly good sign in my opinion :-/''
 +
*[https://api.joomla.org Joomla API docs]
 +
*[https://www.siteground.com/tutorials/joomla/ Joomla tutorials at SiteGround]
 +
*[https://cms2cms.com/blog/the-ultimate-joomla-to-drupal-8-migration-how-to-kit/ Joomla to Drupal8 migration video]
 +
[[Category:Libre software]]

Latest revision as of 12:01, 13 September 2016

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.

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.

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

todo... (removed old links, need new ones)

Extensions

See extensions.joomla.org for a comprehensive extension search tool. They have thousands of useful extension that are very well organised and reviewed, many of them with live demos.

Some extensions to look in to

  • ProjectFork - project management and time-tracking system

Documentation

One problem with Joomla is that the documentation is very good for users, but very sparse for developers. Most of the API documentation is empty and still waiting to be populated by developer contributions. I found that for writing my first extensions I needed to wade through the Joomla code to figure out how to do things.

Technical issues

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