Content Management Systems


CMSes and Other Software

By now, assuming that you have read every bit of the class material, you will know pretty much know everything that’s required to create Web pages from scratch. With this basic knowledge under your belt, it’s time to make an important decision. Will you continue to create web sites in this way, where each page is an HTML file that has to be edited and uploaded? Or will you do things "The Other Way"?

To understand what is meant by "The Other Way", consider modern web sites such as Facebook, WordPress, LinkedIn, Bebo, Twitter and Ebay. These are sometimes referred to as Web 2.0 sites, but what does this mean exactly?

When you want to update your profile on Facebook, you don’t have to create an HTML file with an HTML editor and then use an FTP program to upload it. You just fire up your web browser, connect to the site, log in with a username and password, and manage your content directly within the site itself. It’s the same whether you’re posting a new page to your blog on wordpress.com, creating an item for sale on eBay, or using any of the other sites mentioned. How do they do that? And more importantly, can anyone do it? Can you create sites that work in a similar way, that you can update directly from a browser without the need for an HTML editor or an FTP tool?

You may be surprised to know that creating such a site isn’t actually difficult. Mainly because the software that allows you to do it is available from various places. All you need to do is obtain it, install it on your hosting space, and start using your site. Even better, many of the most popular programs are what’s known as FOSS (free, open-source software). This means that, not only are they completely free of charge, you also get the program source code so you can modify it if it doesn’t quite fit your needs.

The key to creating such a site, ie one that you can edit and maintain from within a web browser without the need for programs like Adobe Dreamweaver, Amaya and FileZilla, are two technologies known as server-side programming languages and server-side database engines. The former lets you write programs which run on the Web server. One of the things that these programs can do is to retrieve text from a database and present it in a web browser, which is where the second technology comes in.

If you want to create a site that performs a common function, such as a blog, or a discussion forum, or a simple web site, or a picture gallery, then here’s the good news. There are lots of ready-made open source applications. Just install one or more of them on your hosting space and you’re ready to roll.

A Web 2.0 application that performs the basic functions of creating and maintaining a standard web site is known as a Content Management System, or CMS. Sometimes the term used is WCMS, or Web Content Management System.

CMSes and Templates

CMS products like Joomla and WordPress are template-based. You start with a basic template, or page layout, which contains common elements such as a logo, the site’s title, the page footer and so on. The template also contains markers (called placeholders) to indicate where the unique content for each page should be inserted. For example, the main heading, the intro paragraph, the main body text, the name of the author, and so on.

Key to using a CMS is to create a template. Thankfully, there are lots of free ones available, which can change the look of your site instantly. But if you don’t like any of the standard templates, you can edit the existing ones or design your own from scratch. Any HTML page can be turned into a CMS template it’s just a case of looking through the CMS documentation for details on how to insert those special markers at the point where you want each page’s content to appear.

Joomla

Joomla!, is the best-known and most widely used of the open source CMS products. Its widespread adoption means that the Web is awash with helpful documents, free add-ons, discussion forums and other resources to help you make the most of it.

This will create a fully-working, functional web site based around the best known open source CMS. Remember that you can change all aspects of the site’s design and features. You don’t have to stick with any one color or design. Equally, if you want to remove certain features, you can do so. And of course, the Joomla logo can easily be replaced with your own.

As you might be starting to realize, a CMS is a hugely flexible way of working but it’s still not particularly simple. The sheer number of options and menus on the main admin screen look daunting at first. But it’s definitely worth persevering, because it will save you time in the long run. Once you’ve sorted out your design templates, you can create new pages in a flash and add them into the main body of your site in just seconds. Plus, because Joomla is very much based around templates, skins and CSS, it’s easy to roll out a new design across all of your site without having to change each individual page.

WordPress

Like Joomla, WordPress is a free, open source CMS. Although it is used nowadays for creating all sorts of general purpose web sites, it was originally designed for use in blog publishing and it is in this area that it functions particularly effectively.

The one thing programs like these have in common is that there are steps involved before they can be used. These steps include:

phpBB

As part of your web site, you may want a discussion forum or two. There are many open source forum programs that you can download for free and install on your web server in order to provide this. Possibly the best known is phpBB. Like a traditional CMS (Joomla, Wordpress etc), forum software needs access to a database (MySQL is just fine) to store forum postings, user data and so on.

Plogger

So far, the programs that have been discussed were primarily text based. These include a Content Management System, a blog, and a forum. Plogger is an image gallery application, allowing you to upload pictures to your server and create online albums for people to browse. However, it still requires a MySQL database, as it uses this to store details of images and some information about them. It doesn’t actually store the uploaded pictures in the database, though these are uploaded to a folder on the server within the main Plogger directory.

