TYPO3
Developer(s) | TYPO3 Association |
---|---|
Stable release | 4.7.1
/ 2012-05-22 [1] |
Repository | |
Operating system | Cross-platform |
Platform | PHP |
Type | Content management system |
License | GNU General Public License |
Website | typo3.org |
TYPO3 is a free and open source web content management framework based on PHP. It is released under the GNU General Public License. It can run on several web servers, such as Apache or IIS, on top of many operating systems, among them Linux, Microsoft Windows, FreeBSD, Mac OS X and OS/2.
History
TYPO3 was initially authored by Kasper Skårhøj in 1997.[2] It is now developed by two teams. The maintenance (versions 4.x and 6 and newer) tree's team leader is Oliver Hader. The development (version 5.x) tree's team leader is Robert Lemke.
More than 5000 extensions are available for TYPO3 for download under the GNU General Public License from a repository called the TYPO3 Extension Repository, or TER.[3]
Features
Delivered with a base set of interfaces, functions and modules, TYPO3's huge functionality spectrum is implemented by extensions.
A web based backend is used by authors and site administrators to manage content for the web site.
TYPO3 can run on most HTTP servers such as Apache or IIS on top of Linux, Microsoft Windows or Mac OS X. It uses PHP 5.3 or newer and any relational database supported by the TYPO3 DBAL including MySQL, Oracle, PostgreSQL, and others. Some 3rd-party extensions - not using the database API - support MySQL as the only database engine. The system can be run on any web server with a modern CPU and at least 256 MB RAM. The Backend can be displayed in any modern browser with JavaScript. There is no browser restriction for displaying user-oriented content generated by TYPO3.
Design
Conceptually, TYPO3 consists of two parts: the visitor-visible Frontend and the administrative Backend. The Frontend displays the web content. The Backend is responsible for administration and manipulating content.
TYPO3 defines various basic types of content data. Standard types include: text, image, text with image, HTML, table, video, lists, etc. These types can be extended through plugins. The most fundamental type is "page". Every element that can appear to the user belongs to a certain page. Pages are hierarchical. There are special page types; such as shortcuts (that show content from another page), mount points (that insert a part of the page tree at the mount point), external URL, and more.
The system uses a special configuration language called "TypoScript" to instruct the system to fetch data from the database, process this data and generate web content. Usually TypoScript is used to create the frontend output based on one or more HTML templates.
TYPO3 is almost completely pluggable and extensible. For example, TYPO3 can use several user authentication methods (such as RSA shared keys or OpenID) by installing extensions to the main system.
TYPO3 is a complex framework with a focus on high flexibility. There are various information sources for developers, such as:
- the official developer's resource: typo3.org
- the wiki: wiki.typo3.org
- the mailing lists: lists.typo3.org. Lists also have a Usenet interface and are readable with a newsreader.
TypoScript
The basic syntax is:
[objectpath].[attribute] [operator] [value]
Operators include:
- = assigns a value
- < copies an object
- =< inserts a reference to an object
- > deletes an object
Examples:
page.10 = TEXT page.10.value = Hello, world!
It must be noted that TypoScript is not a programming language, but a configuration language; that means, it is purely declarative. The following code will trigger no action in TYPO3 while it would cause item creation and removal in proper programming languages:
page.10 = TEXT page.10.value = Hello, world! page.10 >
In this example, a TypoScript object named "page.10" was created and immediately removed. When TYPO3 parses TypoScript, it will remove the object declaration of "page.10" before actually processing or creating objects.
TemplaVoila
TemplaVoila is a popular third-party template engine extension for TYPO3. It includes a graphical mapping tool for creating templates, an alternative page module, the ability to create flexible content elements and an API. New content element types can be created without programming.
TemplaVoila is more comfortable for maintaining web pages than TYPO3's standard TypoScript-based templating, while making it possible to enforce a strict corporate design and allowing editors to work with content more intuitively.
CLA for TYPO3 version 5
Starting with TYPO3 version 5, the TYPO3 Association asks all contributors of ideas, code, or documentation to the TYPO3 projects (including FLOW3) to complete, sign, and submit an individual Contributor License Agreement (CLA). Without a signed CLA on file, no (non-trivial) contributions can be accepted. Signing such an agreement is not necessary (but recommended) for contributions to the version 4 branch of TYPO3.[4]
For a corporation that has assigned employees to work on a TYPO3 project, a Corporate CLA (CCLA) is available for contributing intellectual property via the corporation, that may have been assigned as part of an employment agreement. Note that a Corporate CLA does not remove the need for every developer to sign their own CLA as an individual, to cover any of their contributions which are not owned by the corporation signing the CCLA.
In a nutshell the CLA[5] gives the TYPO3 Association non-exclusive, unlimited permission to use and distribute the contribution in any way, as long as it remains free (since the TYPO3 Association is bound to public benefit by its statutes, article 3[6]).
The requirement to sign a CLA is common. It is used by Zend Framework,[7] Apache,[8] YUI,[9] and OpenCms.[10] A nice explanation of why a CLA is a good idea can be found at OSS Watch[11]
See also
- Content management
- Content management system
- List of content management systems
- List of applications with iCalendar support
- TCPDF library for generating PDF documents with TYPO3
Further reading
- Rene Fritz, Daniel Hinderink, Werner Altmann – TYPO3: Enterprise Content Management (Paperback) – ISBN 1-904811-41-8
- Michael Peacock – Building Websites with TYPO3 (Paperback) – ISBN 1-84719-111-8
- Dan Osipov - TYPO3 4.3 Multimedia Cookbook (Paperback) - ISBN 978-1-84719-848-8
- Dmitry Dulepov – TYPO3 Extension Development (Paperback) – ISBN 978-1-84719-212-7
References
This article includes a list of general references, but it lacks sufficient corresponding inline citations. (July 2009) |
- ^ http://typo3.org/download/
- ^ "The History of TYPO3". The History of TYPO3. Retrieved 2012-04-11.
- ^ TYPO3 Extension Repository
- ^ TYPO3 Licences
- ^ TYPO3 Contributor License Agreement
- ^ [1]
- ^ Zend Framework CLA
- ^ Apache Foundation CLA
- ^ YUI CLA
- ^ OpenCms CLA
- ^ OSS Watch on CLAs
External links
- Official Website
- TYPO3 Forge - SVN Repository, Bugtracker, Documentation and Wiki for TYPO3 Core and Extensions
- TYPO3 Wiki
- 51 TYPO3 sites which you may not have known were TYPO3 based
- TYPO3 Videos for Editors (Series of 22 TYPO3 video tutorials to version 4.2) - supplemented by a TYPO3 test web site