After eight months of development including three months in beta phase we are excited to present Neos 2.0 today! This release is a huge milestone - both in features and in stability.
Neos 2.0 contains the features that agencies and developers have been waiting for: fine-grained access control, a translated user interface, great improvements to the ubiquitous content features such as translations, SEO capabilities, Google Analytics integration, cloud-capable resource management, documentation restructuring and much much more. See below for more details about each feature.
The team behind Neos put a great focus on stability for 2.0. Three months have passed since beta 1, five additional beta versions and a release candidate followed. Almost 1.500 changes have been implemented since Neos 1.2, one third of them since beta 1 and bugfixes made up around half of them.
This release is a product of more than 50 contributors and a community that has renewed and strengthened its commitment since the split from TYPO3. Join the conversation at discuss.neos.io or on Slack and be part of this great community and help us build the next release of Neos!
A special thanks to the release management of Neos 2.0: Robert Lemke (feature planning) and Aske Ertmann and Christian Müller (release management).
Major Features of Neos 2.0:
- and many more...
Fine-grained Access Control
A common requirement, especially for larger websites with many editors, is the possibility to selectively control access to certain backend tools and parts of the content. For example, some editors should only be allowed to edit certain pages or content types and others should be limited to specific workspaces. These access restrictions are used to enforce certain workflows and to reduce complexity for editors.
Furthermore, the way Neos and Flow handle roles has been revised: A user is assigned to one or more specific roles, defining who the user is. For each role, a list of privileges is specified, defining the exact permissions of users assigned to each role. In the Neos user interface, it is possible to assign a list of multiple roles to a user, instead of just a single role. Before, only two roles existed: editor, and administrator; Now, with our fine-grained access control, permissions for a user can be defined much more precisely using as many roles and permissions as needed.
Additionally, the user management module has basic support for multiple accounts per user: a user may, for example, have one account for backend access and another one for access to a member-only area on the respective website. Neos 2.0 also includes the functionality to realize frontend logins for such scenarios.
All access control configurations can currently be done in code, a user interface for the backend will be included in a later release.
Translated Neos User Interface
The User Interface of Neos is now localized into multiple languages, giving you the possibility to use Neos in your favorite language. This includes the content editing experience for editors as well as backend modules. The preferred language can be selected in the user settings from the user menu. If you want to translate Neos to your language or want to help improve translations, head over to http://translate.neos.io/ and start translating or find out more in the translations section.
Ubiquitous Content - Translations & More
Neos 2.0 includes a lot of improvements for the ubiquitous content features which were introduced to Neos in version 1.2:
First, we optimized the way an initial translation of a document from one language to another works. If you wanted to translate from English to French in Neos 1.2, you needed to define that the French-language version of your page falls back to the "English" version -- effectively showing English content if it has not been translated to French yet. With Neos 2.0, you do not need these fall-backs anymore. Instead, if you choose a content variant which does not exist yet, you are asked whether you want to start with an empty page or copy the original content and start modifying it.
Second, we re-thought how the node tree should behave in Neos: In order to reduce confusion, if you move a page to a different position in the hierarchy, it is moved in all variants. However, if you move content from left to right column, this only affects the current variant. After having tried numerous options in the last months, we believe that this way leads to the most predictable editing experience.
Third, if you copy content from one variant to another (e.g. a content element which has been created in English, but not yet in French), the link between the original content and the translation is now preserved. This is an important technical foundation, based on which features such as a "list of changes in the original language" will be implemented in coming Neos releases.
Cloud-Capable Resource & Media Management
With Neos 2.0 and Flow 3.0, we introduce a completely re-written core of resource management, which provides support for various cloud providers and other scenarios. As PAAS systems like Heroku or AWS EC2 do not contain a writable and persistent file system, alternative storage systems for assets are needed. For highly scalable websites, the use of Content Delivery Networks for serving static content helps to keep sites well performing and fast.
On the one hand, this now allows to store persistent resources like images which the user has uploaded in Amazon S3; making Flow and Neos a lot more straightforward to run on PAAS.
On the other hand, resources which are used on the website output (like cropped and resized images) can be *published* to a CDN like Cloudfront, Akamai or Rackspace CloudFiles.
As a reference implementation for third-party plugins we created two packages, one supporting Rackspace Cloudfiles and a second one for Amazon S3. This feature is the basis for seamlessly choosing assets from Google Drive or Dropbox in the future.
With Neos 2.0, we've added some first tools which help in improving search engine ranks
- Separation of page and navigation title
- allow to set description, keywords and robots information per-page
- machine-readable links to alternative-language versions
- XML sitemap generation
We have also added basic configuration options for the way Neos websites appear in social media tools like Facebook or Twitter. By setting an opengraph tag for example, the preferred image to be picked up by Facebook can be set. Similarly the inspector now includes a tab to configure the appearance of a Twitter card for that page.
For many websites, getting key insights on their usage patterns is a requirement for improving content. That's why we created a seamless integration of Google Analytics. The data that is shown to the user in an inspector tab of the current page is customizable and could include the current access numbers, browsers, screen resolutions and much more.
Based on the Google Analytics package other analytics tools can also be integrated. We expect that the Neos community will create packages for tools like Piwik in the near future.
The media browser has been improved in many areas:
The concept of asset collections has been introduced, which is an additional layer to separate large amounts of assets across different sites. A default asset collection can be set for a site, resulting in every asset uploaded for that site automatically being added to that collection. Asset collections can have separate tags or share tags among them.
Furthermore, searching, sorting and filtering for assets is now possible, the list view has been extended to include file size, type & thumbnail image and it is now possible to rename existing tags.
Error handling, drag and drop handling and notifications have been improved as well.
As editing is an integral part of the Neos user experience, we have focused on making it easier and more stable.
Searching is no longer case sensitive, including link wizards, reference(s) editors and the node tree filter.
In the editing area, the content elements toolbar now supports insert/paste before/into/after similar to the navigate component.
Image handling has been improved: We have added support for SVG files. Image uploads are now possible using drag & drop in the inspector. Cropping and resizing of images can now be configured per-node type, and resizing is by default switched off to fit better with responsive websites.
Furthermore, the inspector now shows detailed node information such as creation date, last modified date, last publication date, node name & identifier.
The documentation has been moved to ReadTheDocs, and in this process has been completely restructured. We now also provide PDF and ePub renderings of the documentation; so it is easier to search it offline.
- Improvements to TypoScript & Eel
- The storage format for the node data properties table has been changed to JSON
- Improved exception handling with better output and styling
- Auto-created child node positions
- Node repair improvements
- Usability improvements to the sites management modules to better support multiple sites
- Data views in inspector (experimental)
- History / Event Log (experimental)
For the full list of features have a look at the release notes.
Note: Read the upgrade instructions if you want to use the new features in an existing Neos installation!