The topic of this articlemay not meet Wikipedia'snotability guidelines for products and services. Please help to demonstrate the notability of the topic by citingreliable secondary sources that areindependent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to bemerged,redirected, ordeleted. Find sources: "Neos Flow" – news ·newspapers ·books ·scholar ·JSTOR(December 2019) (Learn how and when to remove this message) |
| Neos Flow | |
|---|---|
| Developer | The Neos Flow Community |
| Stable release | |
| Repository | |
| Written in | PHP |
| Operating system | Cross-platform |
| Type | Web application framework |
| License | MIT License (Free Software) |
| Website | flow |
Flow (formerly known asTYPO3 Flow orFLOW3) is a free and open sourceweb application framework written inPHP. The first final version was released on October 20, 2011. It was primarily designed as a basis for the content management systemNeos, but can also be used independently. It is generally suitable for PHP development of mid- or large-scaled web applications.
In 2006, the developers of the content management systemTYPO3 decided to rewrite the system from scratch. The architecture and underlying technology of the 4.x branch were state of the art after the turn of the millennium. Though the system has been further developed since its release in April 2006, the developers agreed on the demand for a complete code redesign to meet modern standards.[2][3][4] Flow evolves from this decision as a discrete and stand-alone Framework that can be used independently from TYPO3.
On August, 29th 2011 the developers announced the first beta release after "8 months of hard work."[5]
At the keynote of the international TYPO3 Conference 2011 (T3CON11) in Hanau, Germany, Robert Lemke, Chief Developer of the coming "next generation" Version of TYPO3, announced the release of the final version of Flow to be on October 20.[6]
At the international TYPO3 Conference 2012 (T3CON12) TYPO3 was announced as a family brand.[7] Subsequently all product names from the TYPO3 project now start withTYPO3, and as "TYPO3 Flow3" is neither easy to pronounce nor would match the name of the other products it was renamed to "TYPO3 Flow".
Later on, as NEOS and TYPO3 projects went different ways, "TYPO3 Flow" was renamed to "Flow" as part of the NEOS project.[8]
Neos Flow provides the base of the Neos Content Application Platform, but can also be used independently, i.e. establishing own applications such as a blogsystem, e-commerce and/or similar tasks. In the context of Flows's documentation a blogsystem is used to visualize the various paradigms of Flow likemodel–view–controller (MVC), aspect-oriented programming or domain-driven design (DDD). The system usesnamespaces and therefore depends on PHP 5.3+. It uses Doctrine 2 as a database abstraction layer, and can interface with e.g. MySQL and PostgreSQL.
The developers ofTYPO3 Flow focused on a series ofparadigms anddesign patterns, some of which are considered as innovative within the PHP community. These conventions assist the developers to effectively create clean, structured code and to prevent errors[3] Some important aspects are:
When designing TYPO3 Flow the developers paid attention that their custom code has minimal dependencies on the TYPO3 Flow API. This allows users to import and use modules that were originally written for other systems (such asSymfony) to be used in TYPO3 Flow with very little modifications.[3]
TYPO3 Flow is based on basic, transparent concepts to make working with it as simple as possible. Thus, the user can, for example, display customer information by writing only three or four lines of PHP source code aFluid template with HTML code. When the conventions are followed exactly, the framework automatically applies its features to the code (for example, the security baselines).
On a side note, theJavaWCMS community has also been paying attention to the development ofTYPO3 NeosandTYPO3 Flow, for its modern architecture and transparent code basis[3][10]
On 2 June 2009 the firstBuild was released asFLOW3 1.0.0 Alpha 1[11] In the following period about 14 alpha versions were released, until FLOW3 was ready for the beta phase in August 2011.[12] In this early development stage, theAPI has not changed, to guaranteebackward compatibility. TheTYPO3 Flow core team currently consists of eleven developers actively working on the framework.[3]
| Package | Version | Release date | Notes / Changes |
|---|---|---|---|
| FLOW3 | Unsupported: 1.0.0 Alpha 1 | 2 Jun 2009 |
|
| Unsupported: 1.0.0 | 20 Oct 2011[13] |
| |
| Unsupported: 1.1 | 28 Aug 2012 |
| |
| TYPO3 Flow | Unsupported: 2.0 | 12 Jul 2013 | |
| Unsupported: 2.1 | 10 Dec 2013 | ||
| Unsupported: 2.2 | 23 Jun 2014 | ||
| Supported: 2.3 | 11 Dec 2014 | ||
| Flow | Supported: 3.0 | 11 Aug 2015 | |
| Supported: 3.1 | 22 Dec 2015 | ||
| Supported: 3.2 | 4 May 2016 | ||
| Latest version:3.3 | 22 Aug 2016 |
TYPO3 Flow was initiated by the TYPO3 community and is mainly developed by the TYPO3 core team. The primary goal is to create a basis for the upcoming CMSTYPO3 Neos. The development and publication is - like all TYPO3 subprojects - funded by theTYPO3 Association.
Most of the new features of TYPO3 Flow have beenbackported for use with older TYPO3 versions (4.3 and higher) to provide a smooth transition to or fromTYPO3 CMS. These functions have been integrated into the system extensionExtbaseand the relatedFluid templating engine. Therefore, Domain-Driven Design and MVC concepts can be used withinTYPO3 CMS and subsequently ported to systems runningTYPO3 Neos.
These conventions were agreed on during Transition Days 2008 in Berlin.[17] Another outcome of this is the renaming fromFLOW3 toTYPO3 Flow, which was decided by the TYPO3 association in 2012. The association wanted to clarify that there is a strong relationship between the CMS and the application framework.[18]
TYPO3 Flow has its own template engine calledFluid.[19] Though there already were numeroustemplating engines, none of them did satisfy the requirements of the developers. Designing Fluid, they focussed on the following features:
Example:
<f:foreach="{blogPosts}"as="post">Title:{post.title}<br/></f:for>
blogPosts is a PHP array, which is passed to fluid from external PHP code (the ViewHelper). The template iterates over this array and prints the title of eachpost object.
The tags used in the template are calledViewHelper. The ability to develop custom ViewHelpers makes Fluid a flexible and extendible templating system.
{{cite web}}: CS1 maint: bot: original URL status unknown (link)