Architecture of Joomla

Architecture of Joomla

Joomla is a Model-View-Controller web application. In this chapter, we are going to discuss about the architectural style of Joomla. The following diagram shows the architecture of Joomla.

joomla Architecture

The architecture of Joomla contains following layers −

  • Database
  • Joomla Framework
  • Components
  • Modules
  • Plugin
  • Templates
  • Web Server

Database − Database is a collection of data and can be stored, manipulated and organized in a particular manner. The database stores the user information, content and many more required data of the site. It is used to store the administrative information to manage the Joomla site. Using Joomla database layer, it ensures maximum flexibility and compatibility for extension.

Joomla Framework − Framework is a collection of open source software, where the Joomla CMS is built. It is developed for more flexibility and breaks the framework into single modular packages which helps each package to develop more easily.

Components − Components are considered as mini applications. It consists of two parts i.e. Administrator and Site. Whenever a page gets loaded, component is been called to render the body of main page. The Administrator part manages different aspects of the component and the site part helps in rendering the pages when request is made by site visitor. Components are main functional unit of Joomla.

Modules − Modules is an extension which is used to render the pages in Joomla. It is also used to display the new data from the component. It frequently looks like boxes such as login module. In Joomla administrator the modules are managed by the module manager. It displays the new content and images when module is linked to Joomla components.

Plugin − This is also a kind of Joomla extension, it is very flexible and powerful for extending the framework. It contains a bit of codes that is used to execute the particular event trigger. It is commonly used to format the output of a component or module when a page is built. The plugin function which are associated with event are executed in a sequence when a particular event occurs.

Templates − Template determines the look of the Joomla website. There are two types of templates used i.e. Front-end and Back-end. The Back-end template is used to control the functions by the administrator where-as the Front-end template is a way to present the website to users. Templates are easy to build or customize your site. It provides maximum flexibility to style your site.

Web Browser − It is a server where the user interacts. It delivers the web pages to the client. The HTTP (Hyper Text Transfer Protocol) is used to communicate between the client and the server.

Joomla Installation

Joomla Installation

System Requirements for Joomla 3.x

  • Database − MySQL 5.1 +

  • Web Server −

    • WAMP (Windows)
    • LAMP (Linux)
    • XAMP (Multi-platform)
    • MAMP (Macintosh)
    • Nginx
    • Microsoft IIS
  • Operating System − Cross-platform

  • Browser Support − IE (Internet Explorer 7), Firefox, Google chrome

  • SSL (Secure Socket Layer) − A valid security certificate is required for HTTPS

  • PHP Compatibility − PHP 5.4+ or PHP 5.3.10+

  • Download Joomla

    When you open the link https://www.joomla.org/download.html, you will get to see a screen as below −

    Download Joomla Setup

    Download the Joomla zip file from the official site or if you want to update the files of your previous version, then click on Upgrade Package option.

    Create Store Database

    • Joomla requires MySQL database. So create a new empty database and user/password (for e.g. User as "root" and password as "root" or else you can set as per your convenience) for Joomla.

    • After following the above step, you can continue with the installation process.

    SetUp Wizard

    It's very easy to set up Joomla into your system. The following steps describe how to setup Joomla locally on your system.

  • Step 1 − Extract the downloaded Joomla folder and upload it on your web server or localhost.

    Step 2 − Open your browser and navigate to your Joomla file path, then you will get the first screen of the Joomla installer as shown in the following screen. In our case the path is localhost/< Your_joomla_folder >.


  • joomla Setup

    It contains the following fields −

    • Site Name − Enter the name of the site which you are going to create in Joomla.

    • Description − Add a small description about your site.

    • Admin Email − Enter your email address which helps to recover our password or any update.

    • Admin Username − Enter the username as per your choice while logging into Joomla.

    • Admin Password − Enter password to protect your site.

    • Site Offline − It specifies whether your site should be offline or online after completion of installation by clicking on Yes/No.

    After filling all the information, click on the Next button.

    Step 3 − Here, you have to enter the information about the MYSQL database as seen in the screen below.

    joomla Setup

    • Database Type − Select your database type. By default it will be MySQLi.

    • Host Name − Write the host name by default it will be localhost.

    • Username − Enter the user name of your MySQL database.

    • Password − Enter the password which you had set for MySQL Database.

    • Database Name − Enter the database name which you have created in MySQL database for Joomla.

    • Table Prefix − It is used to add prefix in the database tables which helps to run multiple sites on the same database. It takes the default value.

    • Old Database Process − It gives two options Backup or Remove. If you had already created a database then you can either remove it or select the backup option to create a backup of your whole database information.

    After filling all information, click on Next button.

    Step 4 − In this step, you will be on last page of the installation process.

    joomla Setup

    Here you can view all the information added to Joomla.

    Choose Default English (GB) Sample Data as an example to build your website and click on Install button.

    Step 5 − Next, you can see that Joomla starts the installation process on your machine.

    joomla Setup

    Step 6 − After a few minutes, after installation is successful and you will get a screen of the Joomla web installer as shown below.

    joomla Setup

    Next, click on the "Remove installation folder" button which will help you to protect your site, so that no other person can re-install your site.

    Note − If your installation gets stuck and does not get completed for more than an hour, then do some changes as shown below.

    Go to Joomla folder → installation → sql folder → mysql folder Open joomla.sql file and find the following term: "ENGINE = InnoDB". Replace this term with "ENGINE = MyIsam" and save the file.

    Before MySQL 5.5.5, MyISAM is the default storage engine. (The default was changed to InnoDB in MySQL 5.5.5.)

    Then your installation will begin.

    Admin Panel

    After installing Joomla you are able to login to your Joomla Admin Panel as described below −

    Step 1 − To access Joomla administrative panel, open the browser and type the URL as http://localhost/ < Your_joomla_folder >/administrator/index.php, then you will get the screen as shown below −

    joomla Setup

    Step 2 − Enter the username and password which you had mentioned during installation as shown in the step 3 of Set Up Wizard section and click on the login button.

