TYPO3

From Wikipedia, the free encyclopedia
TYPO3
Logo of TYPO3
TYPO3 Backend.png
TYPO3 CMS 7 backend
Original author(s)Kasper Skårhøj
Developer(s)
Initial release1998; 23 years ago (1998)
Stable release
10.4 (10 LTS)[1] / 2020-04-21
Repository
Written inPHP, SQL, JavaScript
PlatformCross-platform
Size18.5 MB
Available in51 languages
TypeContent management framework, Content management system
LicenseGNU General Public License version 2
Websitetypo3.org

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, Nginx or IIS, on top of many operating systems, among them Linux, Microsoft Windows, FreeBSD, macOS and OS/2.

TYPO3 is similar to other popular content management systems such as, Drupal, Joomla! and WordPress, however it use is more limited to 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, as code and content are operated separately.[citation needed] 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 like editorial workplace and workflow, advanced frontend editing, 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 classifies itself 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 detected by the public website "CMS Crawler" was around 384,000 by February 2017.[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, Nginx or IIS on top of Linux, Microsoft Windows or macOS. It uses PHP 7.2 or newer and any relational database supported by the TYPO3 DBAL including MySQL, MariaDB, PostgreSQL, and SQLite.[10] 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.

Since version 4.5, TYPO3 is published with a demo website called "Introduction Package". It enables first-time users to get a working example website quickly and to experiment with built-in features. The package can be enabled from the install tool.[11]

To become familiar with TYPO3, a developer would usually need from a few weeks up to some months. For an author or editor who administers and operates a TYPO3 based website, this requirement can range from a few minutes to a few hours. A developer setting up a website with TYPO3 would need to work intensively with the meta-language TypoScript.[citation needed]

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, 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 subtemplate. 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
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.

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

Diagram of the basic TYPO3 system architecture

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]

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

Notable projects[]

As it classifies as an enterprise CMS, many global companies and organisations base their web or intranet sites on TYPO3. The majority is 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 the Technical University of Berlin. International organisations running one or more TYPO3 sites are: Airbus, Konica-Minolta, Leica Microsystems, Air France, Greenpeace and Meda (Sweden).[14][15][16]

Releases[]

Version history[]

Legend: Old version, not maintained Older version, still maintained Current stable version Latest preview version Future release
Branch Version [17] Release date Major changes
3.x
Old version, no longer maintained: 3.0 29 May 2001
  • First public release[18]
Old version, no longer maintained: 3.2 17 May 2002
  • Several bug fixes[19]
Old version, no longer maintained: 3.3 3 June 2002
  • Several bug fixes
  • First version hosted on Sourceforge[20]
Old version, no longer maintained: 3.5 18 February 2003
  • Several bug fixes
  • Introducing the Extension Manager - users can now write their own extension modules
Old version, no longer maintained: 3.6 30 April 2004
  • Create XHTML code in standard content elements
  • XML storage for content elements
  • Introducing basic database abstraction concept[21][22]
Old version, no longer maintained: 3.7 24 September 2004
  • Simplified content-localisation
  • Extended permission system
  • Renewed TypoScript-Engine
Old version, no longer maintained: 3.8 23 May 2005
  • Multi-language ability for the backend (introducing language packs)
  • GraphicsMagick support
  • Improved frontend search[23]
Old version, no longer maintained: 3.8.1 14 November 2005
  • Several bug fixes and security improvements[24]
4.x Old version, no longer maintained: 4.0 7 April 2006
  • Backend redesign for better user experience
  • Restructured HTML output
  • Introducing backend skins and the new rich text editor
  • Introducing workspaces (integrated versioning)
  • Implementation of a database abstraction layer
  • Enabling TYPO3 to work on Oracle and PostgreSQL
  • Current Version: 4.0.13[25][26]
Old version, no longer maintained: 4.1 6 March 2007
  • Improved page tree with Ajax
  • Introducing Inline Relational Record Editing (IRRE)[27]
  • Improved UTF-8 support and enabling of InnoDB features
  • Current version: 4.1.15[17][25][28]
