Skip to content

Migrate from QuillJS to Tiptap Editor #10082

@andreslucena

Description

@andreslucena

For some time we've seen that QuillJS editor, the WYSIWYG editor that we use in the backend and also in the frontend, is not well maintained. Some examples:

Last year we planned to migrate to Trix Editor (#7289), but after studying all the effort that this migration could take (see #7585), we postpone that.

Through financing by the Decidim Association, we'll tackle this for the next release.

Legacy

Mind that as we're talking about a really integrated library inside Decidim, so there are lots of files and features (like File uploads, Videos iframes, Mentions, Hashtags, Character counter) that need to be migrated also:

$ grep -ril quill decidim*
decidim-admin/spec/system/admin_manages_organization_spec.rb
decidim-admin/app/packs/src/decidim/admin/application.js
decidim-admin/app/packs/src/decidim/admin/tab_focus.js
decidim-admin/app/packs/entrypoints/decidim_admin.js
decidim-admin/app/packs/stylesheets/decidim/admin/application.scss
decidim-comments/app/packs/src/decidim/comments/comments.component.test.js
decidim-conferences/app/packs/src/decidim/conferences/admin/conferences.js
decidim-core/app/packs/src/decidim/redesigned_input_character_counter.js
decidim-core/app/packs/src/decidim/vendor/image-upload.min.js
decidim-core/app/packs/src/decidim/vendor/image-resize.min.js
decidim-core/app/packs/src/decidim/editor.js
decidim-core/app/packs/src/decidim/redesigned_index.js
decidim-core/app/packs/src/decidim/index.js
decidim-core/app/packs/src/decidim/editor/history_override.js
decidim-core/app/packs/src/decidim/editor/clipboard_utilities.js
decidim-core/app/packs/src/decidim/editor/modified_backspace_offset1.js
decidim-core/app/packs/src/decidim/editor/modified_backspace_offset_any.js
decidim-core/app/packs/src/decidim/editor/linebreak_module.js
decidim-core/app/packs/src/decidim/editor/modified_enter.js
decidim-core/app/packs/src/decidim/editor/attribute_diff.js
decidim-core/app/packs/src/decidim/editor/clipboard_override.js
decidim-core/app/packs/src/decidim/input_mentions.js
decidim-core/app/packs/src/decidim/input_character_counter.js
decidim-core/app/packs/src/decidim/input_hashtags.js
decidim-core/app/packs/entrypoints/decidim_core.js
decidim-core/app/packs/stylesheets/decidim/_editor.scss
decidim-core/app/packs/stylesheets/decidim/modules/_input-mentions.scss
decidim-core/app/packs/stylesheets/decidim/extras/_extras.scss
decidim-core/app/packs/images/decidim/remixicon.symbol.svg
decidim-core/lib/decidim/webpacker/webpack/custom.js
decidim-core/lib/decidim/db/common-passwords.txt
decidim-forms/app/packs/src/decidim/forms/admin/forms.js
decidim-meetings/app/packs/src/decidim/meetings/admin/registrations_form.js
decidim-meetings/app/packs/src/decidim/meetings/admin/agendas.js
decidim-system/app/packs/src/decidim/system/application.js
decidim_app-design/app/views/public/library/_library-javascripts.html.erb
decidim_app-design/packages/eslint-config/index.js
decidim_app-design/packages/core/package.json
decidim_app-design/package-lock.json
decidim_app-design/config/webpack/custom.js

Acceptance criteria

  • Given that I'm a participant that has access to the WYSIWYG editor
    When I go to the editor
    Then I don't see any feature missing, comparing it with the same editor in v0.27

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions