Joomla 3 is what is known as a Content Management System or CMS. It a system that allows the site editors to easily add content, text, images, maps, advertisements, etc.
The core installation files for Joomla are open source and free. The installation .zip file can be obtained from joomla.org. The core installation allows you to create a web site with basic functionality. To extend the functionality you can install what are called Extensions. These Extensions can be free or obtained at a relatively small cost. If you need very specific functionality for your site there are web development companies that can write Extensions for Joomla.
What is a Content Management System (CMS)?
For complete novices to web development:
The look of the web page, such as colors, fonts and layout are done with styling, most often with a stylesheet called CSS, or Cascading Style Sheet.
What does the CMS do?
A CMS uses a combination of HTML, PHP, MySQL and CSS, or Microsoft Windows based ASP, to create web pages. It makes it so the contributor does not necessarily need to understand the markup language, programing or styling to edit, create or organize the content on their website. Setting up a new CMS installation, and styling it to your liking, does require a certain knowledge of the workings behind the site.
Reasons to use a CMS:
- Allows multiple individuals to easily add content and images to a web site.
- Allows expanded functionality to be added to a web site without requiring the need to hire expensive programmers
- Increased security is built in to keep your site safe from hackers
- The core installation of Joomla is free, open source and used all over the world. Unlike custom CMS systems where you have to stay with the same web developers for maintenance.
- Allows the web site to utilize database functionality without having to have extensive knowledge about databases
- Easily install a Search function that allows users to easily find content on you site.
- Save time by using text editors to write content, upload images, set links, etc. rather than using HTML.
- Keep track of popular articles by recording how often they are accessed
- Allows you to sort data by Categories or Tags
Front End vs Back End
The Front End is what you see in your browser when you type in the url for the site. It is the web pages, the navigation, the banner across the top, the footer, the content, all styled in whatever way you wish. The Back End is the Administrative Menu that allows you to control your site and create content as articles or modules.
The Back End has components and plugins that affect the functionality of the site. When the web site administrator wants to add or edit content, or add a component that adds functionality, he goes into the administrative side. With Joomla, you can also set it up to make edits from the front end, but the real work is done from the administrative menu.
Joomla templates control the look of your site, and to some degree the functionality of your site. The standard installation of Joomla 3+ comes with two Front End templates, but there are free and paid-for third party templates available that can make your site look and act exactly as you want. Joomla also comes with Administrative templates that modify the look of the Back End.
To modify the Joomla layout, position locations, styling, you modify the files in the template.
Extensions are files that work with the Joomla framework to add specific functionality to your site. Some examples would be to add a slideshow, membership signup, expanded administrative functionality, languages, social web capabilities, etc. Extensions are written by third-party companies or individuals. They may be free or come at a cost. You can find a listing of extensions at extensions.joomla.org.
You need to be careful with extensions as they can alter the functionality of your site in negative ways or open up your site to security vulnerabilities. Joomla.org has a list of extensions with known vulnerability issues. Visit docs.joomla.org/Vulnerable_Extensions_List for this list. Some of these extensions have had bug fixes and are alright to use in later versions, so watch for that as well.
Choose the Extensions that you want to use wisely and only use the minimum number of Extensions that your site requires. Extensions can conflict with each other, they may slow down your site, they may not be upgraded for all Joomla upgrades or the creator may stop providing the extension altogether. Stick to the most popular extensions and read the reviews first.
Everything is about going mobile in web design these days. People are viewing web sites on laptops, phones, tablets, large monitors, and television screens. Your web site needs to respond to these screen sizes and be readable and communicate your ideas at the same time.
Joomla 3 has built in responsive styling using Bootstrap 2. Bootstrap is a system the was developed by two web developers from Twitter. It's a clean easy to use system that is easy to use once you understand the basics. The default template for Joomla 3 is Protostar which works hand in hand with Bootstrap.
Zemplate has a web site that goes into the Joomla 3 - Protostar - Bootstrap concept in depth. You can view this site at bj.zemplate.com.
The downside of using a CMS
When you use a CMS system like Joomla, Wordpress, Drupal or the like, you are using someone else's programming. You may have some specific task that you want your website to perform, but you feel that you are the mercy of the people that developed the CMS or the plug-ins, widgets, or extensions. If you are a master programmer, you could write your own plug-ins or modify the 3rd Party versions, but this is a task for only experienced developers and most users aren't going to know how to do this.
The most popular CMS systems are free and open source. This means that anyone can learn the vulnerabilities of the code. The providers of the CMS are constantly having to upgrade the software due to security holes. Keeping up on the changes can be time consuming and may cause problems with your site as the plug-ins or extensions may not be compatible with the upgraded versions.
If you had a developer build your site in a CMS system and he or she falls out of the picture, you are facing the task of finding someone else to do the administrative tasks for your site. There are many developers that know about and use WordPress, so that shouldn't be a problem. With Drupal and Joomla, you won't find as many developers that have knowledge of those systems, but with the even lesser known CMS systems, you could have a real challenge finding some one to work on your site.
CMS systems are great, but recognize that there can be issues that you will need to face. The more popular ones have a large web presence with a huge community and multiple help and forum site where you probably can find an answer to any problems that you are having.
This being said, finding solutions to problems with your CMS can be daunting. There will be conflicting approaches to the solution, there will be those that make suggestions that are actually dangerous for your site, and if you have limited knowledge about PHP and MySQL, you may not understand their answers.
Make a decision - CMS systems can save you many many hours of coding, they offer database access without having to have database knowledge and you can get a site up and going in a matter of hours. If you are willing to deal with the occasional problems, then a CMS system may be right for you.
Everything you ever might want to know about Joomla, and more
Go to Joomla.org's documentation for specific information about everything Joomla!