Overview
Joomla!® ( joomla.org ) is a free and open-source content management system (CMS) for publishing web content, developed by Open Source Matters, Inc. It is built on a model–view–controller web application framework that can be used independently of the CMS.
The name Joomla is derived from a Swahili word meaning "all".
The system's background goes back to 2001 and Mambo software developed by the Micro Group in Australia. Mambo quickly became global and became powerful and gradually embracing various ideas by engineers and graphic artists. In the ensuing years, as a result of disagreements within the Mambo team, a group of team members came together to replace Joomla! Joomla is built using the powerful PHP programming language and utilizes object-oriented programming technology and software design platforms. It stores data in sql databases and includes features such as search, page caching, polls, RSS readers, and more. Print pages, news, blogs and international language support.
Joomla! Is written in PHP and uses the mysql database, Joomla! Is one of the best and most powerful web design and management software. Joomla has become global due to its powerful kernel and is being added daily to its fans,
Joomla now has over 90 million users, most of whom are members of the community and its support team (including: Kaveh Parsa).
Joomla! Has lots of features and is a bit complicated, So users first run away from it, And they go to simple CMS like WordPress, But eventually they go back to Joomla!,Because Joomla! Is a very user-friendly environment, it has a robust architecture and many features.
The first Joomla! Version 1.0.0 was released on September 16, 2005. This version of Joomla was in fact a new bundle of 4.5.2.3 version of Mambo software that had some bugs. The development roadmap of this project decided to write version 1.5 of this program in PHP version 5 from scratch.
In a short period of time, Joomla! Has been downloaded by about 3 million people from its official site and 65,000 developers have announced their readiness to develop the system, And so far it has been downloaded more than 110 million times from its official site and there are more than 7700 free and commercial extensions registered and added daily to the number of developers, users and extensions.
How does Joomla!
In a web server that has html pages and by requesting a page like mysite.com/index.html This page is called by the web server and is displayed in the user's browser
But that's not the case in Joomla
When calling a page mysite.com/index.php the request is transferred from the web server to Joomla! And the Joomla! Is called from the database and put in a predefined format and processed on the page according to the requested page. Sends the data and a html page to the web server, which will eventually display the same page in the user's browser.
Historical background
Joomla was the result of a fork of Mambo on August 17, 2005. At that time, the Mambo name was a trademark of Miro International Pvt. Ltd, who formed a non-profit foundation with the stated purpose of funding the project and protecting it from lawsuits. The Joomla development team claimed that many of the provisions of the foundation structure violated previous agreements made by the elected Mambo Steering Committee, lacked the necessary consultation with key stakeholders and included provisions that violated core open source values.
Joomla developers created a website called OpenSourceMatters.org (OSM) to distribute information to the software community. Project leader Andrew Eddie wrote a letter that appeared on the announcements section of the public forum at mamboserver.com. Over one thousand people joined OpenSourceMatters.org within a day, most posting words of encouragement and support. Miro CEO Peter Lamont responded publicly to the development team in an article titled "The Mambo Open Source Controversy — 20 Questions With Miro". This event created controversy within the free software community about the definition of open source. Forums of other open-source projects were active with postings about the actions of both sides.
In the two weeks following Eddie's announcement, teams were re-organized and the community continued to grow. Eben Moglen and the Software Freedom Law Center (SFLC) assisted the Joomla core team beginning in August 2005, as indicated by Moglen's blog entry from that date and a related OSM announcement. The SFLC continue to provide legal guidance to the Joomla Project.
On August 18, Andrew Eddie called for community input to suggest a name for the project. The core team reserved the right for the final naming decision and chose a name not suggested by the community. On September 22, the new name, Joomla!, was announced. It is the anglicised spelling of the Swahili word jumla, meaning all together or as a whole that also has a similar meaning in at least Amharic, Arabic and Urdu. On September 26, the development team called for logo submissions from the community and invited the community to vote on the logo; the team announced the community's decision on September 29. On October 2, brand guidelines, a brand manual, and a set of logo resources were published.
Features
Joomla has thousands of verified third party extensions which can be found on the Joomla Extensions Directory - extensions.joomla.org. There are also thousands of high end templates available, many of which are free. Paid templates are also available and come with support. Many templates provide a graphical user interface which allow you to change colors, fonts, layouts and features. Joomla has SEO tools built in. Includes Metadata and Keywords, Mod_rewrite support for SEF URLs and Menu creation for clear and consistent sitemaps.
- Multilingual: Offering over 75 languages.
- Search Engine Optimization: Out of the box SEO & SEF.
- Flexible: Make a blog, business website, intranet, community website… From the simplest to the most complex website.
- Free: Joomla is free to use under GPL.
- Extendable: Extensions are available to extend website functionality.
- User Management : Access Control Lists allow management of the users of a website, and different groups.
- Menu management: Create as many menus and menu items as you need.
- Cache management : Caching for performance.
Version history
- Joomla 1.0 was released on September 22, 2005 as a rebranded release of Mambo 4.5.2.3 that combined other bug and moderate-level security fixes.
- Joomla 1.5 was released on January 22, 2008, and the latest release of this version was 1.5.26 on March 27, 2012. This version was the first to attain long-term support (LTS); such versions are released each three major or minor releases and supported until three months after the next LTS version is released. April 2012 marks the official end-of-life of Joomla 1.5; with Joomla 3.0 released, support for Joomla 1.5 faded away in April 2013.
- Joomla 1.6 was released on January 10, 2011. This version adds a full access control list functionality plus, user-defined category hierarchy, and admin interface improvements.
- Joomla 1.7 was released on July 19, 2011, six months after 1.6.0. This version adds enhanced security and improved migration tools.
- Joomla 2.5 was released on January 24, 2012, six months after 1.7.0. This version is a long term support (LTS) release. Originally this release was to be 1.8.0, however the developers announced August 9 that they would rename it to fit into a new version number scheme in which every LTS release is an X.5 release. This version was the first to run on other databases besides MySQL. Support for this version was extended until the end of 2014.
- Joomla 3.0 was released on September 27, 2012. Originally, it was supposed to be released in July 2012; however, the January/July release schedule was uncomfortable for volunteers, and the schedule was changed to September/March releases. On December 24, 2012, it was decided to add one more version (3.2) to the 3.x series to improve the development life cycle and extend the support of LTS versions.
- Joomla 3.1 was released on April 24, 2013. Release 3.1 includes several new features including tagging.
- Joomla 3.2 was released on November 6, 2013. Release 3.2 highlighting Content Versioning.
- Joomla 3.3 was released on April 30, 2014. Release 3.3 features improved password hashing and microdata and documentation powered by MediaWiki Translate extension.
On April 25, 2014, the Joomla Production Leadership Team announced that it started following 'Semantic Versioning Scheme' for new Joomla builds. The earlier LTS (Long Term Support) and STS (Short Term Support) lifecycle policy is no longer observed. Joomla version 3.3.1 was the first version released under the new development strategy.
- Joomla 3.4 was released on February 24, 2015. Release 3.4 contains improved security advancements, composer integration, Google's No CAPTCHA reCAPTCHA, and several new features. Extensive security revisions were rolled out in October 2015 with the release of v3.4.5.
- Joomla 3.5 was released on March 21, 2016. Release 3.5 contains download system information, category item counter, insert modules in articles, drag & drop images.
- Joomla 3.6 was released on July 12, 2016. Release 3.6 contains download subform field, show all menu items, improved UX, improved Joomla updates, Menu type ACL, categories on the fly.
- Joomla 3.7 was released on April 25, 2017. Release 3.7 contains Custom Fields, Improved Workflow, Multilingual Associations Manager, Backend Menu Manager, improved update system, cache systems and package/extension management, Easier Extension Maintenance, and UX improvements.
- Joomla 3.8 was released on September 19, 2017. Release 3.8 contains Improved Routing System, Joomla 4 Compatibility Layer, Installable & Multilingual Sample Data, Code Improvements and Encryption Support (using Sodium extension on PHP 7.2, or via sodium_compat polyfill for lower supported versions).
- Joomla 3.9 was released on October 30, 2018. Release 3.9 provides users with a comprehensive ‘Privacy Tool Suite’. This facilitates the compliance of Joomla websites with laws and regulations, most notably GDPR. The release includes over 250 improvements.
- Joomla 3.9.10 - security release and minor bug fixes on July 10th 2019
- Joomla 3.9.11 - security release and minor bug fixes on August 13th 2019
- Joomla 3.9.12 - security release and minor bug fixes on September 24th 2019
- Joomla 3.9.13 - security release and minor bug fixes on November 5th 2019
- Joomla 3.9.14 - security release and minor bug fixes on December 17th 2019
- Joomla 3.9.15 - security release and minor bug fixes on January 28th 2020
- Joomla 3.10 release will be the last scheduled minor release of the Joomla 3.x series and will be a long term support release
Deployment
Like many other web applications, Joomla may be run on a LAMP stack.
Many web hosts have control panels for automatic installation of Joomla. On Windows, Joomla can be installed using the Microsoft Web Platform Installer, which automatically detects and installs dependencies, such as PHP or MySQL.
Migration/configuration.php
Joomla utilises a configuration file (configuration.php, usually located in the root of the Joomla installation) to control various settings including (but not limited to) database connection settings. Due to the use of a configuration file, migrating from one server to another is relatively simple.
Extensions
Joomla extensions extend the functionality of Joomla websites. Eight types of extensions may be distinguished: components, modules, plugins, templates, languages, libraries, files and packages. Each of these extensions handles a specific function. Many of the extensions built by the Joomla Community are not free but require a payment for download.
- Components are the largest and most complex extensions. Most components have two parts: a site part and an administrator part. Every time a Joomla page loads, one component is called to render the main page body. Components produce the major portion of a page because a component is driven by a menu item.
- Pluginsare advanced extensions and are, in essence, event handlers. In the execution of any part of Joomla, a module or a component, an event may be triggered. When an event is triggered, plugins that are registered to handle that event execute. For example, a plugin could be used to block user-submitted articles and filter text. The line between plugins and components can sometimes be a little fuzzy. Sometimes large or advanced plugins are called components even though they don't actually render large portions of a page. An SEF URL extension might be created as a component, even though its functionality could be accomplished with just a plugin.
- Templates describe the main design of a Joomla website. While the CMS manages the website content, templates determine the style or look and feel and layout of a site.
- Modules is dynamic or static output in a template position. Templates define dynamic positions that can be assigned modules. An example could be a boxed login form in a sidebar. This could be compared to another CMS's "widgets in sidebar". Multiple modules can be assigned to each position and each module's assignment can be controlled per menu item. Historically, modules are assigned to sidebars around the main component output.
- Languages are very simple extensions that can either be used as a core part or as an extension. Language and font information can also be used for PDF or PSD to Joomla conversions.
- Libraries are usually extra php libraries that provide functionality for a component, module or plugin to work correctly (such as Google APIs).
- Files are single files that can be installed anywhere in the Joomla file system. Examples of this include allowing extension developers to provide extra template views.
- Packages allow user to install combinations of any other extension type listed above. This allows related packages to be installed and uninstalled in one action rather than as separate entities.
Our Services
Joomla! Services
- Web Design
- Online Shop
- Joomla Templates
- Joomla Extensions
- Joomla Template design
- Joomla Extension design