What is @ckeditor/ckeditor5-cloud-services?
@ckeditor/ckeditor5-cloud-services is a package that provides cloud-based services for CKEditor 5, including real-time collaboration, image upload, and automatic save. It allows developers to integrate these features into their CKEditor 5 instances with ease.
What are @ckeditor/ckeditor5-cloud-services's main functionalities?
Real-time Collaboration
This feature allows multiple users to collaborate on the same document in real-time. The code sample demonstrates how to initialize CKEditor 5 with cloud services for real-time collaboration.
const ClassicEditor = require('@ckeditor/ckeditor5-editor-classic/src/classiceditor');
const CloudServices = require('@ckeditor/ckeditor5-cloud-services/src/cloudservices');
ClassicEditor.create(document.querySelector('#editor'), {
cloudServices: {
tokenUrl: 'https://example.com/cs-token-endpoint',
uploadUrl: 'https://your-organization-id.cke-cs.com/easyimage/upload/'
}
}).then(editor => {
console.log('Editor was initialized', editor);
}).catch(error => {
console.error(error.stack);
});
Image Upload
This feature allows users to upload images to the cloud directly from the editor. The code sample shows how to configure the editor to use cloud services for image uploads.
const ClassicEditor = require('@ckeditor/ckeditor5-editor-classic/src/classiceditor');
const CloudServices = require('@ckeditor/ckeditor5-cloud-services/src/cloudservices');
ClassicEditor.create(document.querySelector('#editor'), {
cloudServices: {
tokenUrl: 'https://example.com/cs-token-endpoint',
uploadUrl: 'https://your-organization-id.cke-cs.com/easyimage/upload/'
}
}).then(editor => {
console.log('Editor was initialized', editor);
}).catch(error => {
console.error(error.stack);
});
Automatic Save
This feature enables automatic saving of the document content to the server. The code sample demonstrates how to set up automatic save functionality using cloud services.
const ClassicEditor = require('@ckeditor/ckeditor5-editor-classic/src/classiceditor');
const CloudServices = require('@ckeditor/ckeditor5-cloud-services/src/cloudservices');
ClassicEditor.create(document.querySelector('#editor'), {
cloudServices: {
tokenUrl: 'https://example.com/cs-token-endpoint',
uploadUrl: 'https://your-organization-id.cke-cs.com/easyimage/upload/'
},
autosave: {
save(editor) {
return saveData(editor.getData());
}
}
}).then(editor => {
console.log('Editor was initialized', editor);
}).catch(error => {
console.error(error.stack);
});
function saveData(data) {
// Save data to your server
console.log('Saving data', data);
}
Other packages similar to @ckeditor/ckeditor5-cloud-services
quill
Quill is a modern WYSIWYG editor built for compatibility and extensibility. It offers a similar real-time collaboration feature through third-party services like Pusher or Firebase. However, it does not provide built-in cloud services for image upload or automatic save.
tinymce
TinyMCE is a popular rich text editor that offers a wide range of plugins for additional functionalities, including image upload and real-time collaboration. Unlike @ckeditor/ckeditor5-cloud-services, TinyMCE requires separate configuration and third-party services for real-time collaboration.
prosemirror
ProseMirror is a toolkit for building rich text editors with a focus on extensibility and customizability. It provides the building blocks for real-time collaboration and image upload but requires more manual setup compared to the out-of-the-box solutions provided by @ckeditor/ckeditor5-cloud-services.
42.0.2 (July 25, 2024)
We are happy to announce the release of CKEditor 5 v42.0.2.
Release highlights
This is a patch release that includes the following bug fixes for new installation methods introduced in v42.0.0:
- Fixed type definitions for the imports used in the optimized build (see #16684).
- Fixed minor issues with the
ckeditor5-editor.css
, ckeditor5-content.css
, and other optimized style sheets (see #16703). - Fixed issues with installing and loading the CKEditor 5 packages using Yarn PnP (see #16646).
- Fixed issues with loading CSS and translation files with older bundlers, such as Vite 2 and Vite 3 (see #16638).
Additionally, we fixed some performance issues in the track changes plugin. The editing experience was heavily affected if there were many (hundreds or more) suggestions in the document. This was a regression introduced in v41.0.0.
Bug fixes
- ckeditor5: Changed the path to the types in the
package.json
. See #16684. (commit) - ckeditor5: Updated the
exports
field in package.json
to fix issues with loading CSS and translations in older bundlers. See #16638. (commit) - ckeditor5-premium-features: Changed the path to the types in the
package.json
. - ckeditor5-premium-features: Updated the
exports
field in package.json
to fix issues with loading CSS and translations in older bundlers. - Added dependencies used in the new
dist
folder as production dependencies
instead of devDependencies
. Related to #16646. (commit)
Other changes
- track-changes: Performance fixes for scenarios where hundreds of suggestions exist in the document.
Released packages
Check out the Versioning policy guide for more information.
<details>
<summary>Released packages (summary)</summary>
Other releases:
</details>