Skip to content

Migrate from Carrierwave to ActiveStorage #7290

@andreslucena

Description

@andreslucena

Ref: OM28 / DECOM-4

Historically in Rails we had our own holly war regarding what you should use for file uploads: Carrierwave or Paperclip.

From Rails 6 we had a new option: ActiveStorage. The nice thing about this is that it's a native Rails API, so it'd be better supported for other libraries and APIs, like Trix editor and ActionText.

Relevant issues

Relevant links

Legacy

Mind that as we're talking about a really integrated library inside of Decidim, so there're lots of files and features (like Attachments and file uploads everywhere) that need to be migrated also:

grep quill
$ grep -ril mount_uploader decidim*
decidim-assemblies/app/models/decidim/assembly.rb
decidim-conferences/app/models/decidim/conferences/partner.rb
decidim-conferences/app/models/decidim/conference.rb
decidim-conferences/app/models/decidim/conference_speaker.rb
decidim-consultations/app/models/decidim/consultation.rb
decidim-consultations/app/models/decidim/consultations/question.rb
decidim-core/app/models/decidim/user_base_entity.rb
decidim-core/app/models/decidim/authorization.rb
decidim-core/app/models/decidim/attachment.rb
decidim-core/app/models/decidim/oauth_application.rb
decidim-core/app/models/decidim/content_block.rb
decidim-core/app/models/decidim/user.rb
decidim-core/app/models/decidim/organization.rb
decidim-core/db/migrate/20180810092428_move_organization_fields_to_hero_content_block.rb
decidim-core/spec/lib/file_validator_humanizer_spec.rb
decidim-core/spec/validators/passthru_validator_spec.rb
decidim-core/spec/validators/uploader_content_type_validator_spec.rb
decidim-initiatives/app/models/decidim/initiatives_type.rb
decidim-participatory_processes/app/models/decidim/participatory_process.rb
decidim-participatory_processes/app/models/decidim/participatory_process_group.rb

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions