Welcome to Building Websites with TYPO3! In the course of this book we are going to take a look at TYPO3 and use it to build and manage a website. We will install the software, get an overview of its back-end features, set up our website, look at the front-end features, manage our website and its users, and also expand our website and its features with extensions.
In this chapter we will learn:
What a CMS is
What TYPO3 is
What TYPO3 can do for us
What some of its features are
What other resources are available to TYPO3 users
A Content Management System (CMS) is a system that allows users to collaborate to create and manage content for their website. These systems can range from applications installed on your computer—which link into your website to allow you to manage it—to web-based applications, which run on your web server and allow all aspects of the website to be managed directly from the website.
Content management systems are one of the common methods for creating and managing content on the Internet and on intranets, especially in environments where there is more than one person working on the content, or where there is a lot of content involved.
These systems generally give users the ability to:
With a CMS, content and design are kept separate, which means that the design of a website can completely change and it will have no impact on the content of the website. This is quite an important feature as it means that the design need only be changed once, and not across each page of the website. This makes it easy for websites of any size to easily and quickly change their design. Also, it protects the design, as content editors do not need to integrate design into their content, which could cause problems, for instance if the content editors do not know HTML.
TYPO3 is a free, open-source, enterprise-level content management system originally created by Kasper Skårhøj (a developer from Denmark) in 2000. It is a web-based application that we can run on a web server of our choice. The features that make up TYPO3 are modularized, separating all of the main sections and functions.
TYPO3 is released under the GNU (General Public License). This means that:
We are free to modify the source code of TYPO3 for whatever purpose we need.
We save money on software, and so we can focus on customization.
It is open source, so security vulnerabilities are more likely to be spotted and quickly patched.
The down side to the license is that the software comes with no warranty. Full details on the license can be found here: http://www.fsf.org/licensing/licenses/gpl.html.
With TYPO3 we can quickly and easily create and manage our website's content. New sections can be quickly added and changed easily. Different people can have permissions to edit different sections thereby improving productivity and enhancing collaboration in an easy-to-use web-based environment.
We can control what other back-end users can and cannot access, so that content editors only get access to the content editing tools, and they can use these tools only on the content sections they are allowed to edit. Content changes are versioned, so we can see what changes have been made, and revert to a previous version if necessary.
We can have draft versions of pages, so we could work on improving a page or amending details, and have the content ready for when it needs to be live on the website (when it can be snapped in to replace the existing content at the click of a button). In addition to different versions of content, TYPO3 also allows us to manage different translations of content, providing our visitors with a seamless multilingual site (provided we have editors who can translate our content of course!).
TYPO3 can let us quickly add whole new features to our website using extensions through an interface known as the extension manager. This allows us to add features such as guest books, support forums, or voting polls at the click of a button, without needing to install and manage another software application.
Content can be managed easily through familiar-looking rich-text editors and TYPO3's intuitive user interface.
We can even manage multiple websites and domains through the same TYPO3 installation. This is very useful if we have a small business site with different domains for different products or services.
If we are trying to edit the same section or content that someone else is editing, TYPO3 warns us of this and prevents us overriding content that has not yet been submitted.
All of this can be going on while visitors are still viewing the website!
TYPO3 has a huge list of features—too many to fully list here; the full list can be found on the TYPO3 website http://typo3.com/Feature_list.1243.0.html.
Naturally with TYPO3 being a content management system, this is where most of its features lie:
Create, edit, and manage web pages
Create, edit, and manage individual content items
A clipboard to copy pages and elements to, in order to paste into different sections later
Versioning to control changes, and multiple changes
Workspace and drafts, to create drafts of pages that don't take effect until ready
Time-controlled pages and content, i.e. content and pages that are only active between a start date and an end date
TYPO3 is a very community-built system. There are a great number of resources available to help us, and also, to expand and enhance TYPO3.
The typo3.org website is the main resource for TYPO3 users. On this site we have:
Mailing Lists
Mailing List Archives
The facility to ask developers directly
IRC chat
Documentation
Bug reports
Videos
The documentation section of the typo3.org website, http://typo3.org/documentation/, contains a huge amount of documentation; there are guides to installing, getting started, templates, and TypoScript.
There is also a large number of videos available, mostly created by Kasper, showing how to use many of the features of TYPO3: http://typo3.org/documentation/videos/wmv-format/. These videos are a little old, and in some cases may be using slightly older versions of the software, but they are still useful in most cases.
This is an incredibly useful resource on the website. The mailing list archives, http://lists.netfielders.de/pipermail/typo3-english, are full of requests, questions and support that have already been responded to. If the archives don't have what you're looking for, then there are the active lists. There is a list for almost every possible aspect of TYPO3, from a community snowboarding tour to extension development, or just the English users' mailing list. The lists are available at http://lists.netfielders.de/pipermail/typo3-english.
TYPO3 is very extensible. Huge features and capabilities can be added at the click of a button. These extensions are created by the TYPO3 community members and are mostly accessible through the internal extension manager of TYPO3 itself. All extensions are available on the extension page, http://typo3.org/extensions/, and documentation for individual extensions is available with the extension itself.
Extensions have a varying degree of stability. Some extensions are completely stable and safe to use while others have not been completely tested and may contain bugs, such as alpha and beta versions of extensions.
There is also documentation on the website for creating extensions, along with coding guidelines and naming conventions.
Although TYPO3 is free, it relies heavily on sponsorship and donations. The involvement of Kasper and some of the team depends on if they can afford to focus time on the project. A number of large features, such as the Database Abstraction Layer, are commercially sponsored. Companies who wish to use TYPO3 and a particular undeveloped feature fund its development. Since they will be using it in a commercial environment, it seems fair to give something back.
In a similar respect, the TYPO3 community believes that those who use TYPO3 and earn money from such use (such as web developers using TYPO3 to power a client's website) should donate a percentage of their profits to TYPO3.
Throughout this book we are going to use our constantly expanding knowledge of TYPO3 to create a website of our own. We will create a point-of-presence (POP) site for a small business. This will allow us to explore a lot of the features within TYPO3 and to expand our site later.
The website that we are going to develop is for a small fictional electronic goods shop, 'Durham Electrics'. The site will contain the following:
Basic information about the business
Contact details and an online contact form
Search facilities
List of products and services
A dedicated area for customers, with some generic information for customers and support information
Because the shop stocks a large range of products the owners have divided their products and services into sections.
An AV section specializing in MP3 players, stereos, televisions, etc.; a computer section specializing in computers, software, and accessories; and a services section, providing in-store repairs and service agreements with products sold.
Each section has a manager who will need to be able to access, edit, and manage his or her own section's content. Trainee staff members will need to be able to edit content only in their appropriate sections (but they will be able to edit only draft versions), and their changes will need to be approved by the section manager.
These are all things that TYPO3 can manage easily. We may decide later to expand on our customer area by adding extensions to provide more interactive sections such as a discussion forum for customers or customer support or a poll system to suggest improvements for the business.
In this chapter, we have looked at what a CMS is, what TYPO3 is, and how it can help us. We also saw that typo3.org really has all of the resources we could ever need.
We have decided on a project site to create during the course of this book to help us apply our ever growing knowledge of TYPO3. Now it's time to install TYPO3 for ourselves and see what it has to offer in action!