SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
TYPO3 htmlarea → CKEditor
2
About me
Frans Saris
developer @beech.it
TYPO3 core/extension dev
slack: minifranske
twitter: @franssaris
github: fsaris & frans-beech-it
Beech.it
first TYPO3 partner worldwide
website: www.beech.it
github: github.com/beechit/
3
Why the switch to CKEditor?
● We don’t have to fully maintain it our self
● Superb browser support
● Complying with the latest web accessibility
standards
● Inline editing features
● Advanced Content Filter
4
Big changes
● Presets in YAML
● No automatic migration of existing configs
● <p> are now saved in database!
● No <typolink> anymore
5
Why YAML?
● CKEditor uses plain javascript for
configuration
● typoscript for BE config is confusing for
newcomers
● A new structure (new start)
separate “processing” and Editor-related configuration
● Allows options to be extend
but no conditions or unsetting values
6
Presets
● Defines editor appearance
● Defines what tags and styles are
● Defines what plugin’s to load
● Defines database processing `RTE.proc`
7
default
8
minimal
9
full
10
Add your own preset
// Register or own text-element config
$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['text-element']
= 'EXT:config_examples/Configuration/RTE/TextElement.yaml';
ext_localconf.php
11
Configure your own preset
# Load default processing options
imports:
- { resource: "EXT:rte_ckeditor/Configuration/RTE/Processing.yaml" }
- { resource: "EXT:rte_ckeditor/Configuration/RTE/Editor/Base.yaml" }
# Minimal configuration for the editor
editor:
config:
stylesSet: []
toolbarGroups:
- { name: basicstyles, groups: [ basicstyles] }
removeButtons:
- Underline
- Strike
EXT:config_examples/Configuration/RTE/TextElement.yaml
12
Configure your own preset
# Load default processing options
imports:
- { resource: "EXT:rte_ckeditor/.../RTE/Processing.yaml" }
- { resource: "EXT:rte_ckeditor/.../RTE/Editor/Base.yaml" }
13
Configure your own preset
# Minimal configuration for the editor
editor:
config:
stylesSet: []
toolbarGroups:
- { name: basicstyles, groups: [ basicstyles] }
removeButtons:
- Underline
- Strike
yaml
14
Configure your own preset
CKEDITOR.editorConfig = function( config ) {
config.toolbarGroups = [
{ name: 'basicstyles', groups: [ 'basicstyles' ] }
];
config.removeButtons = 'Underline,Strike';
};
http://ckeditor.com/tmp/4.5.0-beta/ckeditor/samples/toolbarconfigurator/ js
editor:
config:
stylesSet: []
toolbarGroups:
- { name: basicstyles, groups: [ basicstyles] }
RemoveButtons:
- Underline
- Strike
yaml
15
Configure your own preset
# Minimal configuration for the editor
editor:
Config:
# Ensure the key exists else the editor will not load
stylesSet: []
toolbarGroups:
- { name: basicstyles, groups: [ basicstyles] }
removeButtons:
- Underline
- Strike
yaml
16
Configure your own preset
editor:
config:
stylesSet:
# block level styles
- { name: "Orange title H2", element: "h2", styles: { color: "orange", background: "blue" } }
- { name: "Orange title H3", element: "h3", styles: { color: "orange", background: "blue" } }
- { name: "Quote / Citation", element: "blockquote" }
- { name: "Code block", element: "code" }
# Inline styles
- { name: "Yellow marker", element: "span", styles: { background-color: "yellow" } }
yaml
17
Configure your own preset
editor:
config:
format_tags: "p;h2;h3;pre"
yaml
18
Migrate old button config
editor:
config:
toolbar:
- [ 'Bold', 'Italic', 'Underline', '-']
- [ 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock' ]
- [ 'NumberedList', 'BulletedList', '-', 'Indent', 'Outdent' ]
- '/'
- [ 'HorizontalRule', 'Link', 'RemoveFormat', '-' ]
- [ 'Copy', 'Cut', 'Paste', '-', 'Undo', 'Redo' ]
extraPlugins:
- justify
RTE.default {
showButtons (
bold, italic, underline,
left, center, right, justifyfull,
orderedlist, unorderedlist, indent, outdent,
line, link, removeformat,
copy, cut, paste, undo, redo
)
toolbarOrder (
bold, italic, underline, bar,
left, center, right, justifyfull,
orderedlist, unorderedlist, bar, indent, outdent, linebreak,
line, link, removeformat, bar,
copy, cut, paste, bar, undo, redo
)
} pageTS
yaml
19
Use pageTS to set preset
RTE {
config {
tt_content {
bodytext {
types {
textmedia.preset = minimal
my_ce.preset = full
}
}
}
[table].[field].preset = something
}
}
20
Use TCA to set preset
'content' => [
'label' => 'LLL:EXT:lang/Res...eneral.xlf:LGL.text',
'config' => [
'type' => 'text',
'cols' => 48,
'rows' => 5,
'enableRichtext' => true,
'richtextConfiguration' => 'minimal',
],
21
Use TCA to set preset
'content' => [
'config' => [
'type' => 'text',
'enableRichtext' => true,
'richtextConfiguration' => 'minimal',
],
]
'content' => [
'config' => [
'type' => 'text',
]
'defaultExtras' => 'richtext:rte_transform[mode=ts_css]',
]
before TYPO3 8 LTS
since TYPO3 8 LTS
22
Set default preset
# Set default RTE preset
RTE.default.preset = minimal
PageTSconfig
23
Override default preset
// Set your own default RTE config
$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['default']
= 'EXT:config_examples/Configuration/RTE/Default.yaml';
ext_localconf.php
24
Advanced Content Filter
● Only tags/classes/styles that are configured are
kept
● Filters content during editing and paste
● Enabled by default
● Makes `processing` config most of the times
obsolete “RTE.proc”
http://sdk.ckeditor.com/samples/acf.html
25
Advanced Content Filter
# Disable Advanced Content Filter
editor:
config:
allowedContent: true
yaml
26
But I don’t want to switch!
● Deprecated in TYPO3 8 LTS
● Moved to FriendsOfTYPO3/rtehtmlarea for 9
https://github.com/FriendsOfTYPO3/rtehtmlarea
27
Questions?
28
And now?
Some links
● https://github.com/frans-beech-it/t3ext-config_examples
● https://github.com/netresearch/t3x-rte_ckeditor_image
● https://typo3worx.eu/2017/02/configure-ckeditor-in-typo3/
● https://docs.typo3.org/typo3cms/extensions/core/C
hangelog/8.6/Feature-79216-AddYAMLConfigurationFo
rCKEditorRTE.html
● http://docs.ckeditor.com/#!/api/CKEDITOR.config

Weitere ähnliche Inhalte

Ähnlich wie 2017 - TYPO3 CertiFUNcation: Frans Saris - TYPO3 CKeditor for Integrators

TYPO3 + CKEditor: Heaven for TYPO3 Developer & Editor
TYPO3 + CKEditor: Heaven for TYPO3 Developer & EditorTYPO3 + CKEditor: Heaven for TYPO3 Developer & Editor
TYPO3 + CKEditor: Heaven for TYPO3 Developer & EditorNITSAN Technologies
 
TYPO3 6.1. What's new
TYPO3 6.1. What's newTYPO3 6.1. What's new
TYPO3 6.1. What's newRafal Brzeski
 
2017 - TYPO3 CertiFUNcation: Frans-Saris - TYPO3 create CKeditor plugin
2017 - TYPO3 CertiFUNcation: Frans-Saris - TYPO3 create CKeditor plugin2017 - TYPO3 CertiFUNcation: Frans-Saris - TYPO3 create CKeditor plugin
2017 - TYPO3 CertiFUNcation: Frans-Saris - TYPO3 create CKeditor pluginTYPO3 CertiFUNcation
 
TinyMCE Editor - Rhythmyx: Powerful Website Management Platform
TinyMCE Editor - Rhythmyx: Powerful Website Management PlatformTinyMCE Editor - Rhythmyx: Powerful Website Management Platform
TinyMCE Editor - Rhythmyx: Powerful Website Management PlatformPercussion Software
 
CMake Tutorial
CMake TutorialCMake Tutorial
CMake TutorialFu Haiping
 
Turbogears2 tutorial to create mvc app
Turbogears2 tutorial to create mvc appTurbogears2 tutorial to create mvc app
Turbogears2 tutorial to create mvc appfRui Apps
 
ZopeSkel & Buildout packages
ZopeSkel & Buildout packagesZopeSkel & Buildout packages
ZopeSkel & Buildout packagesQuintagroup
 
Crafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in RubyCrafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in RubyNikhil Mungel
 
TurboGears2 Pluggable Applications
TurboGears2 Pluggable ApplicationsTurboGears2 Pluggable Applications
TurboGears2 Pluggable ApplicationsAlessandro Molina
 
How to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'rollHow to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'rollPGConf APAC
 
How to create an Angular builder
How to create an Angular builderHow to create an Angular builder
How to create an Angular builderMaurizio Vitale
 
Using Drupal Features in B-Translator
Using Drupal Features in B-TranslatorUsing Drupal Features in B-Translator
Using Drupal Features in B-TranslatorDashamir Hoxha
 
TinyMCE: WYSIWYG editor 2010-12-08
TinyMCE: WYSIWYG editor 2010-12-08TinyMCE: WYSIWYG editor 2010-12-08
TinyMCE: WYSIWYG editor 2010-12-08Andy Gelme
 
Streamlined Drupal 8: Site Building Strategies for Tight Deadlines
Streamlined Drupal 8: Site Building Strategies for Tight DeadlinesStreamlined Drupal 8: Site Building Strategies for Tight Deadlines
Streamlined Drupal 8: Site Building Strategies for Tight DeadlinesPantheon
 
나도 할 수 있다 오픈소스
나도 할 수 있다 오픈소스나도 할 수 있다 오픈소스
나도 할 수 있다 오픈소스효준 강
 
Introduction to Griffon
Introduction to GriffonIntroduction to Griffon
Introduction to GriffonJames Williams
 
Myth busters - performance tuning 101 2007
Myth busters - performance tuning 101 2007Myth busters - performance tuning 101 2007
Myth busters - performance tuning 101 2007paulguerin
 
Nagios Conference 2013 - Jake Omann - Developing Nagios XI Components and Wiz...
Nagios Conference 2013 - Jake Omann - Developing Nagios XI Components and Wiz...Nagios Conference 2013 - Jake Omann - Developing Nagios XI Components and Wiz...
Nagios Conference 2013 - Jake Omann - Developing Nagios XI Components and Wiz...Nagios
 
Btree. Explore the heart of PostgreSQL.
Btree. Explore the heart of PostgreSQL. Btree. Explore the heart of PostgreSQL.
Btree. Explore the heart of PostgreSQL. Anastasia Lubennikova
 

Ähnlich wie 2017 - TYPO3 CertiFUNcation: Frans Saris - TYPO3 CKeditor for Integrators (20)

TYPO3 + CKEditor: Heaven for TYPO3 Developer & Editor
TYPO3 + CKEditor: Heaven for TYPO3 Developer & EditorTYPO3 + CKEditor: Heaven for TYPO3 Developer & Editor
TYPO3 + CKEditor: Heaven for TYPO3 Developer & Editor
 
TYPO3 6.1. What's new
TYPO3 6.1. What's newTYPO3 6.1. What's new
TYPO3 6.1. What's new
 
2017 - TYPO3 CertiFUNcation: Frans-Saris - TYPO3 create CKeditor plugin
2017 - TYPO3 CertiFUNcation: Frans-Saris - TYPO3 create CKeditor plugin2017 - TYPO3 CertiFUNcation: Frans-Saris - TYPO3 create CKeditor plugin
2017 - TYPO3 CertiFUNcation: Frans-Saris - TYPO3 create CKeditor plugin
 
TinyMCE Editor - Rhythmyx: Powerful Website Management Platform
TinyMCE Editor - Rhythmyx: Powerful Website Management PlatformTinyMCE Editor - Rhythmyx: Powerful Website Management Platform
TinyMCE Editor - Rhythmyx: Powerful Website Management Platform
 
CMake Tutorial
CMake TutorialCMake Tutorial
CMake Tutorial
 
Turbogears2 tutorial to create mvc app
Turbogears2 tutorial to create mvc appTurbogears2 tutorial to create mvc app
Turbogears2 tutorial to create mvc app
 
ZopeSkel & Buildout packages
ZopeSkel & Buildout packagesZopeSkel & Buildout packages
ZopeSkel & Buildout packages
 
Crafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in RubyCrafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in Ruby
 
TurboGears2 Pluggable Applications
TurboGears2 Pluggable ApplicationsTurboGears2 Pluggable Applications
TurboGears2 Pluggable Applications
 
Bootstrap with liferay
Bootstrap with liferayBootstrap with liferay
Bootstrap with liferay
 
How to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'rollHow to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'roll
 
How to create an Angular builder
How to create an Angular builderHow to create an Angular builder
How to create an Angular builder
 
Using Drupal Features in B-Translator
Using Drupal Features in B-TranslatorUsing Drupal Features in B-Translator
Using Drupal Features in B-Translator
 
TinyMCE: WYSIWYG editor 2010-12-08
TinyMCE: WYSIWYG editor 2010-12-08TinyMCE: WYSIWYG editor 2010-12-08
TinyMCE: WYSIWYG editor 2010-12-08
 
Streamlined Drupal 8: Site Building Strategies for Tight Deadlines
Streamlined Drupal 8: Site Building Strategies for Tight DeadlinesStreamlined Drupal 8: Site Building Strategies for Tight Deadlines
Streamlined Drupal 8: Site Building Strategies for Tight Deadlines
 
나도 할 수 있다 오픈소스
나도 할 수 있다 오픈소스나도 할 수 있다 오픈소스
나도 할 수 있다 오픈소스
 
Introduction to Griffon
Introduction to GriffonIntroduction to Griffon
Introduction to Griffon
 
Myth busters - performance tuning 101 2007
Myth busters - performance tuning 101 2007Myth busters - performance tuning 101 2007
Myth busters - performance tuning 101 2007
 
Nagios Conference 2013 - Jake Omann - Developing Nagios XI Components and Wiz...
Nagios Conference 2013 - Jake Omann - Developing Nagios XI Components and Wiz...Nagios Conference 2013 - Jake Omann - Developing Nagios XI Components and Wiz...
Nagios Conference 2013 - Jake Omann - Developing Nagios XI Components and Wiz...
 
Btree. Explore the heart of PostgreSQL.
Btree. Explore the heart of PostgreSQL. Btree. Explore the heart of PostgreSQL.
Btree. Explore the heart of PostgreSQL.
 

Mehr von TYPO3 CertiFUNcation

2019-CertiFUNcation-UX-relationship_matters
2019-CertiFUNcation-UX-relationship_matters2019-CertiFUNcation-UX-relationship_matters
2019-CertiFUNcation-UX-relationship_mattersTYPO3 CertiFUNcation
 
2019-CertiFUNcation-update-seo-dashboard-initiative-certifuncation2019
2019-CertiFUNcation-update-seo-dashboard-initiative-certifuncation20192019-CertiFUNcation-update-seo-dashboard-initiative-certifuncation2019
2019-CertiFUNcation-update-seo-dashboard-initiative-certifuncation2019TYPO3 CertiFUNcation
 
2019-CertiFUNcation-Hacking-Agile-not-a-tech-talk
2019-CertiFUNcation-Hacking-Agile-not-a-tech-talk2019-CertiFUNcation-Hacking-Agile-not-a-tech-talk
2019-CertiFUNcation-Hacking-Agile-not-a-tech-talkTYPO3 CertiFUNcation
 
2019-CertiFUNcation-GDPR_12072019-typo3
2019-CertiFUNcation-GDPR_12072019-typo32019-CertiFUNcation-GDPR_12072019-typo3
2019-CertiFUNcation-GDPR_12072019-typo3TYPO3 CertiFUNcation
 
2019-CertiFUNcation-DDEV-for-TYPO3
2019-CertiFUNcation-DDEV-for-TYPO32019-CertiFUNcation-DDEV-for-TYPO3
2019-CertiFUNcation-DDEV-for-TYPO3TYPO3 CertiFUNcation
 
2018 - CertiFUNcation - Olivier Dobberka: Apache Solr for Newbies
2018 - CertiFUNcation - Olivier Dobberka: Apache Solr for Newbies2018 - CertiFUNcation - Olivier Dobberka: Apache Solr for Newbies
2018 - CertiFUNcation - Olivier Dobberka: Apache Solr for NewbiesTYPO3 CertiFUNcation
 
2018 - CertiFUNcation - Jonas Weber: SEO Keynote
2018 - CertiFUNcation - Jonas Weber: SEO Keynote2018 - CertiFUNcation - Jonas Weber: SEO Keynote
2018 - CertiFUNcation - Jonas Weber: SEO KeynoteTYPO3 CertiFUNcation
 
2018 - CertiFUNcation - Fabian vor dem Esche: GDPR updated
2018 - CertiFUNcation - Fabian vor dem Esche: GDPR updated2018 - CertiFUNcation - Fabian vor dem Esche: GDPR updated
2018 - CertiFUNcation - Fabian vor dem Esche: GDPR updatedTYPO3 CertiFUNcation
 
2018 - CertiFUNcation - Armin Vieweg: phpstorm in a nutshell
2018 - CertiFUNcation - Armin Vieweg: phpstorm in a nutshell2018 - CertiFUNcation - Armin Vieweg: phpstorm in a nutshell
2018 - CertiFUNcation - Armin Vieweg: phpstorm in a nutshellTYPO3 CertiFUNcation
 
2018 - CertiFUNcation - Mathias Schreiber: What's new in TYPO3 v9
2018 - CertiFUNcation - Mathias Schreiber: What's new in TYPO3 v92018 - CertiFUNcation - Mathias Schreiber: What's new in TYPO3 v9
2018 - CertiFUNcation - Mathias Schreiber: What's new in TYPO3 v9TYPO3 CertiFUNcation
 
2018 - CertiFUNcation - Richard Haeser: SEO with TYPO3
2018 - CertiFUNcation - Richard Haeser: SEO with TYPO32018 - CertiFUNcation - Richard Haeser: SEO with TYPO3
2018 - CertiFUNcation - Richard Haeser: SEO with TYPO3TYPO3 CertiFUNcation
 
2018 - CertiFUNcation - Marcus Schwemer: TYPO3 Performance
2018 - CertiFUNcation - Marcus Schwemer: TYPO3 Performance2018 - CertiFUNcation - Marcus Schwemer: TYPO3 Performance
2018 - CertiFUNcation - Marcus Schwemer: TYPO3 PerformanceTYPO3 CertiFUNcation
 
2018 - CertiFUNcation - Jurian Janssen: Marketing Automation Mautic
2018 - CertiFUNcation - Jurian Janssen: Marketing Automation Mautic2018 - CertiFUNcation - Jurian Janssen: Marketing Automation Mautic
2018 - CertiFUNcation - Jurian Janssen: Marketing Automation MauticTYPO3 CertiFUNcation
 
2018 - CertiFUNcation - Helmut Hummel: Hardening TYPO3
2018 - CertiFUNcation - Helmut Hummel: Hardening TYPO32018 - CertiFUNcation - Helmut Hummel: Hardening TYPO3
2018 - CertiFUNcation - Helmut Hummel: Hardening TYPO3TYPO3 CertiFUNcation
 
2018 - CertiFUNcation - Marc Haunschild: Economic aspects of web accessibility
2018 - CertiFUNcation - Marc Haunschild: Economic aspects of web accessibility2018 - CertiFUNcation - Marc Haunschild: Economic aspects of web accessibility
2018 - CertiFUNcation - Marc Haunschild: Economic aspects of web accessibilityTYPO3 CertiFUNcation
 
2018 - CertiFUNcation - Nicole Cordes - Content Elements
2018 - CertiFUNcation - Nicole Cordes - Content Elements2018 - CertiFUNcation - Nicole Cordes - Content Elements
2018 - CertiFUNcation - Nicole Cordes - Content ElementsTYPO3 CertiFUNcation
 
2017 - TYPO3 CertiFUNcation: Scott Helme - The Encrypted Web Is Coming
2017 - TYPO3 CertiFUNcation: Scott Helme - The Encrypted Web Is Coming2017 - TYPO3 CertiFUNcation: Scott Helme - The Encrypted Web Is Coming
2017 - TYPO3 CertiFUNcation: Scott Helme - The Encrypted Web Is ComingTYPO3 CertiFUNcation
 
2017 - TYPO3 CertiFUNcation: Peter Kraume - What's new for Editors and in th...
2017 - TYPO3 CertiFUNcation: Peter Kraume - What's new for Editors  and in th...2017 - TYPO3 CertiFUNcation: Peter Kraume - What's new for Editors  and in th...
2017 - TYPO3 CertiFUNcation: Peter Kraume - What's new for Editors and in th...TYPO3 CertiFUNcation
 

Mehr von TYPO3 CertiFUNcation (20)

2019-certiFUNcation-Headless-Cms
2019-certiFUNcation-Headless-Cms2019-certiFUNcation-Headless-Cms
2019-certiFUNcation-Headless-Cms
 
2019-CertiFUNcation-UX-relationship_matters
2019-CertiFUNcation-UX-relationship_matters2019-CertiFUNcation-UX-relationship_matters
2019-CertiFUNcation-UX-relationship_matters
 
2019-CertiFUNcation-update-seo-dashboard-initiative-certifuncation2019
2019-CertiFUNcation-update-seo-dashboard-initiative-certifuncation20192019-CertiFUNcation-update-seo-dashboard-initiative-certifuncation2019
2019-CertiFUNcation-update-seo-dashboard-initiative-certifuncation2019
 
2019-CertiFUNcation-Hacking-Agile-not-a-tech-talk
2019-CertiFUNcation-Hacking-Agile-not-a-tech-talk2019-CertiFUNcation-Hacking-Agile-not-a-tech-talk
2019-CertiFUNcation-Hacking-Agile-not-a-tech-talk
 
2019-CertiFUNcation-GDPR_12072019-typo3
2019-CertiFUNcation-GDPR_12072019-typo32019-CertiFUNcation-GDPR_12072019-typo3
2019-CertiFUNcation-GDPR_12072019-typo3
 
2019-CertiFUNcation-DDEV-for-TYPO3
2019-CertiFUNcation-DDEV-for-TYPO32019-CertiFUNcation-DDEV-for-TYPO3
2019-CertiFUNcation-DDEV-for-TYPO3
 
2019-CertiFUNcation-Whats_New
2019-CertiFUNcation-Whats_New2019-CertiFUNcation-Whats_New
2019-CertiFUNcation-Whats_New
 
2018 - CertiFUNcation - Olivier Dobberka: Apache Solr for Newbies
2018 - CertiFUNcation - Olivier Dobberka: Apache Solr for Newbies2018 - CertiFUNcation - Olivier Dobberka: Apache Solr for Newbies
2018 - CertiFUNcation - Olivier Dobberka: Apache Solr for Newbies
 
2018 - CertiFUNcation - Jonas Weber: SEO Keynote
2018 - CertiFUNcation - Jonas Weber: SEO Keynote2018 - CertiFUNcation - Jonas Weber: SEO Keynote
2018 - CertiFUNcation - Jonas Weber: SEO Keynote
 
2018 - CertiFUNcation - Fabian vor dem Esche: GDPR updated
2018 - CertiFUNcation - Fabian vor dem Esche: GDPR updated2018 - CertiFUNcation - Fabian vor dem Esche: GDPR updated
2018 - CertiFUNcation - Fabian vor dem Esche: GDPR updated
 
2018 - CertiFUNcation - Armin Vieweg: phpstorm in a nutshell
2018 - CertiFUNcation - Armin Vieweg: phpstorm in a nutshell2018 - CertiFUNcation - Armin Vieweg: phpstorm in a nutshell
2018 - CertiFUNcation - Armin Vieweg: phpstorm in a nutshell
 
2018 - CertiFUNcation - Mathias Schreiber: What's new in TYPO3 v9
2018 - CertiFUNcation - Mathias Schreiber: What's new in TYPO3 v92018 - CertiFUNcation - Mathias Schreiber: What's new in TYPO3 v9
2018 - CertiFUNcation - Mathias Schreiber: What's new in TYPO3 v9
 
2018 - CertiFUNcation - Richard Haeser: SEO with TYPO3
2018 - CertiFUNcation - Richard Haeser: SEO with TYPO32018 - CertiFUNcation - Richard Haeser: SEO with TYPO3
2018 - CertiFUNcation - Richard Haeser: SEO with TYPO3
 
2018 - CertiFUNcation - Marcus Schwemer: TYPO3 Performance
2018 - CertiFUNcation - Marcus Schwemer: TYPO3 Performance2018 - CertiFUNcation - Marcus Schwemer: TYPO3 Performance
2018 - CertiFUNcation - Marcus Schwemer: TYPO3 Performance
 
2018 - CertiFUNcation - Jurian Janssen: Marketing Automation Mautic
2018 - CertiFUNcation - Jurian Janssen: Marketing Automation Mautic2018 - CertiFUNcation - Jurian Janssen: Marketing Automation Mautic
2018 - CertiFUNcation - Jurian Janssen: Marketing Automation Mautic
 
2018 - CertiFUNcation - Helmut Hummel: Hardening TYPO3
2018 - CertiFUNcation - Helmut Hummel: Hardening TYPO32018 - CertiFUNcation - Helmut Hummel: Hardening TYPO3
2018 - CertiFUNcation - Helmut Hummel: Hardening TYPO3
 
2018 - CertiFUNcation - Marc Haunschild: Economic aspects of web accessibility
2018 - CertiFUNcation - Marc Haunschild: Economic aspects of web accessibility2018 - CertiFUNcation - Marc Haunschild: Economic aspects of web accessibility
2018 - CertiFUNcation - Marc Haunschild: Economic aspects of web accessibility
 
2018 - CertiFUNcation - Nicole Cordes - Content Elements
2018 - CertiFUNcation - Nicole Cordes - Content Elements2018 - CertiFUNcation - Nicole Cordes - Content Elements
2018 - CertiFUNcation - Nicole Cordes - Content Elements
 
2017 - TYPO3 CertiFUNcation: Scott Helme - The Encrypted Web Is Coming
2017 - TYPO3 CertiFUNcation: Scott Helme - The Encrypted Web Is Coming2017 - TYPO3 CertiFUNcation: Scott Helme - The Encrypted Web Is Coming
2017 - TYPO3 CertiFUNcation: Scott Helme - The Encrypted Web Is Coming
 
2017 - TYPO3 CertiFUNcation: Peter Kraume - What's new for Editors and in th...
2017 - TYPO3 CertiFUNcation: Peter Kraume - What's new for Editors  and in th...2017 - TYPO3 CertiFUNcation: Peter Kraume - What's new for Editors  and in th...
2017 - TYPO3 CertiFUNcation: Peter Kraume - What's new for Editors and in th...
 

Kürzlich hochgeladen

一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理F
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsMonica Sydney
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样ayvbos
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsMonica Sydney
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfJOHNBEBONYAP1
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...meghakumariji156
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查ydyuyu
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiMonica Sydney
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制pxcywzqs
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查ydyuyu
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...gajnagarg
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"growthgrids
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdfMatthew Sinclair
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理F
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Balliameghakumariji156
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...kajalverma014
 

Kürzlich hochgeladen (20)

一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi EscortsIndian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
Indian Escort in Abu DHabi 0508644382 Abu Dhabi Escorts
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girls
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 

2017 - TYPO3 CertiFUNcation: Frans Saris - TYPO3 CKeditor for Integrators

  • 2. 2 About me Frans Saris developer @beech.it TYPO3 core/extension dev slack: minifranske twitter: @franssaris github: fsaris & frans-beech-it Beech.it first TYPO3 partner worldwide website: www.beech.it github: github.com/beechit/
  • 3. 3 Why the switch to CKEditor? ● We don’t have to fully maintain it our self ● Superb browser support ● Complying with the latest web accessibility standards ● Inline editing features ● Advanced Content Filter
  • 4. 4 Big changes ● Presets in YAML ● No automatic migration of existing configs ● <p> are now saved in database! ● No <typolink> anymore
  • 5. 5 Why YAML? ● CKEditor uses plain javascript for configuration ● typoscript for BE config is confusing for newcomers ● A new structure (new start) separate “processing” and Editor-related configuration ● Allows options to be extend but no conditions or unsetting values
  • 6. 6 Presets ● Defines editor appearance ● Defines what tags and styles are ● Defines what plugin’s to load ● Defines database processing `RTE.proc`
  • 10. 10 Add your own preset // Register or own text-element config $GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['text-element'] = 'EXT:config_examples/Configuration/RTE/TextElement.yaml'; ext_localconf.php
  • 11. 11 Configure your own preset # Load default processing options imports: - { resource: "EXT:rte_ckeditor/Configuration/RTE/Processing.yaml" } - { resource: "EXT:rte_ckeditor/Configuration/RTE/Editor/Base.yaml" } # Minimal configuration for the editor editor: config: stylesSet: [] toolbarGroups: - { name: basicstyles, groups: [ basicstyles] } removeButtons: - Underline - Strike EXT:config_examples/Configuration/RTE/TextElement.yaml
  • 12. 12 Configure your own preset # Load default processing options imports: - { resource: "EXT:rte_ckeditor/.../RTE/Processing.yaml" } - { resource: "EXT:rte_ckeditor/.../RTE/Editor/Base.yaml" }
  • 13. 13 Configure your own preset # Minimal configuration for the editor editor: config: stylesSet: [] toolbarGroups: - { name: basicstyles, groups: [ basicstyles] } removeButtons: - Underline - Strike yaml
  • 14. 14 Configure your own preset CKEDITOR.editorConfig = function( config ) { config.toolbarGroups = [ { name: 'basicstyles', groups: [ 'basicstyles' ] } ]; config.removeButtons = 'Underline,Strike'; }; http://ckeditor.com/tmp/4.5.0-beta/ckeditor/samples/toolbarconfigurator/ js editor: config: stylesSet: [] toolbarGroups: - { name: basicstyles, groups: [ basicstyles] } RemoveButtons: - Underline - Strike yaml
  • 15. 15 Configure your own preset # Minimal configuration for the editor editor: Config: # Ensure the key exists else the editor will not load stylesSet: [] toolbarGroups: - { name: basicstyles, groups: [ basicstyles] } removeButtons: - Underline - Strike yaml
  • 16. 16 Configure your own preset editor: config: stylesSet: # block level styles - { name: "Orange title H2", element: "h2", styles: { color: "orange", background: "blue" } } - { name: "Orange title H3", element: "h3", styles: { color: "orange", background: "blue" } } - { name: "Quote / Citation", element: "blockquote" } - { name: "Code block", element: "code" } # Inline styles - { name: "Yellow marker", element: "span", styles: { background-color: "yellow" } } yaml
  • 17. 17 Configure your own preset editor: config: format_tags: "p;h2;h3;pre" yaml
  • 18. 18 Migrate old button config editor: config: toolbar: - [ 'Bold', 'Italic', 'Underline', '-'] - [ 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock' ] - [ 'NumberedList', 'BulletedList', '-', 'Indent', 'Outdent' ] - '/' - [ 'HorizontalRule', 'Link', 'RemoveFormat', '-' ] - [ 'Copy', 'Cut', 'Paste', '-', 'Undo', 'Redo' ] extraPlugins: - justify RTE.default { showButtons ( bold, italic, underline, left, center, right, justifyfull, orderedlist, unorderedlist, indent, outdent, line, link, removeformat, copy, cut, paste, undo, redo ) toolbarOrder ( bold, italic, underline, bar, left, center, right, justifyfull, orderedlist, unorderedlist, bar, indent, outdent, linebreak, line, link, removeformat, bar, copy, cut, paste, bar, undo, redo ) } pageTS yaml
  • 19. 19 Use pageTS to set preset RTE { config { tt_content { bodytext { types { textmedia.preset = minimal my_ce.preset = full } } } [table].[field].preset = something } }
  • 20. 20 Use TCA to set preset 'content' => [ 'label' => 'LLL:EXT:lang/Res...eneral.xlf:LGL.text', 'config' => [ 'type' => 'text', 'cols' => 48, 'rows' => 5, 'enableRichtext' => true, 'richtextConfiguration' => 'minimal', ],
  • 21. 21 Use TCA to set preset 'content' => [ 'config' => [ 'type' => 'text', 'enableRichtext' => true, 'richtextConfiguration' => 'minimal', ], ] 'content' => [ 'config' => [ 'type' => 'text', ] 'defaultExtras' => 'richtext:rte_transform[mode=ts_css]', ] before TYPO3 8 LTS since TYPO3 8 LTS
  • 22. 22 Set default preset # Set default RTE preset RTE.default.preset = minimal PageTSconfig
  • 23. 23 Override default preset // Set your own default RTE config $GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['default'] = 'EXT:config_examples/Configuration/RTE/Default.yaml'; ext_localconf.php
  • 24. 24 Advanced Content Filter ● Only tags/classes/styles that are configured are kept ● Filters content during editing and paste ● Enabled by default ● Makes `processing` config most of the times obsolete “RTE.proc” http://sdk.ckeditor.com/samples/acf.html
  • 25. 25 Advanced Content Filter # Disable Advanced Content Filter editor: config: allowedContent: true yaml
  • 26. 26 But I don’t want to switch! ● Deprecated in TYPO3 8 LTS ● Moved to FriendsOfTYPO3/rtehtmlarea for 9 https://github.com/FriendsOfTYPO3/rtehtmlarea
  • 28. 28 And now? Some links ● https://github.com/frans-beech-it/t3ext-config_examples ● https://github.com/netresearch/t3x-rte_ckeditor_image ● https://typo3worx.eu/2017/02/configure-ckeditor-in-typo3/ ● https://docs.typo3.org/typo3cms/extensions/core/C hangelog/8.6/Feature-79216-AddYAMLConfigurationFo rCKEditorRTE.html ● http://docs.ckeditor.com/#!/api/CKEDITOR.config