Join Jen Kramer for an in-depth discussion in this video Understanding Joomla!, part of Installing and Running Joomla! 3: Local and Web-Hosted Sites.
-[Voiceover] You might have built a website before with Dreamweaver, FrontPage, or GoLive. These tools usually create what are called static websites. A static website is quite simple. First, you type in a web address, like www.lynda.com/index.html, into your computer's web browser. A web browser is a piece of software that displays webpages from the Internet, like Internet Explorer, Firefox, Safari, Chrome and Opera. This request for the web page goes from your computer, also called the client, to the web server.
Server is a tricky word that means two different things. One is in the hardware sense of the word. A server is a very powerful computer that is shared in some way. Server can also be used in the software sense. Server software is designed to serve up web pages. Apache, an Internet Information Server, or IIS, are examples of server software that are compatible with Joomla. The term web server is frequently used interchangeably with the term web host.
The system is static in that the pages contained fixed content. The server simply picks the right page from the right location and sends it. No processing of that page is required. You can create web pages on your computer, the client, and you send a copy of those pages to the web server via FTP, the File Transfer Protocol. All the web server does is store these pages and send out copies as requested. A Content Management System, or CMS, is very different than a static site.
A CMS is a web application, software that runs on the server, instead of on the client. For example, Microsoft Word runs on your computer, the client. Google Docs, however, runs on the server. Both applications are designed to create and edit word processing documents, but the way they get that done is very different. CMSs generally function in the same kind of way, from a bird's-eye perspective. The server software, middleware software, and database software may vary, but the functionality is all the same.
Just like before, type in a web address like joomla.samoca.org/index.php into your computer's web browser. Your computer sends the request for this page to the web server. The web server looks at its files and realizes the page you've requested is written in PHP, a programming language. The web server knows it can't send this page, as is, to the client. Some processing must be done first. So instead, the web server sends this request to PHP.
PHP looks at the document and determines that some information needs to be pulled from the database and then processed. PHP is functioning as middleware in this way. This means that PHP mediates the discussion between the web server and the database. The server and the database can't talk to each other directly. They need a translator that can understand server speak, and database speak. Other examples of programming languages used in this role include ASP and .NET, ColdFusion, Java, and Perl.
A database is a collection of organized information. The database type that we'll use in Joomla is called MySQL, but other types of databases include Microsoft SQL, or PostgreSQL. Access is a database that runs on your laptop and is not suitable to use in a website. Joomla has been designed to work primarily with MySQL, but it supports some other databases as well. However, be careful. Just because Joomla supports alternative databases, does not mean that third party extensions support these databases.
Check with the extension provider to find out if the extension is compatible with other databases. The database receives a request for information from PHP via a database query. The requested information is copied from the database and sent pack to PHP. PHP arranges the database information into the way specified in the PHP code. The actual PHP code is stripped out from the page and replaced with HTML according to the instructions on the page. Now that the page is created and it consists of HTML and associated files, that is sent to the client to view.
All of this happens in the blink of an eye. In order to run Joomla, therefore, you must have a web server configured with Apache, or IIS, PHP, and MySQL including the right versions of those pieces of software. You can check joomla.org for the latest requirements and the recommended web hosts. So, obviously, a CMS is way more complicated than a static website. In fact, you may be a bit intimidated by all of that technology running your site.
Why are CMSs preferred over static websites? Because of the power of the database, websites are much easier to maintain with a CMS than they are with a static website. If you wish to make changes to a CMS website, you can change it without knowing HTML, PHP, MySQL, or anything else, which means your average client can easily create new pages, link them to menus, change content, and make other updates without talking to you. In a world where, increasingly, we integrate photo galleries, calendars, social media, newsfeeds, blogs, and other dynamic information, a CMS becomes more important due to the ease of integrating these features into the website.
If you are still feeling like a CMS is complicated, don't panic. This movie was as geeky as the rest of this title gets. Keep watching and you'll start feeling more comfortable with Joomla shortly.