Introduction to conversion
# What is the conversion?
The editing engine of CKEditor 5 works on two separate layers – model and view. The process of transforming one into the other is called conversion.
# Upcast conversion
When you load data into the editor, the view is created out of the markup. Then, with the help of the upcast converters, the model is created. Once that is done, the model becomes the editor state. The whole process is called upcast conversion.
# Downcast conversion
All changes, such as typing or pasting from the clipboard, are applied directly to the model. To update the editing view, e.i. the layer being displayed to the user, the engine transforms these changes in the model to the view. The same process is executed when data needs to be generated (for example, when you copy editor content or use editor.getData()
). These processes are called editing and downcast conversions.
You can think about upcast and downcast as processes working in opposite directions, ones that are symmetrical to each other.
# Further reading
In the following guides, you will learn how to create the right converter for each case when creating your CKEditor 5 plugin.
-
The model has to be transformed into the view. Learn how to achieve that by creating downcast converters.
-
Raw data coming into the editor has to be transformed into the model. Learn how to achieve that by creating upcast converters.
-
There are plenty of ways to transform data between model and view. To help you do this as efficiently as possible, we provided many functions that speed up this process. This chapter will help you choose the right helper for the job.
Every day, we work hard to keep our documentation complete. Have you spotted outdated information? Is something missing? Please report it via our issue tracker.
With the release of version 42.0.0, we have rewritten much of our documentation to reflect the new import paths and features. We appreciate your feedback to help us ensure its accuracy and completeness.