[TYPO3-core] (New) TYPO3 CMS Vision

Felix Kopp felix-source at phorax.com
Thu Aug 21 13:15:18 CEST 2014

Hello everyone,

there are many things that are needed within CMS for integrators / clients on a everyday basis. Currently standard installations needs too many adjustments to be usable for standard tasks.

Let set two or three goals for the product CMS:

+ more stability (predictability)
+ stronger default (less alternatives)

Which themselves then results in easier customization, faster implementation, better time prediction, less costs for adaption, less errors, more client power, less agency/developer time, ...

Missing and improvable features / assorted and wild:

+ Easy HTTPS set-up
Proof that felogin / cookies work out of the box for https. Tackle sys_domain records, baseURL and cookie patterns. Automatic redirects for https forced environments.

+ Easy Routing
Find a good core solution for speaking urls/routing including extbase and controller paths. Must be a core feature, easy configurable, SEO optimized. Include in core and improve.

+ "Site packages" or "Themes"
Implement a extension container or standard that can be downloaded and deployed. Define an extension type for templates and CSS and JS and domain records that is an extension which is based on zip/t3x/extension manager infrastructure. Include in core. This will enable easy theming and might create an ecosystem of out of the box themes. Decide.

+ Easy CDN integration
Core functionality to rewrite paths for subdirectories to absolute CDN urls (instead of relative typo3temp/ //cdn.domain.tld/typo3temp/). 

+ Bring all necessary viewhelpers
If extbase+fluid is the way to go and the future technology for all backend and frontend development: deliver all necessary tools and utils for input fields. E.g. upload viewhelper, date/datetime picker viewhelpers, range viewhelper, ...

+ Easier Flexform integration
When constructing content elements with user input flexforms are needed. Reduce complexity when using flexforms: Begins in kickoff when using extension_build (allow field "[x] Use flexform?") goes to convention (where to put the xml file: Configuration/Flexform/). Registering flexforms in pi_flexform is an absolute burden. Certainly most people must look this up every time. Find a good convention.

+ Easy Piwik/Google Analytics
Out-of-the box template option to include basic tracking code per domain into the template. Editable for editors ... without Typoscript.

+ Improve Locale/Language
Make it easier to set necessary data in TypoScript/templates: sys_language_uid / locale_all / L parameter. There need to be an official convention without configuration. Especially working with multi-tree (markets!) plus multi-language setup is complicated. Easy the pain.

+ BaseURL
Solve and present a solution for baseURL in multi domain, multi protocol setups. Dev, Preview, Live server with http + https. Deliver a standard solution - possibly typoscript condition / configuration or drop baseURL.

+ Closed user area / felogin
Decide on wether we want to deliver a good community/closed user area concept or not. If we want to bring that functionality: improve felogin and password forgot functionality. Ensure login/fraut sys_log is written and can be seen. Successful and failed login count or protocol per frontend user. User registration, user deletion, user edit password/profil. Bring a stable solution or remove and point to third party.

+ Multi channel and medium
It is complicated to include "hide on mobile" flag in content elements. Bring a good profound solution in the core to enable hide/show flags per medium/column. Especially in responsive web design a grid might be 6columns wide in XS screens but only 3columns wide on L/XL screens. Find a solutions.

+ Fluid page template standard
Modern template building and typoscript frontend might not be best approach to go. Create, support and deliver good fluidtemplate page template solution/tutorial. There will be not viewhelpers needed to create modern templates with fluidtemplate and less typoscript: hmenu viewhelper, logged in user date (salution+name). Decide and improve. Set a target: fluid powered website templates (header, navigation, social media links, content, footer) can be created with less that 50 line of typoscript code.

+ How should users develop?
Would you like to see integrations & developers implement extensions and themes within the backend or externally? Either improve Template backend module and improve tools (template ditor, CSS, preview) or take a clear position and remove + guide users.

+ Overwork CSC / tt_content typoscript
Improve and include css html5 rendering with more data attributes in html, less stdWrap and dataWrap in typoscript. Also make it easier to integrate custom fields in content elements.

+ Self-explaining erros
Reduce the amount of fatal exceptions, also make those exceptions self-explaining where possible. Show clear position and help/notice in FormEngine which field throws which errors. This especially goes for Flexforms. 

+ Less reloads in the backend
Most page reloads can be avoided nowadays: change of tt_content / record type (form with JS and data-type). Hide/show element records (ajax) in page and list. Drag+drop content element.

+ Customizable backend
Easy customizable html based backend with less ExtJS and more pure HTML+JavaScript. Customizable colors/logos based on css pre-processor.

+ Backend LiveSearch
Improve the search functionality in the backend: Show records with better preview. Search not only records by text, but also the results of tags and meta data, categories. We need filters/facets to drill down into the result list. Users have to manage more and more content. Search could become the central navigation.

+ Social CMS
Editing could deliver a timeline of the last changes per record/content. Filters might be releavnt changes, my changes, team changes (be_group). See who is editing what and observe the changes while editing. Systemwide Timeline of changes / improves history. Avatars/images for users.

+ Copy/Paste
Improve the experience of copy+paste with and without the clipboard. Display Paste icons without reload, show what content will be added/moved and peview the changes. Drag+Drop copy and paste with the page tree and folder tree.

+ Multi-lange editing
Ensure multi language editing works perfectly: Display content elements in all languages in correct sorting, grid/column. Especially look at "All languages" flag in content elements.

+ Introduction distribution
Bring CMS version with good be_group and user, theme (puristic html5 wireframe), pages (bootstrap distribution is a good start).

+ Facebook app / Microsite / One-Pager distribution
What about a facebook-app container distribution: minimalistic CMS, template, like widget, facebook connect/login, fan gate. (This results in a mini CMS core component)

+ Easy EID or AJAX
There might a good standard pageType or eID location for the server side for ajax calls. Standard path / standard extend class / standard page type and url?

+ Easy sprite generator in the frontend
Find a good documented solution to enable sprite generation for custom themes / custom CSS and templates handled by CMS. Preferably With a viewhelper that takes uri and does everything itself.

+ Standard for XLIF/XML
Reduce the amount of different xml/xlif files in extensions.

+ State of the art content elements
Fitting content elements for adding html/ad server tags, youtube/vimeo/soundcloud player with automatic poster image, slider/gallery, secure file download list with password, social media widgets, google maps plan, zoomable hi-res image. Solution: 1) easy convention to create custom content elements with flexform+fluid output or 2) bring all necessary defaults or both.

+ Standard task center/dashboard
Bring an easy to use KPI dashboard to display stats, easy plug-able for analytics, remote software. Only this will ensure CMS is the content / data hub for remote systems!

My conclusion:

I see CMS a the central "HUB" for content, information and logs/statistics. CMS should be the central data management, single sign login server, content management component.

The profile for CMS:
It must be easy to manage content over the complete life-cycle: import, handle, change, combine, display, export and finally forget:

- import data (RSS, json, sql, ..., zip, csv)
- search and filter (LiveSearch, filtered list view)
- sort and group hierarchically (tree+folders, cut/paste/drag+drop)
- tag, categorize content (meta data, sys_categories)
- log changes and revert errors (history, log everything, improve history interface)
- merge records and content elements
- edit large amounts of data (mass editing, FormEngine)
- export filtered lists in standard formats (CSV, Excel, PDF, ...)
- display custom lists (content elements/fluid view for frontend)
- schedule visibility, freeze, inactivate and delete

Feel free to tweet, call and talk to me in person (next up: UserGroup HH, ACME in MUC, UXW).
Thanks :)

More information about the TYPO3-team-core mailing list