Introduction to Joomla

     Introduction to Joomla

                  Joomla is an open source Content Management System (CMS), which is used to build websites and online applications. It is free and extendable which is separated into front-end templates and back-end templates (administrator). Joomla is developed using PHP, Object Oriented Programming, software design patterns and MySQL (used for storing the data). 

Joomla is an open source Content Management System (CMS), which is used to build websites and online applications. It is free and extendable which is separated into front-end and back-end templates (administrator). Joomla is developed using PHP, Object Oriented Programming, software design patterns and MySQL (used for storing the data).

What is Content Management System (CMS)?

The Content Management System (CMS) is a software which keeps track of the entire data (such as text, photos, music, document, etc.) which will be available on your website. It helps in editing, publishing and modifying the content of the website.

History

Joomla is based on Mambo CMS which was developed by an Australian company in 2001 and initially released on August 17, 2005. The official version of Joomla 1.0 was released on September 22, 2005.

Features

Joomla has its own powerful built-in features (core features).


Joomla Features

  • User Manager − It allows managing the user information such as permission to edit, access, publish, create or delete the user, change the password and languages. The main part of the user manager is Authentication.

  • Content Manager − It allows managing the content using WYSIWYG editor to create or edit the content in a very simple way.

  • Banner Manager − It is used to add or edit the banners on the website.

  • Template Manager − It manages the designs that are used on the website. The templates can be implemented without changing the content structure within a few seconds.

  • Media Manager − It is the tool for managing the media files and folder in which you can easily upload, organize and manage your media files into your article editor tool.

  • Contact Manager − It allows to add contacts, managing the contact information of the particular users.

  • Web Link Manager − The link resource is provided for user of the site and can be sorted into categories.

  • Search − It allows users to search the appropriate information on the site. You can use smart indexing, advanced search options, auto suggest searches to make Joomla search best.

  • Menu Manager − It allows to create menus and menu items and can be managed subsequently. You can put menu in any style and in multiple places.

  • RSS − It stands for Really Simple syndication which helps your site contents and RSS files to be automatically updated.

  • Advantages

  • It is an open source platform and available for free.
  • Joomla is designed to be easy to install and set up even if you're not an advanced user.
  • Since Joomla is so easy to use, as a web designer or developer, you can quickly build sites for your clients. With minimal instructions to the clients, clients can easily manage their sites on their own.
  • It is very easy to edit the content as it uses WYSIWYG editor (What You See IWhat You Get is a user interface that allows the user to directly manipulate the layout of the document without having a layout command).
  • It ensures the safety of data content and doesn't allow anyone to edit the data.
  • By default, Joomla is compatible with all browsers.
  • The templates are very flexible to use.
  • Media files can be uploaded easily in the article editor tool.
  • Provides easy menu creation tool.
    • Disadvantages

    • It gives compatibility problem while installing several modules, extensions and plugins simultaneously.
    • Plugins and modules are not free in Joomla.
    • Development is too difficult to handle when you want to change the layout.
    • Joomla is not much SEO (Search Engine Optimization) friendly.
    • It makes website heavy to load and run.
    • Real World Examples of What Joomla Can Create?

  • Corporate web sites or portals
  • Corporate intranets and extranets
  • Online magazines, newspapers, and publications
  • E-commerce and online reservations
  • Government applications
  • Small business web sites
  • Non-profit and organizational web sites
  • Community-based portals
  • School and religious web sites
  • Personal or family homepages