20
Seite 1 Easy and Effective The New Dynamic Content Elements Extension (DCE) TYPO3 Conference 2013, 30th October 2013

Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Embed Size (px)

DESCRIPTION

Talk on T3CON13 about the DCE extension.

Citation preview

Page 1: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 1

Easy and EffectiveThe New Dynamic Content Elements Extension (DCE)TYPO3 Conference 2013, 30th October 2013

Page 2: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 2Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

About Me

Armin Rüdiger Vieweg Assistant Team Leader - Development

Personal information

30 years old Hobbies:

TYPO3 Playing the trumpet

Released 1000+ TYPO3 extensions

Dynamic Content Elements (dce)

Page Teaser (with Fluid) (pw_teaser)

pwComments (pw_comments)

Tiny Source (tinysource)

… and 12 more extensions

Page 3: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 3Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

The Idea

Behind DCE

Page 4: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 4Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

The Idea Behind DCE

Dynamic Content Elements (DCE)

Name and basic functionality inspiredby TemplaVoila‘s FCE feature

FCE was one of the last missing major featuresto replace TemplaVoila

Page 5: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 5Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

Content Elements in TYPO3The Idea Behind DCE

TYPO3 has just a few basic content elements (CE)

No possibility to create new CE without developing new extensionsor massively rearranging TCA

Abuse of layout or section frame attributesNot easy to use for editors!

Abuse of RTE fields (using tables, etc.)Too much flexibility for editors

Laying out CE in frontend may be a PITA, because of TypoScript (CSS styled content)

Page 6: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 6Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

The DCE ApproachThe Idea Behind DCE

Audience Developers

Integrators

Intermediate frontend developers

Goals Easy creation of new custom content elements

With as many configurable fields as required

Flexible and comfortable templating for each CE (using Fluid)

An easier learning curve for editors

Page 7: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 7Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

DCE Features and

Live-Demonstration

Page 8: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 8Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

DCE Features

Fields and tabs Create as many fields as required

Separate multiple fields with tabs (better overview)

Name and configure them like you want

Schema loading Special handling for group, select and inline fields

Convert comma separated lists of uids to ready to use arrays

Uses extbase models (instead of assoc arrays)if requested table has one configured

Sections Uses TemplaVoila implementation in TYPO3 core

Create as many groups of fields as you want

Page 9: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 9Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

DCE Features

Detail pages Use different templates for single DCE instances

Controlled by $_GET parameters

Easy templating (using Fluid) All output of DCE (in FE and BE) runs with Fluid Templating Engine

Even cached localconf- and ext_tables php files uses Fluid

Fluid gives you all flexibility you need for laying out content elements

Backend preview templates Define tt_content header and bodytext attribute for each DCE individually

Of course, using Fluid

Page 10: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 10Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

DCE Features

DCE user conditions Check if the current page contains a specified DCE

Add CSS and JS only on pages where you need it

Modify any TypoScript configuration you want

Comfortable import/export Quick import and export of DCEs and DCE fields

Uses ImpExp extension in TYPO3 core

DCE instances (tt_content) have relation to DCE

When importing DCE and DCE instances, the uid of DCE will be automatically updated if uid is already assigned on target system

Page 11: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 11Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

Version 1.0

The Bright Future

of DCE

Page 12: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 12Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

The Bright Future of DCE

New major version of DCE

Bye-bye flexforms

DCE == Package

Fancy backend module

1

2

3

4

Page 13: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 13Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

The Bright Future of DCE

Version 1.0

No longer supporting TYPO3 4.x

Massive change of code

Everything becomes better (eg. code quality, readability) ;-)

Unit tests (... maybe later)

1 New major version of DCE

Page 14: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 14Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

The Bright Future of DCE

Currently all entered contents are stored as nested Flexform-XMLin tt_content‘s column pi_flexform

Create for each DCE and section their own tables to store data

Fake TCA fields in tt_content

Ability to use palettes to group fields

Inline fields possible (for section fields)

No annoying flexform bugs anymore (i.e. eval)

2 Bye-bye flexforms

Page 15: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 15Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

The Bright Future of DCE

DCE configurations changed to file-based packages

Field configurations

Templates

Additional files, such as CSS, JS and custom viewhelpers

Images (eg. TCA and content wizard Icon)

Easier to deploy and reuse in other projects

A public DCE repository?

Compatibility with TYPO3 themes

One file export, using JSON

3 DCE == Package

Page 16: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 16Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

The Bright Future of DCE

Creation of DCE in new backend module only

Much more comfortable than TYPO3 backend

Wizard for field configuration

Auto update of database schemes

Import/Export of DCE (package management)

4 Fancy backend module

Page 17: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 17Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

RoadmapThe Bright Future of DCE

Version 1.0

DCE packaging

TCA instead of Flexforms

Fancy backend module

Version 1.1

Migration tool (from DCE 0.8.x)

Documentation

Version 1.2

Unit tests

1.0Feb 2014

1.1May 2014

1.2End of 2014

Page 18: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 18Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

Questions?

Page 19: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Seite 19Easy and Effective – The New Dynamic Content Elements Extensions (DCE)

Thank you very

much!

Page 20: Easy and Effective - The New Dynamic Content Elements Extension (DCE)

Alle in dieser Präsentation dokumentierten Vorschläge und Ideen sind geistigesEigentum der sunzinet AG. Sie unterliegen somit den geltenden Urheberrechtenund Gesetzen.

Die Präsentation kann Bildelemente enthalten, die Rechte Dritter berühren. DiePräsentation ist für die kommerzielle Vervielfältigung nicht gestattet. Vor einerVerbreitung ist die Abstimmung mit sunzinet erforderlich, die dazu führen kann, dassLizenzen erworben werden und/oder Bildelemente ausgetauscht werden.

Die unautorisierte Vervielfältigung, Nutzung als Ganzes oder auszugsweise sowiejegliche Form der Weitergabe an Dritte ist nicht gestattet.

© sunzinet AG