Joomla Development Services

Joomla is a free and open-source content management framework (CMS) for publishing web content. It is built on a model–view–controller web application framework that can be used independently of the CMS.

Joomla is written in PHP, uses object-oriented programming (OOP) techniques and software design patterns, stores data in a MySQL, MS SQL , or PostgreSQL database, and includes features such as page caching, RSS feeds, printable versions of pages, news flashes, blogs, polls, search, and support for language internationalization. As of July 2013, Joomla has been downloaded over 35 million times. Over 6,000 free and commercial extensions are available from the official Joomla! Extension Directory and more are available from other sources. It is estimated to be the second most used content management system (CMS) on the Internet after Word Press.

The development of Joomla! It is carried out by the Development Working Group and third party developers. This page is a starting point for developers interested in the development of components, modules, plug-in and template. There are several ways of setting up your workstation in for Joomla! Development.

Next, you should familiarize yourself with Joomla! Secure coding guidelines and the short article on Development Best Practices Documentation on the Joomla! API can assist with becoming familiar with the foundations of the Joomla! Code base.

  • Component Development
  • Plugin Development
  • Template Development
  • Module Development

A component is a kind of Joomla! Extension. Components are the main functional units of Joomla!; they can be seen as mini-applications. An easy analogy would be that Joomla! Be the operating system and the components are desktop applications. They are usually displayed in the center of the main content area of a template. Most components have two main parts: an administrator part and a site part. The site part is what is used to render pages when being called during normal site operation. The administrator part provides an interface to configure and manage different aspects of the component and is accessible through the Joomla! Administrator application. Joomla! Comes with a number of core components, like the content management system, contact forms and Web Links.

Joomla! 1.5 introduced the J-Plug in class. In the effort to move Joomla! Toward a more efficient object-oriented framework, a new plug-in system has been developed which follows the Observer pattern. Plug-in are observer classes that attach to a global event dispatcher object in the Joomla! Core. What does this mean in English? It means that either the Joomla! Core or a third party component or module can trigger an event which causes one or more plug-in to execute some code, the implementation of the plug-in system that of an observer pattern. It has two parts, an observer class, J Plugin, and an observable class; This attaches the J-Plug into an observable object. In the case of a plug-in, they observe the JEventDispatcher object.

The second important thing to note is the update method in the JEvent class. The update method is passed an array from its trigger. The array contains two elements – the event and the arguments. Once the update method receives this array it extracts the event and removes it from the arguments. It then calls a method of name ‘event’ (passing the arguments array) and returns its response

Modules are lightweight and flexible extensions used for page rendering. These modules are often “boxes” arranged around a component on a typical page. A well-known example is the login module. Modules are assigned per menu item, so you can decide to show or hide (for example) the login module depending on which page (menu item) the user is currently on. Some modules are linked to components: the “latest news” module, for example, links to the content component and displays links to the newest content items. However, modules do not need to be linked to components; they don’t even need to be linked to anything and can be just static HTML or text. Modules are managed in the Joomla! Administrator view by the Module Manager.