Saturday, February 06, 2010

Joomla! the Framework


Software frameworks refer to the architecture of a program. Frameworks are efficient  because they allow for code to be reused as part of the design. Understanding the Joomla! framework isn’t necessary for most users of the CMS, but it is the integral foundation that makes the CMS work so well. The framework is the base set of software libraries and design patterns that the CMS runs on, and it is the part
of Joomla! that makes it easily extendable.


Joomla! 1.5 introduced the Joomla! framework as the first step to separating the framework elements of the program from the CMS application. This was done to allow for the framework to support multiple applications, not just the CMS. Figure 1.2 illustrates how the framework supports the CMS application and how the CMS application is extended with extensions. Framework, libraries, and plugins make up the foundational layer. Libraries are reusable “collections” of code that perform a specific function and that can be reused by different independent applications and the framework. Libraries allow data to be used and shared in a modular way. Plugins are used to extend the functionality in the framework. Applications are programs that run using the functionality of the framework. The Joomla! CMS is an application that runs on the Joomla! framework. The separation of the application layer from the framework layer allows developers to create other applications to run on the framework’s functionality. Modules, components, and templates are items that extend applications. Modules, for example, are a way to present data,  components are a way to organize and store data, and templates are a way to visually organize data presentation.

Friday, February 05, 2010

The Great Content Management System Joomla!


A content management system is software that allows you to create and manage Web pages easily by separating the creation of your content from the mechanics required to present it on the Web. In a site, the content is stored in a database. The look and feel are created by a template. The Joomla! software brings together the template and the content to create Web pages. To expand on that specifically in relationship to Joomla!, it is a content management system that is Web-based and that allows content and data to be collaboratively shared and created. Joomla! allows people with or without technical knowledge of coding to be able to have dynamic Web sites that they can easily manage. One way we like to describe Joomla! to people who are new to content management systems is to compare it to a standard office. The whole of Joomla! is the room. The filing cabinet in the office is the Article Manager, where you have sections (drawers of the filing cabinet), categories (file folders), and your articles and content items (pieces of paper, images, videos, sound, and other data inside the file folders). You can extend or add things to your office such as a phone (Joomla! extension: live chat extension), fax machine
or scanner (Joomla! extension: form submission), and computer (Joomla! extension: content editor) to make your workflow easier. The great thing is Joomla! keeps all of it organized for you. (Extensions are described more fully later in this chapter in the “Joomla! Extension Directory” section.) Another powerful way that Joomla! allows you to manage your site is through the User Manager. The User Manager allows you to control how your users interact with your site through the use of simple user groups, which is similar to being able to lock your door to your office or filing cabinets. This allows you to give permissions on specific levels to those viewing or browsing your Web site and a different set of permissions to those who are contributing content to your Web site or managing your Web site with
you. The Media Manager helps you manage your media files such as images, videos, or documents by allowing you to create folders to organize them, and it integrates with the
built-in Content Editor, which makes it easier to insert them into your content items. It is very similar to how your computer helps you store and find your files to use them effectively. Joomla! right out of the box has the functionality that most people need to have a basic, easy-to-manage, informational Web site. It also allows for a very high level of extendibility to create very complex Web sites and information systems.