TYPO3 explained

TYPO3
Logo Caption:Logo of TYPO3
Logo Size:200px
Screenshot Size:250px
Screenshot Alt:Screenshot of the backend of TYPO3 10.4.21
Author:Kasper Skårhøj
Developer:TYPO3 Association
Programming Language:PHP, SQL, JavaScript
Operating System:Windows, Linux, FreeBSD, macOS, OS/2
Platform:IA-32, x86-64
Size:18.5 MB
Language:51 languages
Genre:Content management framework, content management system
License:GNU General Public License version 2

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.[1] [2]

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 the Dane Kasper Skårhøj in 1997.[3] It is now developed by over 300 contributors under the lead of Benjamin Mack.[4]

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.[2] [5]

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.[6]

Compatibility

TYPO3 is able to run on most HTTP servers such as Apache, Nginx or IIS on top of Linux, Microsoft Windows, FreeBSD, macOS, and OS/2. It uses PHP 7.2 or newer[7] and any relational database supported by the TYPO3 DBAL including MySQL/MariaDB, PostgreSQL, and SQLite.[8] 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 at least 256 MB RAM and a CPU appropriate for that 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. A developer setting up a website with TYPO3 would need to work intensively with the Domain-specific language Typoscript.[9]

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 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 frontend and are organized hierarchically in the backend's page tree. Standard pages serve as "containers" for one or multiple content elements. There are several added special page types, including:

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[10] 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.[11]

    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.[6]

    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.[12]

    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]]. International organizations running one or more TYPO3 sites are: Airbus, Konica-Minolta, Leica Microsystems, Air France, Greenpeace, and Meda (Sweden).[13] [14] [15]

    Releases

    Version history

    BranchVersion [16] Release dateMajor changes
    3.x
    2001
    • First public release[17]
    17 May 2002
    • Several bug fixes[18]
    3 June 2002
    18 February 2003
    • Several bug fixes
    • Introducing the Extension Manager users can now write their own extension modules
    30 April 2004
    24 September 2004
    • Simplified content-localisation
    • Extended permission system
    • Renewed TypoScript-Engine
    23 May 2005
    • Multi-language ability for the backend (introducing language packs)
    • GraphicsMagick support
    • Improved frontend search[22]
    14 November 2005
    • Several bug fixes and security improvements[23]
    4.x7 April 2006
    6 March 2007
    • Improved page tree with Ajax
    • Introducing Inline Relational Record Editing (IRRE)[26]
    • Improved UTF-8 support and enabling of InnoDB features
    • Current version: 4.1.15[27]
    24 May 2008
    • Many GUI improvements in the backend, including AJAX features, extended features of the text editor
    • Improvement of frontend login and extension update process
    • Current version: 4.2.17[28]
    30 November 2009
    • Modified frontend editing
    • Flash uploader and recycle bin for the backend
    • New system reports & system scheduler
    • Introducing the new caching framework
    • Security improvements with Salt (cryptography) & RSA
    • Integration of Extbase & Fluid features
    • Current version: 4.3.14[29]
    22 June 2010
    • Full backend redesign incl. performance improvements
    • Simplified installation, first Introduction Package a complete website template
    • CSS and JavaScript compression, HTML5 support in frontend
    • Current version: 4.4.15[30] [31]
    26 January 2011
    • First release with long-term support (LTS), until March 2015,[32] [33] incl. support of IE6
    • Extended long-term support (chargeable), until March 2016[34]
    • UTF-8 as default charset and HTML5 in backend[35]
    • Refurbished backend forms and extension manager
    • Integrated protection against CSRF
    • Current version: 4.5.40[36] [37] [38] [39] [40]
    25 October 2011
    • Internationalization with XLIFF
    • New website form content element
    • Security & performance improvements
    • Current version: 4.6.15[41] [42] [43]
    24 April 2012
    • Complete accessibility for new installations acc. to WCAG[44]
    • Introducing new HTML5 elements like
    • Introducing the Government Package
    • Current version: 4.7.19[46] [47] [48]
    6.x27 November 2012[49]
    30 April 2013
    • Automatic updates for the Core and for translations, e.a.[53] [54]
    • Latest version: 6.1.11
    25 March 2014[55]
    • Second release with Long Term Support (LTS), until April 2017
    • File Abstraction Layer (FAL) re-worked
    • Install Tool re-written and Distribution Management added
    • Responsive image rendering and mobile device preview
    • New documentation module added
    • Enhanced security features
    • Latest version: 6.2.47
    7.x2 December 2014
    • general code cleanup, speed improvements through outsourcing of an old compatibility layer, refresh of the visual appearance of the backend.[56]
    4 August 2015
    • Backend Overhaul Vol 2
    29 September 2015
    • general code base improvements, Backend Overhaul Vol 3
    10 November 2015
    • Third release with Long Term Support (LTS), support until November 2018
    8.x22 March 2016
    • general code cleanup, speed improvements through outsourcing of the old compatibility layer, refresh of the visual appearance of the backend. Usage of performance improvements through PHP7 requirement.
    3 May 2016
    • Most notable: Doctrine integration, UX rework of workspace module, general cleanup.[57]
    5 July 2016
    • Ogg, flac and opus media support
    • Removed support for compatibility6 extension.[58]
    30 August 2016
    • Doctrine DBAL migration
    • Tree rendering with SVGs
    • Unified linking syntax
    • PHP 7.1 support[59]
    18 October 2016
    • Mobile backend
    • Documentation API
    • Easier migrations
    • Access flexform values by TypoScript.[60]
    20 December 2016
    • New form framework,
    • Integration of CKEditor [61]
    14 February 2017
    • Improvements in frontend editing.[62]
    4 April 2017
    • Long Term Support Release (LTS), bug fixes for 18 months, security support for 36 months, until March 2020.
    9.x12 December 2017
    • First of five sprint releases to 9.x LTS. Refactored Install Tool into System Maintenance Area. New Page Tree user interface. New page translations.
    30 January 2018
    • Custom handling of URL redirects.
    10 April 2018
    • New Site module for configuring separate websites and languages in a multi-site project.[63]
    12 June 2018
    • Additional SEO extension.[64]
    4 September 2018
    • URL Routing for pages "Speaking URLs for Routing", XML Sitemap.[65]
    2 October 2018
    • Long Term Support Release (LTS), bug fixes for 18 months, security support for 36 months, until September 2021.[66]
    10.x23 July 2019
    1 October 2019
    3 December 2019
    25 February 2020
    21 April 2020
    • Long Term Support Release (LTS), fully supported for 1.5 years, security and critical fixes until April 2023.[67]
    11.x22 December 2020Support PHP 7.4 and 8.0 / MySQL 5.7+ / MariaDB / Postgres / SQLite
    23 February 2021
    4 May 2021
    13 July 2021
    7 September 2021
    5 October 2021Long Term Support Release (LTS), fully supported for 3 years until October 2024.[68]
    12.x4 October 2022First release of TYPO3 12.0[69]
    6 December 2022Interoperability with third-party systems[70]
    7 February 2023Improved Backend UI[71]
    28 March 2023Last-Minute Features[72]
    25 April 2023Long Term Support Version with 3 years of official security and maintenance support[73]
    13.x30 January 2024First release of TYPO3 13.0 with breaking changes and new system requirements[74]
    13.123 April 2024Reusable components for creating new sites
    13.22 July 2024Content blocks and new APIs for integrations
    13.317 September 2024Feature freeze
    13.415 October 2024LTS-release

    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.[75]

    In September 2012, the TYPO3 developers decided on the name for the new product, "TYPO3 Neos".[76] With TYPO3 Neos 1.0 alpha1, a public test version was released in late 2012.[77] [78] 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.[79]

    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.[80]

    See also

    Further reading

    External links

    Notes and References

    1. Web site: Distribution of Content Management Systems among websites that use German. w3techs.com.
    2. Web site: TYPO3. cmscrawler.com.
    3. Web site: The History of TYPO3 . 2012-04-11 . 2012-04-06 . https://web.archive.org/web/20120406151613/http://typo3.org/about/typo3-the-cms/the-history-of-typo3/ . dead .
    4. Web site: TYPO3 Core development.
    5. Web site: TYPO3 in numbers. https://web.archive.org/web/20120404151623/http://typo3.org/home/typo3-in-numbers. dead. 2012-04-04. TYPO3 - The Enterprise Open Source CMS.
    6. Web site: Extension Repository. https://web.archive.org/web/20040429131854/http://typo3.org/extensions/. dead. 2004-04-29. TYPO3 - The Enterprise Open Source CMS.
    7. Web site: Böhm . Julian . 25 June 2020 . What Versions of TYPO3 Run on Which Versions of PHP? . TYPO3 Blog.
    8. Web site: Download TYPO3 - get.typo3.org . 2020-12-02 . get.typo3.org.
    9. Web site: Configuration overview — TYPO3 Explained main documentation. 2022-01-24. docs.typo3.org. en.
    10. Web site: Hahnefeld . Bjoern . 2007-02-04 . TYPO3 Example . live . https://wayback-api.archive.org/web/20070503040233/https://www.ttproducts.de/ . 2007-05-03 . 2024-05-03 . ttproducts.de.
    11. Web site: What are extensions?. TYPO3 - The Enterprise Open Source CMS.
    12. http://forge.typo3.org/projects/typo3v4-mvc Official Extbase MVC Framework Documentation
    13. Web site: TYPO3 case studies. typo3.org. 9 February 2017.
    14. Web site: Recently added sites. TYPO3 Reference Blog. 9 February 2017.
    15. Web site: Case studies. typo3.com.
    16. http://typo3.org/download/ Information on support cycles of TYPO3 versions
    17. Web site: Installation manual for TYPO3 3.0 . 2012-07-31 . 2014-04-07 . https://web.archive.org/web/20140407181229/http://www.4any1.de/fileadmin/installing_upgrading.pdf . dead .
    18. Web site: Installation manual for TYPO3 3.0 w/ Screenshots of version 3.2 . 2012-07-31 . 2014-04-07 . https://web.archive.org/web/20140407181229/http://www.4any1.de/fileadmin/installing_upgrading.pdf . dead .
    19. Web site: TYPO3. sourceforge.net.
    20. Web site: Source code of all newer versions with release dates . 2013-11-22 . https://web.archive.org/web/20140709051919/http://forge.typo3.org/repositories/browse/typo3cms-core . 2014-07-09 . dead.
    21. Web site: Typo3 3.6.0 fertig gestellt . Bager . Jo . 3 May 2004 . heise online.
    22. Web site: Category:ReleaseNotes/TYPO3 3.8.x. typo3.org.
    23. Web site: release notes for TYPO3 3.8.1 . 2012-07-31 . https://archive.today/20120724014330/http://typo3.org/development/articles/release-notes-381/ . 2012-07-24 . dead.
    24. http://typo3.org/news/article/support-for-typo3-40-is-officially-over/ End of life of TYPO3 4.0
    25. Web site: TYPO3 4.0. typo3.org.
    26. Web site: Inline Relational Record Editing. TYPO3 Wiki.
    27. Web site: TYPO3 4.1. typo3.org.
    28. Web site: TYPO3 4.2. typo3.org.
    29. Web site: release notes for TYPO3 4.3 . 2012-07-31 . https://web.archive.org/web/20120406123920/http://typo3.org/download/release-notes/typo3-4-3-release-notes/ . 2012-04-06 . dead.
    30. Web site: release notes for TYPO3 4.4 . 2012-07-31 . https://web.archive.org/web/20120406123925/http://typo3.org/download/release-notes/typo3-4-4-release-notes/ . 2012-04-06 . dead.
    31. Web site: TYPO3 4.4: TYPO3 wird einsteigerfreundlicher, schöner, schneller – Hier die wichtigsten Neuerungen. t3n Redaktion. t3n Magazin. de. 2012-07-31. https://web.archive.org/web/20160818171245/http://t3n.de/news/typo3-44-detail-272921/. 2016-08-18. dead.
    32. Web site: TYPO3 Roadmap. dead. https://web.archive.org/web/20121025021757/http://typo3.org/roadmap/. 2012-10-25.
    33. Web site: 4.5 LTS support extended because of 6.2 final release postponed, since they have promised to keep the LTS overlapping period 12 months.. 21 November 2013 .
    34. Web site: Announcing TYPO3 CMS 4.5 Extended Long-Term-Support Plans. typo3.org. 5 March 2015.
    35. Web site: TYPO3 450alpha3 - TYPO3 4.5 Projects - TYPO3 Forge. typo3.org.
    36. Web site: Download. TYPO3 - The Enterprise Open Source CMS.
    37. Web site: Overview - TYPO3 4.5 Projects - TYPO3 Forge. typo3.org.
    38. Web site: buzz.typo3.org: TYPO3 4.5 will be the most secure TYPO3 version ever.. typo3.org.
    39. Web site: TYPO3 4.5 LTS Status Report T3CON10. Ernesto Baschny. slideshare.net. 2 October 2010.
    40. Web site: TYPO3 4.5 Kick-Off Presentation #t3dd10. Ernesto Baschny. slideshare.net. 3 July 2010.
    41. http://forge.typo3.org/projects/typo3v46-projects TYPO3 4.6 release date
    42. Web site: Login. TYPO3 - The Enterprise Open Source CMS.
    43. typo3.org: A Brief Introduction to TYPO3 version 4.6
    44. http://typo3.org/news/article/typo3-receives-german-governmental-funding-for-accessibility-and-usability-project/ TYPO3 Receives German Governmental Funding for Accessibility and Usability Project
    45. Web site: Feature #12664: Idea about faster loading modules - Core - TYPO3 Forge. typo3.org.
    46. Web site: Wiki - TYPO3 4.7 Projects - TYPO3 Forge. typo3.org.
    47. Web site: TYPO3 4.7 release notes.
    48. Web site: Home: TYPO3 Government Package. typo3.org.
    49. Web site: Welcome to nginx . 2012-07-31 . dead . https://archive.today/20120720154901/http://typo3.org/news/article/typo3-60-release-schedule/ . 2012-07-20.
    50. Web site: Development Report: File Abstraction Layer. TYPO3 - The Enterprise Open Source CMS. 28 February 2012.
    51. http://typo3.org/news/article/typo3-60-release-schedule/ TYPO3 6.0 Release Timeline - typo3.org
    52. Web site: TYPO3 6.0 - Back to the Future. TYPO3 - The Enterprise Open Source CMS. 14 May 2012.
    53. Web site: The TYPO3 Core Team is giving a short summary about the upcoming releases of TYPO3.. TYPO3 - The Enterprise Open Source CMS. 3 March 2012.
    54. Web site: Feature #43703: Add a task to auto update languages - Core - TYPO3 Forge. typo3.org.
    55. Web site: New release plan for 6.2 LTS. 21 November 2013 . 8 December 2013.
    56. Web site: Retaining compatibility to TYPO3 CMS6 - - TYPO3 - The Enterprise Open Source CMS . typo3.org . dead . https://web.archive.org/web/20141202043743/http://typo3.org/news/article/retaining-compatibility-to-typo3-cms6/ . 2014-12-02.
    57. Web site: TYPO3 v8.1 - Tightening the screws . 3 May 2016.
    58. Web site: 8.2 Changes . docs.typo3.org . 1 June 2023 . https://web.archive.org/web/20170211075559/https://docs.typo3.org/typo3cms/extensions/core/8-dev/Changelog/8.2/ . February 11, 2017 . en . 2016.
    59. Web site: Releasing TYPO3 v8.3. 30 August 2016.
    60. Web site: Releasing TYPO3 v8.4. 18 October 2016.
    61. Web site: TYPO3 v8.5 released. 20 December 2016.
    62. Web site: Development Roadmap for TYPO3 CMS.
    63. Web site: Typo3-v920-released . 10 April 2018.
    64. Web site: TYPO3 v9.3.0 released . 12 June 2018.
    65. Web site: Announcement of TYPO3 9.4 Release. 4 September 2018.
    66. Web site: Announcement of TYPO3 9.5 LTS Release. 2 October 2018.
    67. Web site: TYPO3 v10 - Safe and Sound. 8 March 2019.
    68. Web site: TYPO3 v11 - Warp Speed. 5 October 2021.
    69. Web site: TYPO3 v12 - Release Your Power. 4 October 2022.
    70. Web site: TYPO3 v12.1 – Together As One. 6 December 2022.
    71. Web site: TYPO3 v12.2 – Around The World. 7 February 2023.
    72. Web site: TYPO3 v12.3 – Around The World. 28 March 2023.
    73. Web site: TYPO3 v12.4 – Here To Save The Day. 25 April 2023.
    74. Web site: TYPO3 v13.0 - The Ocean's Calling. 30 January 2024.
    75. Web site: The TYPO3 Core Team is giving a short summary about the upcoming releases of TYPO3. 3 March 2012 .
    76. Web site: Dambekalns. Karsten. TYPO3 Neos and Flow - September 2012. 10 October 2012 . TYPO3 Association. 12 October 2012.
    77. Web site: TYPO3 Neos Alpha Releases. TYPO3 Association. 9 May 2013.
    78. Web site: Change Log Neos 1.0.0 alpha2. TYPO3 Association. 9 May 2013.
    79. Web site: Neos and TYPO3 split. 18 May 2015.
    80. Web site: Neos 3.0 and Flow 4.0 Released. neos.io. 30 January 2017 . 9 February 2017.