WYSIWYG

26 January, 2022

Together with zrpnr, gabesullice, lauriii, bnjmnm, yashrode and hooromoo in Acquia’s Drupal Acceleration Team, I’ve been working on getting Drupal on CKEditor 5, because CKEditor 4 is reaching the end of its long and productive life.

zrpnr got it started in January 2021. We’ve been meeting with Reinmar 1 from the CKEditor 5 team to ensure a smooth automatic upgrade path from CKEditor 4: all functionality should be even better! Less than 10 months later, on November 11, 2021, CKEditor 5 was committed to Drupal 9.3!

3 September, 2019

2007 is the year of my first DrupalCon, and the year the #1 most wanted end-user feature was Better media handling. 2019 is the year that Drupal will finally have it. Doing things right takes time!

Back then I never would’ve believed I would someday play a small role in making it happen :)

Without further ado, and without using a mouse:

Your browser does not support playing videos. You can download it instead.

Reusing and embedding media, using only the keyboard.

The text editor assisted in producing this HTML:

<p>Let's talk about llamas!</p>

<drupal-media alt="A beautiful llama!" data-entity-type="media" data-entity-uuid="84911dc4-c086-4781-afc3-eb49b7380ff5" class="align-center"></drupal-media>

<p>(I like llamas, okay?)</p>

If you’re wondering why something seemingly so simple could have taken such a long time, read on for a little bit of Drupal history! (By no means a complete history.)

21 June, 2015

While walking, I started listening to Jeff Eaton’s Insert Content Here podcast, episode 25: Noz Urbina Explains Adaptive Content. People must’ve looked strangely at me because I was smiling and nodding — still walking :) Thanks Jeff & Noz!

Jeff Eaton explained how the web world looks at and defines the term WYSIWYG. Turns out that in the semi-structured, non-web world that Noz comes from, WYSIWYG has a totally different interpretation. And they ended renaming it to what it really was: WYSIWOO.

Jeff also asked Noz what “adaptive content” is exactly. Adaptive content is a more specialized/advanced form of structured content, and in fact “structured content”, “intelligent content” and “adaptive content” form a hierarchy:

26 September, 2013
Description

We had two CKEditor Q&A BoFs at DrupalCon Prague: one for site builders, one for developers. They both used the same presentation to get everybody up to speed, but we applied different nuances.

This was presented together with the CKEditor team.

Note: the slides including screenshots and screencasts are on GitHub at https://github.com/wimleers/talk-ckeditor-drupal8-qa, feel free to reuse them in your blogs & talks!

Demo

1. Why the Drupal 7 modules (CKEditor/WYSIWYG modules) sucked and the Text Editor/CKEditor modules in Drupal 8 rock 2. How to enable CKEditor for a text format. 3. How to configure CKEditor, and how that UI automatically updates your filter settings. 4. The things CKEditor can do out of the box (Advanced Content Filter, image uploading, image alignment and captioning, in-place editing, and so on). 5. How Advanced Content Filter prevents crappy HTML. 6. The things CKEditor can do with additional configuration (site-specific “styles” for content e.g. for callouts). 7. The things CKEditor can do if you install additional plugins. 8. How Drupal 8’s caption filter plus the corresponding CKEditor widget provide the end user with a great UX, yet with clean, non-blobby content in the database. 9. CKEditor plugin demos that show the range of things you can achieve with CKEditor.

Q&A

After that, we opened the floor to any and all questions you might have.

Were present to answer questions:

  • Wim Leers, who was the liaison between Drupal and CKEditor, and led the integration
  • Frederico Knabben, CKEditor founder/project lead, CKSource owner
  • Wiktor Walc, CKSource CTO, worked on CKEditor modules for ages
  • Piotrek KoszuliĹ„ski, CKEditor developer, developed the CKEditor Widgets system and worked on the Advanced Content Filter system and pasting support
  • Olek NowodziĹ„ski, CKEditor developer, worked on the Advanced Content Filter system, HiDPI (retina) support and many parts of CKEditor
Conference
DrupalCon Prague
Date
Location
Prague, Czech Republic
31 May, 2013

Drupal 8 will ship with big authoring experience improvements: WYSIWYG editing & in-place editing, thanks to the Spark distribution that Acquia — my employer — is sponsoring.

But how well does it fare with the growing importance of structured content? Do Drupal 8’s WYSIWYG & in-place editing enable it or prevent it?

The new web world order: many form factors

The Big Thing of the last few years: the advent of mobile. Inherent to that: websites that are optimized for mobile devices and act as data providers for apps.

A new form factor — mobile devices — changed web development forever. Before mobile, the life of web developers and authors (content creators) was relatively simple: make sure websites work well on a few typical screen sizes (let’s deny the existence of Internet Explorer 6 and all the misery it caused).

But … we cannot predict what’s next. We cannot predict new content consumption form factors. That’s where content strategy becomes vitally important:

content strategy is to copywriting as information architecture is to design

15 August, 2012

We had already let you know that we would be using Aloha Editor as the WYSIWYG editor in Spark. In short: it has a very complete feature set, a proven plug-in system, solid cross-browser support, it can do “nested editables”, and so on; but most notably it’s the best WYSIWYG editor out there that can do “true WYSIWYG”.

Sprint

To accelerate the integration of Aloha Editor into Spark’s Edit module, we decided to do a code sprint with the Aloha Editor developers. Acquia flew out Théodore “nod_” Biadala and Wim Leers to Vienna (Daniel “sun” Kudwien unfortunately wasn’t able to make it), to hack three days (July 16–18) in a row to get us as far as possible. Three of the Aloha Editor developers were working full-time with us.
We’d like to thank Aloha Editor’s parent company, Gentics, for their generous contribution and amazing hospitality.

The most notable goals were:

10 July, 2012

A few weeks ago, we showed the in-line editing prototype we had built for Spark, which has now blossomed into Edit module. Additionally, we also pointed out that we were in the process of selecting the WYSIWYG editor to use in Spark. This selection process was performed in the public Spark issue queue, in order to gather community feedback and to attempt to reach consensus. 73 people followed that issue, about two dozen of whom contributed to the discussion as well.