Old version, no longer maintained: 4.2 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[29]
Old version, no longer maintained: 4.3 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[30]
Old version, no longer maintained: 4.4 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[31][32]
Old version, no longer maintained: 4.5 LTS 26 January 2011
  • First release with long-term support (LTS), until March 2015,[33][34] incl. support of IE6
  • Extended long-term support (chargeable), until March 2016[35]
  • UTF-8 as default charset and HTML5 in backend[36]
  • Refurbished backend forms and extension manager
  • Integrated protection against CSRF
  • Current version: 4.5.40[37][38][39][40][41]
Old version, no longer maintained: 4.6 25 October 2011
  • Internationalization with XLIFF
  • New website form content element
  • Security & performance improvements
  • Current version: 4.6.15[42][43][44][45]
Old version, no longer maintained: 4.7 24 April 2012
  • Complete Accessibility for new installations acc. to WCAG[46]
  • Introducing new HTML5 elements like <audio> & <video>, improvements for TCEforms[47]
  • Introducing the Government Package
  • Current version: 4.7.19[48][49][50]
6.x Old version, no longer maintained: 6.0 27 November 2012[51]
  • Integration of a file abstraction layer (FAL)
  • Drag & Drop in the Page Module
  • Support for IPv6
  • Standardized bootstrap for mount points[52][53][54][55]
  • Latest version: 6.0.14 [17]
Old version, no longer maintained: 6.1 30 April 2013
  • Automatic updates for the Core and for translations, e.a.[55][56]
  • Latest version: 6.1.11 [17]
Old version, no longer maintained: 6.2 LTS 25 March 2014[57]
  • Second release with Long Term Support (LTS), until April 2017[33]
  • 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.x Old version, no longer maintained: 7.0 2 December 2014
  • general code cleanup, speed improvements through outsourcing of an old compatibility layer, refresh of the visual appearance of the backend.[58]
Old version, no longer maintained: 7.4 4 August 2015
  • Backend Overhaul Vol 2
Old version, no longer maintained: 7.5 29 September 2015
  • general code base improvements, Backend Overhaul Vol 3
Old version, no longer maintained: 7.6 LTS 10 November 2015
  • Third release with Long Term Support (LTS), support until November 2018[33]
8.x Old version, no longer maintained: 8.0 22 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.[58]
Old version, no longer maintained: 8.1 3 May 2016
  • Most notable: Doctrine integration, UX rework of workspace module, general cleanup.[59]
Old version, no longer maintained: 8.2 5 July 2016
  • Ogg, flac and opus media support
  • Removed support for compatibility6 extension.[60]
Old version, no longer maintained: 8.3 30 August 2016
  • Doctrine DBAL migration
  • Tree rendering with SVGs
  • Unified linking syntax
  • PHP 7.1 support[61]
Old version, no longer maintained: 8.4 18 October 2016
  • Mobile backend
  • Documentation API
  • Easier migrations
  • Access flexform values by TypoScript.[62]
Old version, no longer maintained: 8.5 20 December 2016
  • New form framework,
  • Integration of CKEditor [63]
Old version, no longer maintained: 8.6 14 February 2017
  • Improvements in frontend editing.[64]
Current stable version: 8.7 LTS 4 April 2017
  • Long Term Support Release (LTS), bug fixes for 18 months, security support for 36 months, until March 2020.[64]
9.x Old version, no longer maintained: 9.0 12 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.[64]
Old version, no longer maintained: 9.1 30 January 2018
  • Custom handling of URL redirects.[64]
Old version, no longer maintained: 9.2 10 April 2018
  • New Site module for configuring separate websites and languages in a multi-site project.[65]
Old version, no longer maintained: 9.3 12 June 2018
  • Additional SEO extension.[66]
Old version, no longer maintained: 9.4 4 September 2018
  • URL Routing for pages "Speaking URLs for Routing", XML Sitemap.[67]
Current stable version: 9.5 LTS 2 October 2018
  • Long Term Support Release (LTS), bug fixes for 18 months, security support for 36 months, until September 2021.[68]