Web servers aren’t generally good at handling image files. Programs such as Plogger often boast the ability to manipulate pictures, such as resizing them for display, generating thumbnails for browsing, and compressing them to save space. However, such functionality generally relies on the availability of specific features that are not always available on all web servers. Such features include the ImageMagick graphics library. In the absence of such features, certain parts of the program may not work properly, or at all. You should therefore take special care to read the list of server requirements before deciding whether to install an image-based product such as Plogger on your web site. If you have problems with a specific product, there are always plenty of others to choose from.

Data Overload

When you sign up for a web hosting package, your account comes with a certain amount of disk space on the server to store your information. If you’re storing mostly text, you don’t need to worry about hitting your limit. But if you intend to store lots (as in, thousands) of pictures, be aware that they eat server space like nothing else. Especially if they are high resolution multi megapixel images, which can typically occupy up 10 MB or more each.

If you think this might be a problem for you, check the small print of your web hosting package to find out just how much server space you get. Remember, too, that people who view or download your pictures will use up your bandwidth allocation, so you may want to check that as well. For example, if you have a 10 MB picture on your site and 100 people download it, that’s 1 GB of bandwidth traffic from your server.

Equally, if you upload 100 pictures to your gallery, at 10 MB each, that’s 1 GB of traffic from your own service connection, which in the case of a mobile data plan can create an issue.

Decisions

One of the most common problems you will find with some free software is the installation of unwanted items such as spyware, toolbars and other elements that may compromise your privacy that you don’t need so be careful what you choose and always look for information at discussion forums that may reveal certain pitfalls or issues. Another thing to consider is that most CMSes utilize extraeneous code in order to produce the ease of use and can be 5%-25% larger than traditionally written HTML files.

For enterprise level sites with a high volume of traffic, the choices are affected by several other factors. The alternative to static content is serving your content via a database-driven system. There are dozens of viable options to choose from. Delving into the finite details for such systems is far beyond the scope of this class, but here is a highlight of some of the basic things to be aware of. Database-driven content management systems (CMSs) can be purchased, adapted from solutions in the open source community, or developed entirely from scratch. There are pros and cons to each.

Purchased Commercial off-the-shelf (COTS)

These systems can be feature-rich and tie in with your existing enterprise infrastructure. They should have all the i’s dotted and the t’s crossed when it comes to enterprise requirements, and enterprise decision makers often seem to like the idea of a large corporate entity backing the software that is being deployed. On the downside, these systems can be bulky, can use proprietary and non-standards-compliant code, and can often be a bit behind the times in terms of modern features and functionality. And they can be expensive both to purchase and to maintain. Make sure to evaluate such systems with web standards in mind. If the product claims support for only a limited number of specific browsers and has no mention of standards compliance or accessibility, keep looking around. You don’t want to shackle your customers to a particular platform for years to come and lock out their potential customers.

Open Source

This option has become much more popular for a number of reasons. Open source systems are free, they are fully featured, and they tend to be quite robust and effective. Blogs, wikis, and the rest of the buzzword-laden vectors of Web 2.0 are mostly just specialized variances of content management solutions, and in many ways this diversity addresses the specialization required when discussing CMS. There is no one-size-fits-all solution, and whatever you choose from the preexisting soft-ware world is going to mean some compromises to make with regard to your site. Custom developed Custom CMS solutions are those that you or your development team create from scratch. The benefit here is that you can program things to work exactly the way you need them to with no distracting features and it fits your business needs as designed. Of course the obvious drawback is the effort required to develop such a system. If expertise in server-side languages such as PHP, Perl, or Ruby on Rails is lacking, then this is probably not going to be a cost-effective solution. (On the other hand, it is a great way to learn!) But if the requirements are simple, a custom solution might be a far better choice than trying to fit a square CMS peg into a round website infrastructure hole.

 







State of the Web


Accessing the Internet Today

In the very beginning of the internet days as we know it now, our internet connections ran across POTS(plain old telephone service) lines to which we connected using Modems that were connected to big desktop computers and made alien sounds consisting of squeaks, squeals and hisses. Displays had just transitioned from monochrome to 8 and 16 bit color and the founder of Facebook was still in Middle School probably dreaming about being an Astronaut.

Since then access speeds to the internet have increased by 3120% and is as easily accessible from desktop computers and mobile devices alike. Connection speeds, just as memory are not measured in kilobytes anymore but gigabytes. Standard storage capacity on computers has gone from the measely 20 megabytes back then, to a terabyte now.

Mobile connectivity to the internet which was practically unheard of in the very early days but has now evolved mainly due to the development of Code- Division Multiple Access. The latest wireless generations, which are named as such (3G,4G), were designed for high-speed multimedia data and voice. Its goals included high-quality audio and video and advanced global roaming, which means being able to go anywhere and automatically be handed off to whatever wireless system is available, including WiFi. 4G is the fourth generation language and is around 10 times faster than the previous generation (3G).

What all of the previous information is meant to allude to is the awareness of the amount and the increase in size of the information we use has become. It is not uncommon with todays network speeds to download a 1.6 Gb video clip within minutes, a task that used to require an overnight download taking several hours.