TYPO3
TYPO3 CMS 7 backend | |
Original author(s) | Kasper Skårhøj |
---|---|
Developer(s) | TYPO3 Association |
Initial release | 1998 |
Stable release | 7 LTS (7.6.0) / November 10, 2015[1] |
Development status | Active |
Written in | PHP, SQL, JavaScript |
Platform | Cross-platform |
Size | 21.5 MB |
Available in | 51 languages |
Type | Content management framework, Content management system |
License | GNU General Public License |
Website |
typo3 |
TYPO3 is a free and open source web content management system written in 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.
TYPO3 is, along with Drupal, Joomla! and WordPress, among the most popular content management systems worldwide, however it is more widespread in Europe than in other regions. The biggest market share can be found in German-speaking countries.[2][3]
TYPO3 is credited to be highly flexible. It can be extended by new functions without writing any program code. Also, the software is available in more than 50 languages and has a built-in localization system, therefore supports publishing content in multiple languages. Due to its features, scalability and maturity, TYPO3 is used to build and manage websites of different types and size ranges, from small sites for individuals or nonprofit organizations to multilingual enterprise solutions for large corporations. According to the ability to support a corporate environment, it is classified as an enterprise level content management system.[4][5]
History and usage
TYPO3 was initially authored by the Dane Kasper Skårhøj in 1997.[6] It is now developed by over 300 contributors under the lead of Benjamin Mack (Core team leader) and Mathias Schreiber (Product Owner).[7]
Calculations from the TYPO3 Association show that it is currently used in more than 500,000 installations. The number of installations crawled by the public website "CMS Crawler" was around 270,000 by July 2013.[3][8]
Features
Delivered with a base set of interfaces, functions and modules, TYPO3's functionality spectrum is implemented by extensions. More than 5000 extensions are currently available for TYPO3 for download under the GNU General Public License from a repository called the TYPO3 Extension Repository, or TER.[9]
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.
System architecture
Conceptually, TYPO3 consists of two parts: the frontend, visible to visitors, and the administrative backend. The frontend displays the web content. The backend is responsible for administration and managing content. The core functions of TYPO3 include user privileges and user roles, timed display control of content (show/hide content elements), a search function for static and dynamic content, search-engine friendly URLs, an automatic sitemap, multi-language capability for frontend and backend, and more.
Like most modern CMSes, TYPO3 follows the policy of separation of content and layout: The website content is stored in a relational database, while the page templates are stored on the file system. Therefore, both can be managed and updated separately.
TYPO3 defines various basic types of content data. Standard content elements are described as text, text with media, images, (plain) HTML, video etc. Various additional types of content elements can be handled using extensions.
The fundamental content unit is a "page". Pages represent a URL in the frontend and are organized hierarchically in the backends' page tree. Standard pages serve as "containers" for one or multiple content elements. There are several additional special page types:
- shortcuts (they show content from another page)
- mount points (that insert a part of the page tree at the mount point)
- external URLs
- system folders (to handle complex data such as registered users)
- …and more
Internally, TYPO3 is managed by various PHP arrays. They contain all the information necessary to generate HTML code from the content stored in the database. This is achieved by a unique configuration language called TypoScript.
Design elements
Designing and developing with TYPO3 is commonly based on the following elements, among others:
- Page tree
- Representation of all pages of a site, their structure and properties
- Constants
- System-wide configuration parameters
- Template
- Traditionally, a simple HTML skeleton with markers (e.g., „###MARKER###“) and range markers, called subparts (e.g., „<!-- ###CONTENT### Start --> … <!-- ###CONTENT### End -->“); that are replaced by various content elements: navigation, text, graphics etc.) or serve as a subtemplate. Since TYPO3 4.3, the new template engine Fluid can be used.
- TypoScript
- see TypoScript
- Extensions
- Additional plug-ins to enable additional functions. See Extensions
- PHP
- As TYPO3 CMS is written in PHP, therefore most features can be modified or extended by experienced users. Mentionable here is the XCLASS mechanism, by which classes and methods can be overwritten and extended. If available, hooks are preferred.
TypoScript
TypoScript is a purely declarative configuration language. In Typoscript, configuration values are defined, which are parsed into a system-wide PHP array. TypoScript is object-based and organized in a tree-like structure.
TypoScript Template: The section associated with generating frontend output is called TypoScript Template. Its main use is to generate HTML code, possibly based on one or more HTML templates. The array controls the functions that, for example, are executed when the page is rendered in the frontend. Therefore, it enables developers to globally manage features and extensions for the entire website with just a few modifications. Simplified: By creating an object in TypoScript, the system is instructed to execute several PHP functions, which create the desired output.[10]
TSconfig: TypoScript also influences the backend and other aspects of a TYPO3 project. The TSconfig branch of the TypoScript tree consists of User TSconfig and Page TSconfig. It's built by the same syntax as the TypoScript Template described above.[11]
Basic syntax:
[objectpath].[attribute] [operator] [value]
Operators include:
- = assign a value
- < copy an object
- =< insert a reference to an object
- > delete an object
Example:
In order to create any output at all, at least a PAGE-object has to be defined. Using the following code will render the text "Hello World" in the frontend, wrapped in <h2> HTML tags:
page = PAGE
page.10 = TEXT
page.10.value = Hello, world!
page.10.stdWrap.wrap = <h2>|</h2>
Output:
<h2>Hello, world!</h2>
Other important TypoScript objects are CONTENT (get content from the database) and TEMPLATE (render a HTML template).[12]
Extensions
Extensions are the cornerstone in the internal architecture of TYPO3. A feature that was introduced with version 3.5 in 2003 is the Extension Manager, a control center managing all TYPO3 extensions. The division between the TYPO3 core and the extensions is an important concept which determined the development of TYPO3 in the past years. Extensions are designed in a way so they can supplement the core seamlessly. This means that a TYPO3 system will appear as a unit while actually being composed of the core application and a set of extensions providing various features.[13]
They can be downloaded from the online repository (TER) directly from the backend, and are installed and updated with a few clicks. Every extension is identified by a unique extension key (for example, tt_news). Also, developers can share new or modified extensions by uploading them to the repository.[9]
Examples for popular extensions:
- News (extension key: news): Website news with front page teasers and article handling
- RealURL (extension key: realurl): Creates SEO-friendly URLs, "pretty" URLs
- PowerMail (extension key: powermail): Powermail is a mailform extension with a lots of features (spam prevention, marketing information, optin, ajax submit, diagram analysis, etc...)
- Front End User Registration (extension key: sr_feuser_register): A self-registration system for website users
- Direct Mail (extension key: direct_mail): Newsletter mailer system with options for personalized mails and feedback statistics
Generally, extensions are written in PHP. The full command set of PHP 5.3 can be used (regarded the system requirements of the specific TYPO3 version), but TYPO3 also provides several library classes for better efficiency: Best known and most used is the piBase library class. With introduction of TYPO3 4.3 in 2009, piBase has been replaced (or extended) by the Extbase library, which is a modern, MVC-based development framework. To ensure backwards compatibility, both libraries can be used in the same TYPO3 installation. Extbase itself is a backport of some features of FLOW3, a general web application framework.[14]
Releases
Version history
Legend: | Old version | Older version, still supported | Current version | Future release |
---|
Branch | Version [15] | Release date | Major changes |
---|---|---|---|
3.x | |||
3.0 | 2001 |
| |
3.2 | May 2002 |
| |
3.3 | 3 June 2002 |
| |
3.5 | 18 February 2003 |
| |
3.6 | 30 April 2004 | ||
3.7 | 24 September 2004 |
| |
3.8 | 23 May 2005 |
| |
3.8.1 | 14 November 2005 |
| |
4.x | 4.0 | 7 April 2006 |
|
4.1 | 6 March 2007 | ||
4.2 | 24 May 2008 |
| |
4.3 | 30 November 2009 |
| |
4.4 | 22 June 2010 |
| |
4.5 LTS | 26 January 2011 |
| |
4.6 | 25 October 2011 | ||
4.7 | 24 April 2012 | ||
6.x | 6.0 | 27 November 2012[48] | |
6.1 | 30 April 2013 | ||
6.2 LTS | 25 March 2014[54] |
| |
7.x | 7.0 | 02. December 2014 |
|
7.4 | 04. August 2015 |
| |
7.5 | 29. September 2015 |
| |
7 LTS (7.6) | 10. November 2015 |
| |
8.x | 8.0 | March 2016 |
|
8.1 | 3. May 2015 |
|
Neos
A completely rewritten version (code-named "Phoenix") was originally planned as TYPO3 version 5.0. While working on this new release and analyzing the 10-year history and complexity of TYPO3 v4, the TYPO3 community decided to branch out version 5 as a completely separate product, one that wouldn't replace version 4 in the near future and as such needed to have its own name. Published as FLOW3, it along with various other packages then served as the basis for the start of development of project Phoenix.[57]
In September 2012, the TYPO3 developers decided on the name for the new product, "TYPO3 Neos".[58] With TYPO3 Neos 1.0 alpha1, a public test version was released in late 2012.[59][60] In May 2015 the TYPO3 Association and the Neos team decided to go separate ways, with TYPO3 CMS remaining the only CMS product endorsed by the Association and the Neos team publishing Neos as a stand-alone CMS without any connection to the TYPO3 world. [61]
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
- Pages in category TYPO3
Further reading
- Michael Peacock – Building Websites with TYPO3 (Paperback) – ISBN 1-84719-111-8
- Michael Schams, Patrick Lobacher - TYPO3 Extbase: Modern Extension Development for TYPO3 CMS with Extbase & Fluid (Paberback) - ISBN 1-53053-417-8
- Rene Fritz, Daniel Hinderink, Werner Altmann – TYPO3: Enterprise Content Management (Paperback) – ISBN 1-904811-41-8
References
- 1 2 "Download". TYPO3 - The Enterprise Open Source CMS.
- ↑ "Distribution of Content Management Systems among websites that use German". w3techs.com.
- 1 2 "TYPO3". cmscrawler.com.
- ↑ TYPO3 - The Enterprise CMS
- ↑ Hinderink e.a., Werner Altmann; René Fritz; Daniel (2005). TYPO3 : enterprise content management (1. ed.). Birmingham [u.a.]: Packt Publ. ISBN 1-904811-41-8.
- ↑ "The History of TYPO3". The History of TYPO3. Retrieved 2012-04-11.
- ↑ "TYPO3 Core development".
- ↑ "TYPO3 in numbers". TYPO3 - The Enterprise Open Source CMS.
- 1 2 "Extension Repository". TYPO3 - The Enterprise Open Source CMS.
- ↑ "TypoScript Templates". TYPO3 Core & Documentation Team. Retrieved 2 August 2012.
- ↑ "TSconfig Reference". typo3.org.
- ↑ "TypoScript - a quick overview". TYPO3 Wiki.
- ↑ "What are extensions?". TYPO3 - The Enterprise Open Source CMS.
- ↑ Official Extbase MVC Framework Documentation
- 1 2 3 4 5 http://typo3.org/download/ Information on support cycles of TYPO3 versions
- ↑ Installation manual for TYPO3 3.0
- ↑ Installation manual for TYPO3 3.0 w/ Screenshots of version 3.2
- ↑ "TYPO3". sourceforge.net.
- ↑ Source code of all newer versions with release dates
- ↑ Jo Bager (3 May 2004). "Typo3 3.6.0 fertig gestellt". heise online.
- ↑ "Category:ReleaseNotes/TYPO3 3.8.x". typo3.org.
- ↑ release notes for TYPO3 3.8.1
- 1 2 http://typo3.org/news/article/support-for-typo3-40-is-officially-over/ End of life of TYPO3 4.0
- ↑ "TYPO3 4.0". typo3.org.
- ↑ "Inline Relational Record Editing". TYPO3 Wiki.
- ↑ "TYPO3 4.1". typo3.org.
- ↑ "TYPO3 4.2". typo3.org.
- ↑ release notes for TYPO3 4.3
- ↑ release notes for TYPO3 4.4
- ↑ t3n Redaktion. "TYPO3 4.4: TYPO3 wird einsteigerfreundlicher, schöner, schneller – Hier die wichtigsten Neuerungen". t3n Magazin (in German).
- 1 2 3 "TYPO3 Roadmap".
- ↑ "4.5 LTS support extended because of 6.2 final release postponed, since they have promised to keep the LTS overlapping period 12 months.".
- ↑ "Announcing TYPO3 CMS 4.5 Extended Long-Term-Support Plans". typo3.org.
- ↑ "TYPO3 450alpha3 - TYPO3 4.5 Projects - TYPO3 Forge". typo3.org.
- ↑ "Overview - TYPO3 4.5 Projects - TYPO3 Forge". typo3.org.
- ↑ "buzz.typo3.org: TYPO3 4.5 will be the most secure TYPO3 version ever.". typo3.org.
- ↑ Ernesto Baschny. "TYPO3 4.5 LTS Status Report T3CON10". slideshare.net.
- ↑ Ernesto Baschny. "TYPO3 4.5 Kick-Off Presentation #t3dd10". slideshare.net.
- ↑ TYPO3 4.6 release date rec. 6. October 2012
- 1 2 "Login". TYPO3 - The Enterprise Open Source CMS.
- ↑ "Login". TYPO3 - The Enterprise Open Source CMS.
- ↑ typo3.org: A Brief Introduction to TYPO3 version 4.6
- ↑ TYPO3 Receives German Governmental Funding for Accessibility and Usability Project, rec. 27 Juli 2011
- ↑ "Feature #12664: Idea about faster loading modules - Core - TYPO3 Forge". typo3.org.
- ↑ "Wiki - TYPO3 4.7 Projects - TYPO3 Forge". typo3.org.
- ↑ "TYPO3 4.7 release notes".
- ↑ "Home: TYPO3 Government Package". typo3.org.
- ↑ http://typo3.org/news/article/typo3-60-release-schedule/
- ↑ "Development Report: File Abstraction Layer". TYPO3 - The Enterprise Open Source CMS.
- ↑ TYPO3 6.0 Release Timeline - typo3.org
- ↑ "TYPO3 6.0 - Back to the Future". TYPO3 - The Enterprise Open Source CMS.
- 1 2 "The TYPO3 Core Team is giving a short summary about the upcoming releases of TYPO3.". TYPO3 - The Enterprise Open Source CMS.
- ↑ "Feature #43703: Add a task to auto update languages - Core - TYPO3 Forge". typo3.org.
- ↑ "New release plan for 6.2 LTS". Retrieved 8 December 2013.
- 1 2 http://typo3.org/news/article/retaining-compatibility-to-typo3-cms6/
- ↑ https://typo3.org/news/article/typo3-v81-tightening-the-screws/. Missing or empty
|title=
(help) - ↑ "The TYPO3 Core Team is giving a short summary about the upcoming releases of TYPO3".
- ↑ Dambekalns, Karsten. "TYPO3 Neos and Flow - September 2012". TYPO3 Associtiation. Retrieved 12 October 2012.
- ↑ "TYPO3 Neos Alpha Releases". TYPO3 Association. Retrieved 9 May 2013.
- ↑ "Change Log Neos 1.0.0 alpha2". TYPO3 Association. Retrieved 9 May 2013.
- ↑ "Neos and TYPO3 split".
External links
Wikimedia Commons has media related to TYPO3. |
- Official website
- Template:Official developer website
- TYPO3 Forge - Git Repositories, SVN Repositories, Bugtracker, Documentation and Wiki for the TYPO3 Core and Extensions
- TYPO3 Wiki
- TYPO3 References Blog
- TYPO3 Videos for Editors (Series of 22 TYPO3 video tutorials to version 4.2) - supplemented by a TYPO3 test website