Introduction to Web Sites, CMS’s, and MODx
Some of you may remember the little article I wrote a while ago about content management systems where I shared a bit about MODx. What is MODx? (pronounced like “modular”… and it’s eXtendable… get it?) It’s a content management system (CMS), and it’s used to help you manage and publish web sites easily. It’s very cool, and it is very flexible… but I’m getting ahead of myself. I want to spend some time with our readers and talk a bit about web sites and CMS’s and use that discussion to segue into an upcoming video series about MODx. If you already know what MODx is and you want to learn about it, stay tuned for the upcoming videos… if you want to read a nice walk-through, check out NetTuts recent article.
Web Sites 101
If you’re reading this, you should have some idea of how this is happening… in the interest of the stringent word count limitations imposed by… uh… Brian (?)… I’m going to assume that you understand the concepts of a domain name, a web server, and how a traditional request such as “http://www.tipsfor.us/some_page.html” is handled and a page is read and returned to your browser. You with me? Great.
Higher Education: Dynamic Web Sites
A static site grabs a file from a folder and displays it to the browser, whereas a dynamic site operates a bit more like the “printing on demand” technology. Many sites (including this one) rely on dynamic technology to serve up a page… the page that you are requesting may not even exist until you request it. The “page” that you end up reading is often assembled on the fly from a series of scripts and bits of text from the file system and/or from a database.
Making Web Sites: The Perils of Static Sites
Enter Content Management Systems
If your own learning curve of web site development has roughly followed the previous descriptions, then you can appreciate that someone found a better way to do things. You can have your cake and eat it too.
Benefits to using a CMS
- — Isolates content from formatting (it’s much easier to search content and update templates)
- — Editing content is easily done via a GUI
- — Roles and permissions can be established: e.g. an editor, an admin, a blogger all can be allowed to do certain things to a site.
- — Links between documents can update automatically (with most CMS’s)
A CMS allows you to forgo the FTP client and use a front-end interface so that users can edit documents and templates. A CMS usually has editing tools built right in, so you don’t even need to know HTML to edit the content of a page — this is great if you’ve built a site for someone else. You can be the HTML genius, but you can give them the key to the CMS and they can edit and add content all day long. Finally, a CMS provides the ultimate separation between content and its formatting. This means that the text of an article can be fully isolated from the template used to display that article, and then the task of switching layouts for an entire site of thousands of pages becomes a trivial affair. Changing the “location” of a file or its name is also dynamically rendered so it can be done in an instant. These are the benefits to running a site using a CMS.
Down Sides to CMS
- — Complicated to set up. Math is hard! Let’s go to the mall!
- — It’s more resource intensive. Serving up flat files is much easier for the web server.
- — More complicated server requirements: not all hosts will have a scripting language and database available to you.
- — More bandwidth is required.
A site running a CMS is almost never as responsive as a site simply serving up static files. A CMS has many more moving parts, so it’s more likely to break or be attacked. You can’t do much to thwart the display of a simple HTML file, but you can experience all kinds of malicious attacks on a database an your scripting language of choice.
In my opinion, in most circumstances, the benefits often far outweigh the drawbacks. You make some extra backups, you take a few extra precautions, and bamm… you can be pimping out your web site in CMS style, and once you’ve done it that way, you’ll never go back.
So now you know why you might want to use a CMS for web site development. In the next article, I’ll discuss why you might want to choose MODx over some of many other systems available. Lots of systems will alleviate some of the pain and stress of static development, but not all Content Management Systems are created equally. The dudes working hard on MODx have made a really cool application that makes life so much easier for developers and content editors, and one of the founders asked me to upload some high resolution videos about it. Thanks guys. Stay tuned…