10.x Old version, no longer maintained: 10.0 23 July 2019
Old version, no longer maintained: 10.1 1 October 2019
Current stable version: 10.2 3 December 2019
Future release: 10.3 25 February 2020
Future release: 10.4 LTS 21 April 2020
  • Long Term Support Release (LTS), fully supported for 1.5 years, security and critical fixes until April 2023.[69]

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

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

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

See also[]

References[]

  1. ^ "Download TYPO3". typo3.org. Retrieved 2020-06-10.
  2. ^ "Distribution of Content Management Systems among websites that use German". w3techs.com.
  3. ^ Jump up to: a b "TYPO3". cmscrawler.com.
  4. ^ "TYPO3 - The Enterprise CMS". Archived from the original on 2013-04-16. Retrieved 2012-04-10.
  5. ^ 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.
  6. ^ "The History of TYPO3". Retrieved 2012-04-11.
  7. ^ "TYPO3 Core development".
  8. ^ "TYPO3 in numbers". TYPO3 - The Enterprise Open Source CMS. Archived from the original on 2012-04-04.
  9. ^ Jump up to: a b "Extension Repository". TYPO3 - The Enterprise Open Source CMS. Archived from the original on 2004-04-29.
  10. ^ "Download TYPO3 - get.typo3.org". get.typo3.org. Retrieved 2020-12-02.
  11. ^ "Introduction Package". wiki.typo3.org. Retrieved 9 February 2017.
  12. ^ "What are extensions?". TYPO3 - The Enterprise Open Source CMS.
  13. ^ Official Extbase MVC Framework Documentation
  14. ^ "TYPO3 case studies". typo3.org. Retrieved 9 February 2017.
  15. ^ "Recently added sites". TYPO3 Reference Blog. Retrieved 9 February 2017.
  16. ^ "Case studies". typo3.com.
  17. ^ Jump up to: a b c d http://typo3.org/download/ Information on support cycles of TYPO3 versions
  18. ^ Installation manual for TYPO3 3.0
  19. ^ Installation manual for TYPO3 3.0 w/ Screenshots of version 3.2
  20. ^ "TYPO3". sourceforge.net.
  21. ^ "Source code of all newer versions with release dates". Archived from the original on 2014-07-09. Retrieved 2013-11-22.
  22. ^ Jo Bager (3 May 2004). "Typo3 3.6.0 fertig gestellt". heise online.
  23. ^ "Category:ReleaseNotes/TYPO3 3.8.x". typo3.org.
  24. ^ "release notes for TYPO3 3.8.1". Archived from the original on 2012-07-24. Retrieved 2012-07-31.
  25. ^ Jump up to: a b http://typo3.org/news/article/support-for-typo3-40-is-officially-over/ End of life of TYPO3 4.0
  26. ^ "TYPO3 4.0". typo3.org.
  27. ^ "Inline Relational Record Editing". TYPO3 Wiki.
  28. ^ "TYPO3 4.1". typo3.org.
  29. ^ "TYPO3 4.2". typo3.org.
  30. ^ "release notes for TYPO3 4.3". Archived from the original on 2012-04-06. Retrieved 2012-07-31.
  31. ^ "release notes for TYPO3 4.4". Archived from the original on 2012-04-06. Retrieved 2012-07-31.
  32. ^ t3n Redaktion. "TYPO3 4.4: TYPO3 wird einsteigerfreundlicher, schöner, schneller – Hier die wichtigsten Neuerungen". t3n Magazin (in German). Archived from the original on 2016-08-18. Retrieved 2012-07-31.
  33. ^ Jump up to: a b c "TYPO3 Roadmap". Archived from the original on 2012-10-25.
  34. ^ "4.5 LTS support extended because of 6.2 final release postponed, since they have promised to keep the LTS overlapping period 12 months".
  35. ^ "Announcing TYPO3 CMS 4.5 Extended Long-Term-Support Plans". typo3.org.
  36. ^ "TYPO3 450alpha3 - TYPO3 4.5 Projects - TYPO3 Forge". typo3.org.
  37. ^ "Download". TYPO3 - The Enterprise Open Source CMS.
  38. ^ "Overview - TYPO3 4.5 Projects - TYPO3 Forge". typo3.org.
  39. ^ "buzz.typo3.org: TYPO3 4.5 will be the most secure TYPO3 version ever". typo3.org.
  40. ^ Ernesto Baschny. "TYPO3 4.5 LTS Status Report T3CON10". slideshare.net.
  41. ^ Ernesto Baschny. "TYPO3 4.5 Kick-Off Presentation #t3dd10". slideshare.net.
  42. ^ TYPO3 4.6 release date rec. 6. October 2012
  43. ^ "Login". TYPO3 - The Enterprise Open Source CMS.
  44. ^ "Login". TYPO3 - The Enterprise Open Source CMS.
  45. ^ typo3.org: A Brief Introduction to TYPO3 version 4.6
  46. ^ TYPO3 Receives German Governmental Funding for Accessibility and Usability Project, rec. 27 Juli 2011
  47. ^ "Feature #12664: Idea about faster loading modules - Core - TYPO3 Forge". typo3.org.
  48. ^ "Wiki - TYPO3 4.7 Projects - TYPO3 Forge". typo3.org.
  49. ^ "TYPO3 4.7 release notes".
  50. ^ "Home: TYPO3 Government Package". typo3.org.
  51. ^ "Archived copy". Archived from the original on 2012-07-20. Retrieved 2012-07-31.CS1 maint: archived copy as title (link)
  52. ^ "Development Report: File Abstraction Layer". TYPO3 - The Enterprise Open Source CMS.
  53. ^ TYPO3 6.0 Release Timeline - typo3.org Archived 2012-07-20 at archive.today
  54. ^ "TYPO3 6.0 - Back to the Future". TYPO3 - The Enterprise Open Source CMS.
  55. ^ Jump up to: a b "The TYPO3 Core Team is giving a short summary about the upcoming releases of TYPO3". TYPO3 - The Enterprise Open Source CMS.
  56. ^ "Feature #43703: Add a task to auto update languages - Core - TYPO3 Forge". typo3.org.
  57. ^ "New release plan for 6.2 LTS". Retrieved 8 December 2013.
  58. ^ Jump up to: a b http://typo3.org/news/article/retaining-compatibility-to-typo3-cms6/
  59. ^ https://typo3.org/news/article/typo3-v81-tightening-the-screws/. Missing or empty |title= (help)
  60. ^ https://docs.typo3.org/typo3cms/extensions/core/8-dev/Changelog/8.2/. Missing or empty |title= (help)
  61. ^ https://typo3.org/news/article/releasing-typo3-v83/. Missing or empty |title= (help)
  62. ^ https://typo3.org/news/article/releasing-typo3-v84/. Missing or empty |title= (help)
  63. ^ https://typo3.org/news/article/typo3-v85-released/. Missing or empty |title= (help)
  64. ^ Jump up to: a b c d https://typo3.org/typo3-cms/roadmap/. Missing or empty |title= (help)
  65. ^ https://typo3.org/article/typo3-v920-released/. Missing or empty |title= (help)
  66. ^ https://typo3.org/article/typo3-v930-released/. Missing or empty |title= (help)
  67. ^ "Announcement of TYPO3 9.4 Release".
  68. ^ "Announcement of TYPO3 9.5 LTS Release".
  69. ^ "TYPO3 v10 - Safe and Sound".
  70. ^ "The TYPO3 Core Team is giving a short summary about the upcoming releases of TYPO3".
  71. ^ Dambekalns, Karsten. "TYPO3 Neos and Flow - September 2012". TYPO3 Association. Retrieved 12 October 2012.
  72. ^ "TYPO3 Neos Alpha Releases". TYPO3 Association. Retrieved 9 May 2013.
  73. ^ "Change Log Neos 1.0.0 alpha2". TYPO3 Association. Retrieved 9 May 2013.
  74. ^ "Neos and TYPO3 split".
  75. ^ "Neos 3.0 and Flow 4.0 Released". neos.io. Retrieved 9 February 2017.

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

External links[]

Retrieved from ""