Lesson 2: Website Publishing Tools

Overview

Throughout this course, you've learned to create websites, and in the previous lesson you learned how to get those websites onto the World Wide Web. This is all useful knowledge and having skills in this area can be a great asset that potential employers will view favorably. But the landscape of the Web is changing rapidly. Millions of people worldwide have something they'd like to publish on the Web, about themselves, their interests, or their business or organization. Most of these people don't have the skills that you now have, and are not able to create their own web pages from scratch. A growing variety of products and services have risen to address this need. Content management systems, blogging software, wikis, and website publishing tools all provide back-end technology that lets users focus on content. These tools take the content that users submit, and publish that content on a web page. Users don't have to know anything about HTML. This lesson explores a variety of these tools.

Learner Outcomes

At the completion of this exercise, you will:

Content Management Systems

A content management system (CMS) is a system by which users can enter and upload content (text, images, audio, video, etc.) and have that content published on the Web. CMS's support multiple users working collaboratively, so many people can work collaboratively on authoring content for a particular site. An important feature of these systems is version control, so as users create or edit content, multiple backup versions of that content are saved so users can revert back to an earlier version if they mess up.

The content entered by authors is stored in a database, and is ultimately published to a template using server-side scripting, which you learned about in an earlier lesson. You also learned about templates in this course, and used a template in creating your portfolio site. Each page in your site has the same core HTML structure - the only thing different between pages is the content you added. CMS's work the same way, except authors' content is added to the template automatically after they save and publish it. This method of publishing can be great for Web standards - if a template conforms to standards (i.e., uses valid HTML, valid CSS, and is fully accessible) then every page published within that template is likely to conform to standards as well.

Three of the most popular CMS's are Drupal, Joomla, and WordPress.

Blogging Software

Blogging software is a type of CMS that was specifically designed to support blogs (short for "Web log"), personal Web-based journals published on the Web by individuals or small groups of authors. Individual entries, or "posts", are typically listed chronologically, can be tagged or otherwise grouped by topic, and visitors are able to add comments to them.

The CMS WordPress originated as blogging software, and still serves that function today although as its feature set has grown it's become a viable option for serving websites too. WordPress software is free and open source, and can be downloaded from wordpress.org and installed on a web server. WordPress boasts about its Famous 5-Minute Install. Alternatively, you can use wordpress.com, a site that hosts your WordPress blogs for you, so you don't need to worry about the technical details and can simply focus on content.

Other popular blogging tools include Movable Type, TypePad, and Google's Blogger.

Wikis

Wikis are designed for collaborative authoring. Users can add, modify, or delete content right from their web browser. The most famous wiki is Wikipedia, which is built using MediaWiki wiki software. Wiki software is a CMS that specializes in the sort of multi-user collaborative web-based authoring that defines a wiki. Many wiki software packages use a simplified markup language, intended to be easier for the masses to learn than HTML. For example, here are a few examples of how to markup text in MediaWiki:

There are more tags listed on the Wikipedia Cheatsheet. Users enter content using this simple markup language, and it's converted to HTML before being displayed.

Some wiki software provides users with an on-line rich text editor that includes buttons for marking up text, so users don't have to learn a markup language at all. There are dozens of choices when it comes to wiki software. See the Comparison of Wiki software on Wikipedia for more detail.

Website Publishing Tools

Blogging and wiki software have specific use cases for which they were designed. There are also online tools available that focus specifically on creating a website much like the portfolio site you've created in this course. Two of the most popular tools in this category are those provided by Web giants Google and Yahoo. Google Sites promotes its service as "a free and easy way to create and share web pages". Yahoo! SiteBuilder provides a similar tool and service, marketed specifically at small businesses.

Implications for Careers in Web Design and Development

With a growing variety of CMS's available so people and organizations can create and manage websites without knowing anything about HTML, does that mean everything you've learned in this course has been a waste of time? Not at all! Each of the tools and services described in the lesson ultimately delivers content to the browser in HTML, stylized with CSS, with behavior added using JavaScript. As long as there's a World Wide Web, these technologies will likely be at the heart of that Web. What the current trends do suggest though is that if you're interested in pursuing a career in web design and development, a good next step will be to learn more about these tools, and the server-side scripting languages that were used to build them. There's currently a huge market for (a) people who know how to install and manage a CMS behind the scenes, and (b) people who can do server-side scripting to build tools like these, or to extend their capabilities with plug-ins, add-ons, or modules.

Wikipedia's List of Content Management Systems is organized by platform, which is the programming or scripting language that was used to develop the system.

Activities

Now that you've acquired an understanding of how websites are built and have developed skills in creating sites from scratch, consider what you'd like to do with your knowledge and skills. Would you like to further that knowledge by learning more HTML, CSS, and JavaScript? Would you like to embrace the new directions the Web is headed and learn more about how CMS's work? Would you like to learn one or more server-side scripting languages? If so, which ones? Would you like to take just the knowledge and skills you've acquired in this course and apply them toward creating a website for a real world client? If this is you're answer, you're in luck! You will now have an opportunity to do exactly that in Unit 8. But first, you still have one more lesson in the current unit.