CKEditor Pack TYPO3 extension provides a modern, integrated CKEditor build many optimized features, accessibility tools, AI assistance, and collaboration-friendly options—all without managing scattered YAML files. Built for stability and clean integration, it streamlines editing workflows and enhances TYPO3 content quality.
CKEditor Pack TYPO3 extension delivers a modern, powerful, and officially integrated rich-text editing experience optimized for TYPO3 users. It enhances content creation with many features, accessibility-ready tools, AI assistance, and seamless collaboration options. Built on open-source foundations, it ensures stability, extensibility, and clean integration without core changes. Ideal for editors, agencies, and enterprises, it streamlines workflows and elevates TYPO3 content quality
There are several ways to get support for the CKEditor Pack for TYPO3.
Community Support
If you run into any issues or have new ideas, please open an issue or feature request in our GitHub repository:
Github Issues.
To help us resolve things faster, kindly describe your concern in detail and use the predefined issue templates when creating your ticket.
Join the TYPO3 Slack Workspace to connect with other TYPO3 users and experts.
Use the dedicated channel #ckeditor-pack for discussions, questions, and technical help.
If you are not registered yet, please follow the official TYPO3 Slack onboarding guide.
Contributions play an important role in the growth and quality of open-source projects.
They are not limited to writing code, improving documentation, reporting issues, or helping
others on community channels are equally valuable.
Contribution Workflow
Create an Issue First
Before starting any change, please open an issue in the GitHub repository.
This helps clarify the problem, discuss feasibility, and confirm whether the proposed
change will be accepted.
Bug Fixes
If you are addressing a bug, clearly describe the issue and provide steps to reproduce it.
Bug fixes can only be reviewed and accepted if the problem can be reproduced reliably.
New Features
Not all features are suitable for every user.
To keep the extension simple and maintainable, please discuss new features in an issue
before submitting a pull request.
This ensures alignment, avoids unnecessary complexity, and helps evaluate whether the
feature should be included.
Pull Requests
All pull requests should be created from the latest release branch to avoid conflicts and
ensure compatibility.
The CKEditor Pack for TYPO3, along with its documentation, requires ongoing effort to develop,
maintain, and keep compatible with the latest TYPO3 versions, UI concepts, and best-practice
standards. If this extension supports your work or helps your business, please consider
contributing back. Your support enables continuous improvements, long-term maintenance, and
future enhancements.
If you need the extension updated ahead of an upcoming TYPO3 release, or if you require a
feature that is not yet available, feel free to reach out so we can discuss how to make it
possible.
PayPal
If you prefer a one-time contribution, donations via PayPal are also welcome and greatly
appreciated.
System Requirements
To ensure the CKEditor Pack for TYPO3 works smoothly and without compatibility issues, your
server environment must meet the following minimum requirements:
PHP Version: 8.1.0 - 8.5.99
TYPO3 version: v12.4.25 - v14.3.x
Visual Editor (optional): TYPO3 v13.0 or newer with the visual_editor system
extension for page-based inline editing support
Quick Installation
Installing the CKEditor Pack extension is easy. Follow the steps below to add the extension to your TYPO3 environment.
Via Composer using Command Line
composer req t3planet/rte-ckeditor-pack
Copied!
Via Extensions Module
In the TYPO3 backend you can use the extension manager (EM).
Step 1. Switch to the module “Extension Manager”.
Step 2. Get the extension
Step 3. Get it from the Extension Manager: Press the “Retrieve/Update” button and search for the extension key rte_ckeditor_pack and import the extension from the repository.
You can easily create your own RTE presets or edit your preset using the drag-and-drop UI toolbar management. Take a look at the interactive demo below:
We have added new preset management features in CKEditor to support both editors and developers, making configuration handling faster, safer, and more consistent.
1. Load from YAML
The Load from YAML feature retrieves the default RTE configuration directly from the TYPO3 core YAML file. It allows integrators to access or restore the original settings quickly, without manually navigating system directories.
The Reset feature clears database overrides for a preset (toolbar items and stored
feature configuration rows). After a reset, the editor falls back to the YAML
preset definition. Use this when experimental UI changes should be discarded.
Appends toolbar items that exist in YAML but are missing in the database
Merges feature field configuration from YAML into existing database feature rows
Sync does not replace the database configuration with YAML verbatim. If YAML
must be the single source of truth, use strict mode via the CLI (see below).
Preset sync logic is available as a reusable service and console command so you
can update tx_rteckeditorpack_domain_model_preset without using the backend
module.
# Additive sync (same behaviour as the backend Sync button) for all DB presets
vendor/bin/typo3 rteckeditorpack:presets:sync
# Sync one preset by key
vendor/bin/typo3 rteckeditorpack:presets:sync --preset=editing-preset
# Preserve DB-only tools and insert missing YAML tools near their YAML position
vendor/bin/typo3 rteckeditorpack:presets:sync --preset=editing-preset --mode=ordered
# YAML is authoritative (toolbar + feature configs written from YAML)# Prompts for confirmation; use --force to skip in scripts
vendor/bin/typo3 rteckeditorpack:presets:sync --preset=editing-preset --strict
# Clear DB overrides (same idea as the backend Reset button)
vendor/bin/typo3 rteckeditorpack:presets:sync --preset=editing-preset --mode=reset
# Non-interactive / CI: skip the confirmation prompt
vendor/bin/typo3 rteckeditorpack:presets:sync --preset=editing-preset --strict --force
Copied!
Mode
Option
Behaviour
additive
--mode=additive (default)
Keep DB order; append missing YAML items
ordered
--mode=ordered
Keep DB-only items; position new YAML items
strict
--strict / --mode=strict
YAML wins verbatim in the database
reset
--mode=reset
Clear DB toolbar + feature rows for the preset
Note
Ordered keeps the relative order of items that are already stored in the
database. It only inserts missing YAML items near their YAML neighbours.
It does not reorder existing toolbar items to match YAML. If the full YAML
toolbar order must be applied, use strict.
Confirmation:strict and reset show a short warning and ask
Are you sure you want to proceed? before changing data. Use --force
(or -f) to skip the prompt in scripts / CI.
Strict versus Reset
Although both modes can make the editor behave according to YAML, they update
the database differently:
Strict
Copies the YAML toolbar and feature configuration into the existing database
rows. The database remains populated and matches YAML immediately. Use this
whenever YAML must be the authoritative configuration.
Reset
Clears the toolbar override and removes the stored feature rows. It does
not copy YAML into the database. The editor falls back to the registered
YAML preset when it loads. Use this to discard backend customizations and
return to default behavior. Reset is idempotent: if no active overrides
remain, the command still reports a successful reset.
For example, when YAML contains bold,italic:
strict -> DB toolbar: "bold,italic"
reset -> DB toolbar: ""
Copied!
Use strict to write YAML into the database. Use reset
for an administrator's "undo my backend changes" action.
The command flushes the rte_ckeditor_config cache after a successful sync.
Custom database-only presets are always excluded from sync and reset because
they have no YAML source. When syncing all presets, other database rows without
a currently registered YAML source are also reported as skipped. Skipped rows
do not cause the command to fail. Sync compares the resulting toolbar and
feature configuration with the stored database values. It reports
Nothing to sync when no values changed and reports a successful sync only
when it updated the preset.
4. Import / Export Presets
The Import / Export Presets feature allows you to easily manage and share CKEditor presets between different TYPO3 environments. It helps you keep the same editor configuration across local, staging, and live systems without manual setup.
Import Presets
The Import Presets option lets you add CKEditor presets from a YAML file into your TYPO3 system.
This is useful when you receive a preset from another environment or project and want to reuse the same editor setup.
Simply upload the YAML file, and the preset will be created automatically with all toolbar buttons, groups, and settings.
The Export Presets option allows you to download existing or custom CKEditor presets as a YAML file.
This makes it easy to share presets with other TYPO3 systems or team members.
You can select a preset and export it, then import the same file into another TYPO3 installation to get the exact same configuration.
When exporting presets, the following features are not included
in the generated YAML file:
Document Outline
Paste Office Enhanced
Editoria11y
Markdown
Features
Create and manage your content easily with tools that help you write, format, and organize your work. From text editing to media, code, collaboration, and layout, everything is designed to keep your workflow smooth. These features make it simple to create clear, structured, and professional content without extra effort.
For page-based editing with TYPO3 Visual Editor, see Visual Editor.
Want to access advanced capabilities, including real-time collaboration, commenting, and revision history?
Explore the Premium Features
Text Editing & Formatting
Text transformation
Format text with short codes, convert URLs and emails into clickable links, and keep work safe
with continuous autosave. It also supports Automatic Text Transformation for autocorrect and
text expansion.
Editoria11y – Live Accessibility Checker in CKEditor
The Editoria11y Live Accessibility Checker is integrated directly into CKEditor to help editors create accessible content while they are editing.
It automatically checks content for common accessibility issues, such as heading structure, alternative text for images, link text, and basic contrast-related problems. Issues are highlighted directly inside the editor, so editors can fix them before publishing.
The checker can be used in real time while typing or manually through a toolbar button. This makes accessibility checks easy and does not require leaving the TYPO3 backend or using external tools.
By using Editoria11y in CKEditor, editors can improve content accessibility early and better follow WCAG guidelines and European accessibility requirements.
General HTML Support is a feature of :entity:organization:TYPO3 CMS that works together with existing Processing YAML styling and the RTE configuration.
It allows developers and editors to keep using their existing custom HTML structure along with RTE_ckeditor_pack HTML settings, without needing extra custom development.
Purpose
This feature helps you to:
Use your existing project-specific HTML
Combine Processing YAML rules with the RTE setup
Keep approved HTML tags, classes, and attributes
Make the editor more flexible in a controlled way
How It Works
By default, activating HTML support does not automatically permit any additional markup. Instead, all allowed elements must be clearly defined in the General HTML Support configuration.
This includes defining:
permitted HTML elements (for example: section, div, article, span, iframe)
allowed attributes (such as id, data-*, class, style)
approved CSS classes and styles
After configuration:
The editor accepts the defined HTML
Allowed HTML is kept while editing
Content is saved without removing approved markup
Any HTML that is not allowed will be automatically removed
Important Note
This feature only keeps the HTML that is clearly allowed in the configuration.
- Allowed HTML elements and attributes will stay in the content
- Not allowed or undefined HTML will be removed automatically
For example:
If div is allowed, it will remain in the content
If div is not allowed, it will be removed when the content is processed
CKEditor Pack works seamlessly with TYPO3's Visual Editor module. Editors can use
the same CKEditor presets, toolbar configuration, and premium features directly inside the
page-based Visual Editor workflow — not only in classic FormEngine record editing.
Overview
When the visual_editor system extension is active, CKEditor Pack renders rich-text
fields inside the Visual Editor preview iframe (editMode=1). The extension reuses the
same database-backed presets from the CKEditor Pack module, so toolbar items, enabled
features, and processing rules stay consistent between:
Extension:visual_editor system extension installed and enabled
CKEditor Pack: configured preset (for example camino_default or a custom preset)
Opening the Visual Editor
Log in to the TYPO3 backend.
Open Web → Visual Editor.
Select the page you want to edit.
Click an editable rich-text content element.
CKEditor loads inside the nested preview iframe with the configured preset toolbar.
CKEditor Pack in TYPO3 Visual Editor
Collaboration
CKEditor Pack also brings collaboration features into Visual Editor, including:
Real-time collaboration
Comments
Track changes
Revision history
Collaboration uses the same preset configuration and channel setup as classic backend
editing, so teams can work on content directly from the Visual Editor page view.
The CKEditor AI suite combines conversational assistance, automated reviews, and one-click quick actions to keep editors in flow. Use AI Chat for multi-turn ideation within the current document, enable AI Review to surface grammar and style improvements inline, and configure AI Quick Actions for instant rewrites or translations straight from the toolbar. Together, these capabilities deliver a cohesive, context-aware editing experience that scales from quick tweaks to full collaborative workflows.
Configuration Requirements
Follow the exact configuration steps demonstrated in the Interactive guide below. Once the link is available, review the demo to ensure your setup matches the showcased order of actions before enabling the features in production.
The AI Chat feature provides a conversational AI assistant that supports content creation, editing, and ideation directly inside CKEditor. It enables dynamic, multi-turn interactions through a chat interface, offering a collaborative and context-aware writing experience beyond single-prompt generation.
Adjust the AI configuration as needed. To enable the Chat feature, load the AIChat plugin in your CKEditor configuration. When enabled, a Chat button appears in the AI interface together with access to chat history.
1. Working with the Document
CKEditor AI Chat operates in the context of the active document. Reference specific paragraphs, request full-document proofreading, or ask questions about the currently visible content. Optional Web search and Reasoning features extend the assistant with real-time information and advanced logical processing.
2. Making Changes to Content
Request summarization, rewriting, or structural improvements. Instead of dumping plain text, AI Chat returns proposed edits that you can review, accept, reject, or convert into Track Changes suggestions—eliminating copy/paste workflows.
3. Brainstorming and Content Creation
Start from a blank page, generate ideas, build outlines, and refine drafts entirely through conversation. The AI can rewrite, proofread, or polish text whenever needed.
4. Integration
Enable the Chat feature by loading the AIChat plugin. Once active, the Chat button appears in the AI panel along with chat history controls.
5. Available Models
Users pick from available AI models via the selector at the bottom of the chat panel. The chosen model remains active for the conversation; start a new chat (+ New chat) to switch models.
6. Web Search
Web search lets AI retrieve real-time facts, verify information, and generate up-to-date responses. Activate it with the Enable web search toggle for compatible models.
7. Reasoning
Reasoning enhances problem solving, contextual analysis, and structured outputs. Turn it on with Enable reasoning when the model supports it.
8. Adding Context to Conversations
Use Add context to attach URLs, files, or documents. The AI analyzes the supplied material to provide summaries, explanations, or answers. Integrations with centralized resource libraries are supported.
9. Working with AI-Generated Changes
AI responses include proposed edits. Hovering a suggestion highlights the corresponding document section for context before applying it.
10. Showing Details
Toggle Show details to switch between:
- Detailed view – shows markup for additions, deletions, and formatting.
- Simplified view – clean preview of the updated text.
11. Previewing Changes
Show in the text opens a preview window with navigation, apply/reject controls, and Track Changes conversion options. The preview stays synced with the document.
12. Applying Changes
Apply inserts the selected suggestion.
Apply all accepts every AI-generated change at once.
13. Inserting Track Changes Suggestions
With Track Changes enabled:
- Insert suggestion applies individual edits as suggestions.
- Suggest (under Apply all) converts all edits into Track Changes entries.
14. Rejecting Suggestions
Use Delete (Reject) to dismiss unwanted proposals.
15. Chat History
All conversations appear in the Chat history panel. Users can reopen sessions, rename conversations, delete entries, and filter by date or search term.
AI Quick Actions
AI Quick Actions streamline routine transformations by surfacing one-click, AI-powered suggestions within CKEditor. Users can enhance, refine, or analyze selected text instantly, or send it to Chat for deeper exploration.
Load the AIQuickActions plugin in your CKEditor configuration.
Add the Quick actions menu (aiQuickActions) to either the main toolbar or the balloon toolbar. Follow the toolbar configuration guide for placement details.
Optionally expose individual shortcuts (e.g., ask-ai, improve-writing) or entire categories such as Adjust length or Change tone for faster access.
Types of Actions
Actions that open Chat
These push the selection into the Chat panel, optionally with a pre-filled prompt.
Examples:
- ask-ai – Opens Chat with the selected text as context.
- summarize – Opens Chat and auto-generates a summary request.
Actions that open a popup
These display an AI proposal in a contextual popup with Accept, Reject, and Re-run options.
Reorder or re-categorize actions to match project needs.
Place high-usage shortcuts directly on the toolbar or balloon UI.
Each Quick Action can also serve as a conversation starter with AI Chat, ensuring consistent handoff between quick transforms and deeper ideation.
AI Review
AI Review delivers AI-powered quality assurance by analyzing content for grammar, style, tone, clarity, and other key writing parameters. Editors can review, accept, or reject AI-generated suggestions without leaving CKEditor, helping maintain high standards with minimal effort.
Load the AIReviewMode plugin to enable Review Mode. Once activated, the Review Mode button appears in the AI panel, unlocking review commands and automated analysis. Refer to the AI installation guide for full setup details.
Workflow Highlights
Runs structured checks on grammar, style, tone, clarity, and consistency.
Surfaces actionable suggestions in-context with accept/reject controls.
Integrates with Track Changes to keep editorial workflows auditable.
Provides a streamlined interface so reviewers can focus on high-impact fixes.
Usage Tips
Activate Review Mode from the AI panel once the plugin is enabled.
Initiate an AI Review to scan the current document or selection.
Step through each suggestion, applying or rejecting updates inline.
Convert accepted edits into Track Changes suggestions when collaboration requires explicit approval trails.
For more detail, see the section on installing and enabling AI features.
Updating
If you are updating the CKEditor Pack for TYPO3 to a newer version, please review this section
carefully to ensure a smooth and safe upgrade.
Versioning
The CKEditor Pack follows the semantic versioning model.
It uses the format:
<major>.<minor>.<patch>
Major: Includes breaking changes
Minor: Introduces new functionality without breaking existing setups
Patch: Contains bug fixes and minor improvements without breaking changes
Before Updating
Always back up your database and files before performing an update to avoid any data loss or compatibility issues.
Before proceeding with any update:
Review the changelog of all versions released since your current installation. This helps you understand new features, deprecations, or potential adjustments. You can find the full changelog in the documentation.
Run the update on a test or staging environment, if possible. This allows you to identify any conflicts or required configuration updates safely. Always create a full database and file backup before updating the extension. This ensures you can roll back quickly in case of unexpected issues.
Support
Have any questions or need help with CKEditor Pack?
Our dedicated TYPO3 experts are here to support you every step of the way. Whether you’re facing technical issues, need guidance, or want to request a custom feature, we’ve got you covered.
Here is the list of features and updates introduced in this release:
31-07-2026 [FEATURE] Introduced preset synchronization with CLI support (#23)31-07-2026 [FEATURE] Introduced automated test coverage (unit/functional) with CI support (#14)31-07-2026 [TASK] Moved backend module from Web to Admin Tools (#4)31-07-2026 [TASK] Improved compatibility with Visual Editor
31-07-2026 [BUGFIX] QC/QA bug fixing and stability improvements
31-07-2026 [DOC] Updated Toolbar & Presets documentation for CLI sync behaviour
31-07-2026 [RELEASE] Released v3.2.1 minor version
Copied!
3.2.0 25 June 2026
Here is the list of features and updates introduced in this release:
25-06-2026 [FEATURE] Introduced SiteSets feature
25-06-2026 [FEATURE] Introduced Support for the Visual editor
25-06-2026 [TASK] Update CKEditor version to 47.6.025-06-2026 [TASK] Added support for PHP v8.5for improved performance and security
25-06-2026 [BUGFIX] Minor bug fixes and improvements
25-06-2026 [DOC] Updated documentation with new features and configuration changes
25-06-2026 [RELEASE] Released v3.2.0 stable version
Copied!
3.1.1 12 February 2026
Here is the list of features and updates introduced in this release:
12-02-2026 [TASK] Allowed data- attributes, when pasting HTML in RTE.
12-02-2026 [TASK] Enhanced UI/UX for better usability.
12-02-2026 [BUGFIX] Resolve HTML entity decoding issue to ensure accurate text rendering.
12-02-2026 [DOC] Updated documentation with new features and configuration changes.
12-02-2026 [RELEASE] Released v3.1.1 minor version.
Copied!
3.1.0 19 December 2025
Here is the list of features and updates introduced in this release:
19-12-2025 [FEATURE] Introduced import-export feature (see issue #7)19-12-2025 [FEATURE] Introduced Editoria11y feature (see issue #10)19-12-2025 [FEATURE] Updated Dashboard UI and UX for improved usability and performance
19-12-2025 [BUGFIX] Minor bug fixes and improvements
19-12-2025 [DOC] Updated documentation with new features and configuration changes
19-12-2025 [RELEASE] Released v3.1.0 minor version
Copied!
3.0.0 4 December 2025
Here is the list of features and updates introduced in this release:
04-12-2025 [FEATURE] Introduced developer-friendly CKEditor Pack GUI to respect, fallback and sync their existing YAML based CKEditor (see issue #1)04-12-2025 [FEATURE] Configuration merge intelligence – Combines YAML and CKEditor pack settings while preserving user customizations
04-12-2025 [FEATURE] Updated Dashboard UI and UX for improved usability and performance
04-12-2025 [FEATURE] Added “Reset Preset” and"Sync Preset" to quickly restore presets to original YAML defaults
04-12-2025 [TASK] Added WProofreader note to the Settings modal
04-12-2025 [TASK] Code architecture improvements for better maintainability
04-12-2025 [BUGFIX] Fixed non–real-time collaboration comment archive feature
04-12-2025 [BUGFIX] Resolved AI Chat height and width issues
04-12-2025 [BUGFIX] Fixed empty string handling in configuration arrays (Balloon and Block Toolbar)
04-12-2025 [BUGFIX] Minor bug fixes and improvements
04-12-2025 [DOC] Updated documentation with new features and configuration changes
04-12-2025 [RELEASE] Major breaking changes v3.x (see migration guide)
Copied!
2.0.0 28 November 2025
Here is the list of features and updates introduced in this release:
28-11-2025 [FEATURE] Compatibility with TYPO3 v14.0.028-11-2025 [FEATURE] Introduced new CKEditor features Source Editing Enhanced.
28-11-2025 [FEATURE] Introduced CKEditor official documentation link in feature cards.
28-11-2025 [FEATURE] Updated preset management to prevent repeated re-selection
28-11-2025 [FEATURE] Enhanced dark mode compatibility to align with TYPO3 v14
28-11-2025 [TASK] Upgraded the project for full compatibility with TYPO3 v14
28-11-2025 [TASK] Updated styles to ensure compatibility across TYPO3 v12, v13, and v14
28-11-2025 [TASK] Redesigned the dashboard UI/UX for improved usability
28-11-2025 [TASK] Added support for PHP v8.4for improved performance and security
28-11-2025 [TASK] Improved extension behavior in TYPO3 debug mode
28-11-2025 [TASK] Upgraded backend accessibility to align with TYPO3 v14 standards
28-11-2025 [TASK] Improved overall usability and performance for a smoother user experience
28-11-2025 [TASK] Performed code cleanup and optimization by removing deprecated or outdated code
28-11-2025 [BUGFIX] Resolved minor frontend plugin functionality issue
28-11-2025 [RELEASE] Released v2.0.0 major version
Copied!
1.1.0 26 November 2025
Here is the list of features and updates introduced in this release:
26-11-2025 [FEATURE] Introduced new AI features including AI Chat, AI Chat History, AI Quick Actions & AI Review
26-11-2025 [FEATURE] Implemented AI configuration options
26-11-2025 [FEATURE] Updated editor CSS to support AI sidebar layout and tab visibility
26-11-2025 [FEATURE] Implemented AI initialization flow and error handling
26-11-2025 [TASK] Separate highlight premium features in toolbar.
26-11-2025 [DOC] Updated documentation to reflect new AI features and configuration changes
26-11-2025 [RELEASE] Released v1.1.0 stable version
Copied!
1.0.1 24 November 2025
Here is the list of features and updates introduced in this release:
24-11-2025 [FEATURE] Added search functionality to the Toolbar, including active/inactive item highlighting.
24-11-2025 [TASK] Removed the "Files" tab from the module and moved Image Configuration to the Free Packages section.
24-11-2025 [TASK] Renamed "Create Groups" to "Toolbar Groups"for better clarity.
24-11-2025 [TASK] Added hover-text for Separator andNew Line Break in Toolbar Active Items.
24-11-2025 [TASK] Updated Documentation to reflect the latest UI and feature set.
24-11-2025 [RELEASE] Released v1.0.1 minor version
Copied!
1.0.0 22 November 2025
Here is the list of features and updates introduced in the initial release:
22-11-2025 [FEATURE] Introduced drag-and-drop toolbar management with customizable preset creation
22-11-2025 [FEATURE] Introduced CKEditor's free features set with customization options
22-11-2025 [FEATURE] Introduced all premium features of latest CKEditor v47.x
22-11-2025 [RELEASE] Released v1.0.0 stable version
Copied!
Migration
A proper migration ensures that your installation adopts the latest standards,
avoids conflicts with outdated configurations and benefits from all improvements
introduced in the new version.
For detailed instructions, please refer to the migration guide below.
Apply the Database Compare (Install Tool or TYPO3 CLI) to create the
domain models that store toolbar groups, configuration items, and revision
metadata:
./vendor/bin/typo3 database:updateschema
Copied!
Post-Install Checklist
Verify backend modules render without errors.
Ensure CKEditor instances pick up the packaged presets.
Check browser console to confirm JavaScript modules from
EXT:|extension_key|/Resources/Public/JavaScript load correctly.
Premium Features
Want to access advanced capabilities, including real-time collaboration, commenting, and revision history?