TYPO3
{{Short description|Web content management framework}}
{{Redirect-distinguish|TypoScript|TypeScript}}
{{Split|Neos (content management)|date=March 2021|discuss=Talk:TYPO3#Splitting proposal}}
{{Promotional|date=April 2020}}
{{Infobox software
| name = TYPO3
| logo = Logo TYPO3.svg
| logo caption = Logo of TYPO3
| logo alt =
| logo size = 200px
| screenshot = TYPO3 10.4.21 Backend.png
| screenshot size = 250px
| screenshot alt = Screenshot of the back end of TYPO3 10.4.21
| caption = TYPO3 CMS 10.4 back end
| collapsible =
| author = Kasper Skårhøj
| developer = TYPO3 Association
| released = {{Start date and age|1998}}
| latest release version = {{TYPO3 version}}
| latest release date = {{TYPO3 version|releasedate}}
| latest preview version =
| latest preview date =
| programming language = PHP, SQL, JavaScript
| operating system = Windows, Linux, FreeBSD, macOS, OS/2
| size = 18.5 MB
| language = 51 languages
| genre = Content management framework, content management system
| license = GNU General Public License version 2
| website = {{URL|typo3.org}}
}}
TYPO3 is a web content management system (CMS) written in the programming language PHP. It is free and open-source software released under the GNU General Public License version 2.
TYPO3 is similar to other content management systems such as Drupal, Joomla!, and WordPress. It is used more widely in Europe than in other regions, with a larger market share in German-speaking countries, the Netherlands, and France.{{cite web|url=http://w3techs.com/technologies/segmentation/cl-de-/content_management|title=Distribution of Content Management Systems among websites that use German|work=w3techs.com}}{{cite web|url=http://www.cmscrawler.com/tool/TYPO3|title=TYPO3|work=cmscrawler.com}}{{cite web|url=https://nitsantech.de/en/blog/typo3|title=What is TYPO3|work=nitsantech.de}}
TYPO3 was acknowledged as a Digital Public Good by the Digital Public Goods Alliance in April of 2025.{{Cite web |title=TYPO3 - DPGA Details |url=https://www.digitalpublicgoods.net/r/typo3 |access-date=2025-05-06 |website=app.digitalpublicgoods.net }}
TYPO3 allows for the separate maintenance of code and content. It can be extended with new functions without writing any program code. TYPO3 supports publishing content in multiple languages due to its built-in localization system.
History and usage
TYPO3 was initially authored by Kasper Skårhøj in 1997.{{cite web |url=http://typo3.org/about/typo3-the-cms/the-history-of-typo3/ |title=The History of TYPO3 |access-date=2012-04-11 |archive-date=2012-04-06 |archive-url=https://web.archive.org/web/20120406151613/http://typo3.org/about/typo3-the-cms/the-history-of-typo3/ |url-status=dead }} It is now developed by over 300 contributors under the lead of Benjamin Mack.{{cite web|url=https://typo3.org/teams-committees/core-development/|title=TYPO3 Core development}}
Calculations from the TYPO3 Association show that it is currently used in more than 500,000 installations. The number of installations detected by the public website "CMS Crawler" was around 384,000 in February 2017.{{cite web|url=http://typo3.org/home/typo3-in-numbers/|archive-url=https://web.archive.org/web/20120404151623/http://typo3.org/home/typo3-in-numbers|url-status=dead|archive-date=2012-04-04|title=TYPO3 in numbers|work=TYPO3{{dash}}The Enterprise Open Source CMS}}
Features
TYPO3 provides a base set of interfaces, functions and modules. Most functionality exceeding the base set can be implemented via the use of 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.{{cite web|url=http://typo3.org/extensions/|archive-url=https://web.archive.org/web/20040429131854/http://typo3.org/extensions/|url-status=dead|archive-date=2004-04-29|title=Extension Repository|work=TYPO3{{dash}}The Enterprise Open Source CMS}}
=Compatibility=
TYPO3 is able to run on most HTTP servers such as Apache, Nginx and IIS on top of Linux, Microsoft Windows, FreeBSD, macOS, and OS/2. It uses PHP 7.2 or newer{{Cite web |last=Böhm |first=Julian |date=25 June 2020 |title=What Versions of TYPO3 Run on Which Versions of PHP? |url=https://typo3.com/blog/what-versions-of-typo3-run-on-which-versions-of-php |website=TYPO3 Blog}} and any relational database supported by the TYPO3 DBAL including MySQL/MariaDB, PostgreSQL, and SQLite.{{Cite web |title=Download TYPO3{{dash}}get.typo3.org |url=https://get.typo3.org/ |access-date=2020-12-02 |website=get.typo3.org}} Some 3rd-party extensions {{En dash}} not using the database API {{En dash}} support MySQL as the only database engine. The system can be run on any web server with at least 256 MB RAM and a CPU appropriate for that RAM.
The back end can be displayed in any modern browser with JavaScript. There is no browser restriction for displaying user-oriented content generated by TYPO3. A developer setting up a website with TYPO3 would need to work intensively with the Domain-specific language Typoscript.{{Cite web|title=Configuration overview — TYPO3 Explained main documentation|url=https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Configuration/ConfigurationOverview.html|access-date=2022-01-24|website=docs.typo3.org|language=en}}
=System architecture=
Conceptually, TYPO3 consists of two parts: the front end, visible to visitors, and the administrative back end. The front end displays the web content. The back end 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 front and back ends, and more.
Like most modern CMS's, 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 added types of content elements can be handled using extensions.
The fundamental content unit is a "page". Pages represent a URL in the front end and are organized hierarchically in the back end's page tree. Standard pages serve as "containers" for one or multiple content elements. There are several added special page types, including:
- 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)
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
: Since TYPO3 6, the system runs on the templating engine Fluid. Fluid combines HTML markup with conditions and control structures. It can be extended by custom view helpers written in PHP.
: Until version 4.3, an HTML skeleton was used, with markers (e.g., ###MARKER###
) and range markers, called subparts (e.g., <!-- ###CONTENT### Start --> … <!-- ###CONTENT### End -->
); that were replaced by various content elements or served as a sub template. This template system can still be found in older extensions or installations.
; 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.
; Extensions
: Added plug-ins to enable more functions. See Extensions.
; PHP
: TYPO3 CMS is written in PHP. Thus, most features can be modified or extended by experienced users. For example, the XCLASS mechanism allows classes and methods to be overwritten and extended.
=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{{Cite web |last=Hahnefeld |first=Bjoern |date=2007-02-04 |title=TYPO3 Example |url=https://www.ttproducts.de/ |url-status=live |archive-url=https://web.archive.org/web/20070503040233/https://www.ttproducts.de/ |archive-date=2007-05-03 |access-date=2024-05-03 |website=ttproducts.de}} 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.{{cite web|url=http://typo3.org/extensions/what-are-extensions/|title=What are extensions?|work=TYPO3{{dash}}The Enterprise Open Source CMS}}
File:TYPO3 system architecture.png
They can be downloaded from the online repository (TER) directly from the back end, 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.
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, model–view–controller (MVC) based development framework. To ensure backward compatibility, both libraries can be used in the same TYPO3 installation. Extbase is a backport of some features of FLOW3, renamed Neos Flow, a general web application framework.[http://forge.typo3.org/projects/typo3v4-mvc Official Extbase MVC Framework Documentation]
Notable projects
Several companies and organizations base their web or intranet sites on TYPO3. The majority are based in German-speaking countries, such as the state of Saxony-Anhalt, the German Green Party, the University of Lucerne (Switzerland), the University of Vienna (Austria) and Technische Universität Berlin.{{cite web |url=https://www.tu.berlin/en/website/typo3-handbuch/how-to-get-a-website |title=Using the TYPO3 web design kit or how to get a TYPO3-website |website=tu.berlin |access-date=2024-09-28}} International organizations running one or more TYPO3 sites are: Airbus, Konica-Minolta, Leica Microsystems, Air France, Greenpeace, and Meda (Sweden).{{cite web|title=TYPO3 case studies|url=https://typo3.org/typo3-cms/case-studies/|website=typo3.org|access-date=9 February 2017}}{{cite web|title=Recently added sites|url=https://www.t3blog.com/typo3_websites/tags/global.html|website=TYPO3 Reference Blog|access-date=9 February 2017}}{{cite web|title=Case studies|url=https://typo3.com/case-studies/|website=typo3.com}}
Releases
=Version history=
{{Version |l |show=111101}}
=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, now renamed Neos Flow, it along with various other packages then served as the basis for the start of development of project Phoenix.{{cite web|title=The TYPO3 Core Team is giving a short summary about the upcoming releases of TYPO3|date=3 March 2012 |url=http://typo3.org/news/article/the-typo3-core-team-is-giving-a-short-summary-about-the-upcoming-releases-of-typo3/}}
In September 2012, the TYPO3 developers decided on the name for the new product, "TYPO3 Neos".{{cite web|last=Dambekalns|first=Karsten|title=TYPO3 Neos and Flow{{dash}}September 2012|date=10 October 2012 |url=http://typo3.org/news/article/typo3-neos-and-flow-september-2012/|publisher=TYPO3 Association|access-date=12 October 2012}} With TYPO3 Neos 1.0 alpha1, a public test version was released in late 2012.{{cite web|title=TYPO3 Neos Alpha Releases|url=http://neos.typo3.org/download.html|publisher=TYPO3 Association|access-date=9 May 2013}}{{cite web|title=Change Log Neos 1.0.0 alpha2|url=http://neos.typo3.org/download/changes/100-alpha2.html|publisher=TYPO3 Association|access-date=9 May 2013}} 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.{{cite web|url=https://typo3.org/news/article/typo3-project-focuses-on-typo3-cms-neos-to-start-its-own-community/|title=Neos and TYPO3 split|date=18 May 2015}}
In January 2017, Neos 3.0 has been published, along with a new version of Flow framework and a name change of its configuration language from TypoScript2 to Fusion.{{cite web|title=Neos 3.0 and Flow 4.0 Released|url=https://www.neos.io/blog/neos-30-and-flow-40-released.html|website=neos.io|date=30 January 2017 |access-date=9 February 2017}}
See also
{{Portal|Free and open-source software}}
{{div col|colwidth=30em}}
- Content management
- Content management system
- List of content management systems
- TCPDF library for generating PDF documents with TYPO3
- Pages in category TYPO3
{{div col end}}
References
{{Reflist|30em}}
Further reading
- Michael Peacock – Building Websites with TYPO3 (Paperback) – {{ISBN|1-84719-111-8}}
- Michael Schams, Patrick Lobacher{{dash}}TYPO3 Extbase: Modern Extension Development for TYPO3 CMS with Extbase & Fluid (Paberback){{dash}}{{ISBN|1-53053-417-8}}
- Rene Fritz, Daniel Hinderink, Werner Altmann – TYPO3: Enterprise Content Management (Paperback) – {{ISBN|1-904811-41-8}}
External links
{{Commons category}}
- {{Official website|https://typo3.org|Official Developer Resources}}
- {{Official website|https://typo3.com}}
- [https://forge.typo3.org TYPO3 Forge{{dash}}Git Repositories, SVN Repositories, Bugtracker, Documentation and Wiki for the TYPO3 Core and Extensions]
- [https://wiki.typo3.org TYPO3 Wiki]
- [https://web.archive.org/web/20170318122433/https://www.t3blog.com/ TYPO3 References Blog]
- [https://web.archive.org/web/20091124033102/http://typo3.org/documentation/videos/ TYPO3 Videos for Editors] (Series of 22 TYPO3 video tutorials to version 4.2){{dash}}supplemented by a [http://www.typo3-test.org/#c134 TYPO3 test website]
{{Web frameworks}}
Category:Free content management systems
Category:Content management systems