diff --git a/CHANGELOG.md b/CHANGELOG.md index e17ffbb25cc3c..282f5e11d69cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -134,6 +134,18 @@ PR [\#8645](https://github.com/decidim/decidim/pull/8645) we now only allow PNG ### Changed +### Rename data portability to download your data + +"Data portability" has been renamed to "Download you data" at [\#9196](https://github.com/decidim/decidim/pull/9196), you should update your cron job via crontab -e. +``` +0 0 * * * cd /home/user/decidim_application && RAILS_ENV=production bundle exec rake decidim:delete_data_portability_files +``` +Changes to: +``` +0 0 * * * cd /home/user/decidim_application && RAILS_ENV=production bundle exec rake decidim:delete_download_your_data_files +``` + + - **decidim-core**: The `Decidim::ActivitySearch` class has been rewritten as `Decidim::PublicActivities` which is now a `Rectify::Query` class instead of `Searchlight::Search` class due to the removal of Searchlight at [\#8748](https://github.com/decidim/decidim/pull/8748). - **decidim-core**: The `Decidim::ResourceSearch` class now inherits from `Ransack::Search` instead of `Searchlight::Search` as of [\#8748](https://github.com/decidim/decidim/pull/8748). The new `ResourceSearch` class provides extra search functionality for contextual searches that require context information in addition to the search parameters, such as current user or current component. It has barely anything to do with the `ResourceSearch` class in the previous versions which contained much more logic. Please review all your search classes that were inheriting from this class. You should migrate your search filtering to Ransack. - **decidim-debates**, **decidim-initiatives**, **decidim-meetings**: The resource search classes `Decidim::Debates::DebateSearch`, `Decidim::Intitatives::InitiativeSearch` and `Decidim::Meetings::MeetingSearch` are rewritten for the Ransack searches due to Searchlight removal at [\#8748](https://github.com/decidim/decidim/pull/8748). The role of these classes is now to pass contextual information to the searches, such as the current user. All other search filtering should happen directly through Ransack. diff --git a/decidim-accountability/app/models/decidim/accountability/result.rb b/decidim-accountability/app/models/decidim/accountability/result.rb index aea9f8544306c..b44bca63ff500 100644 --- a/decidim-accountability/app/models/decidim/accountability/result.rb +++ b/decidim-accountability/app/models/decidim/accountability/result.rb @@ -15,7 +15,7 @@ class Result < Accountability::ApplicationRecord include Decidim::Comments::CommentableWithComponent include Decidim::Traceable include Decidim::Loggable - include Decidim::DataPortability + include Decidim::DownloadYourData include Decidim::Randomable include Decidim::Searchable include Decidim::TranslatableResource diff --git a/decidim-budgets/app/models/decidim/budgets/order.rb b/decidim-budgets/app/models/decidim/budgets/order.rb index b7fe7c3601f86..ae4c0ef7b9453 100644 --- a/decidim-budgets/app/models/decidim/budgets/order.rb +++ b/decidim-budgets/app/models/decidim/budgets/order.rb @@ -5,7 +5,7 @@ module Budgets # The data store for a Order in the Decidim::Budgets component. It is unique for each # user and component and contains a collection of projects class Order < Budgets::ApplicationRecord - include Decidim::DataPortability + include Decidim::DownloadYourData include Decidim::NewsletterParticipant belongs_to :user, class_name: "Decidim::User", foreign_key: "decidim_user_id" @@ -171,7 +171,7 @@ def self.user_collection(user) end def self.export_serializer - Decidim::Budgets::DataPortabilityBudgetsOrderSerializer + Decidim::Budgets::DownloadYourDataBudgetsOrderSerializer end def self.newsletter_participant_ids(component) diff --git a/decidim-budgets/app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb b/decidim-budgets/app/serializers/decidim/budgets/download_your_data_budgets_order_serializer.rb similarity index 88% rename from decidim-budgets/app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb rename to decidim-budgets/app/serializers/decidim/budgets/download_your_data_budgets_order_serializer.rb index b6c452c01e6ba..49e5e44b6f4e1 100644 --- a/decidim-budgets/app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb +++ b/decidim-budgets/app/serializers/decidim/budgets/download_your_data_budgets_order_serializer.rb @@ -2,13 +2,13 @@ module Decidim module Budgets - class DataPortabilityBudgetsOrderSerializer < Decidim::Exporters::Serializer + class DownloadYourDataBudgetsOrderSerializer < Decidim::Exporters::Serializer # Public: Initializes the serializer with a conversation. def initialize(order) @order = order end - # Serializes a Debate for data portability + # Serializes a Debate for download your data def serialize { id: order.id, diff --git a/decidim-budgets/spec/serializers/data_portability_budgets_order_serializer_spec.rb b/decidim-budgets/spec/serializers/download_your_data_budgets_order_serializer_spec.rb similarity index 98% rename from decidim-budgets/spec/serializers/data_portability_budgets_order_serializer_spec.rb rename to decidim-budgets/spec/serializers/download_your_data_budgets_order_serializer_spec.rb index 525ea99a2c7f4..ee3e2681eed85 100644 --- a/decidim-budgets/spec/serializers/data_portability_budgets_order_serializer_spec.rb +++ b/decidim-budgets/spec/serializers/download_your_data_budgets_order_serializer_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" module Decidim::Budgets - describe DataPortabilityBudgetsOrderSerializer do + describe DownloadYourDataBudgetsOrderSerializer do let(:resource) { create(:order) } let!(:projects) { create_list(:project, 2, budget: resource.budget, budget_amount: 25_000_000) } diff --git a/decidim-comments/app/models/decidim/comments/comment.rb b/decidim-comments/app/models/decidim/comments/comment.rb index fbe0be8689f99..ae1afffbd6810 100644 --- a/decidim-comments/app/models/decidim/comments/comment.rb +++ b/decidim-comments/app/models/decidim/comments/comment.rb @@ -10,7 +10,7 @@ class Comment < ApplicationRecord include Decidim::Authorable include Decidim::Comments::Commentable include Decidim::FriendlyDates - include Decidim::DataPortability + include Decidim::DownloadYourData include Decidim::Traceable include Decidim::Loggable include Decidim::Searchable diff --git a/decidim-comments/app/models/decidim/comments/comment_vote.rb b/decidim-comments/app/models/decidim/comments/comment_vote.rb index 42ce83016323c..ae05469bddc21 100644 --- a/decidim-comments/app/models/decidim/comments/comment_vote.rb +++ b/decidim-comments/app/models/decidim/comments/comment_vote.rb @@ -5,7 +5,7 @@ module Comments # A comment can include user votes. A user should be able to upVote, votes with # weight 1 and downVote, votes with weight -1. class CommentVote < ApplicationRecord - include Decidim::DataPortability + include Decidim::DownloadYourData belongs_to :comment, foreign_key: "decidim_comment_id", class_name: "Comment" belongs_to :author, foreign_key: "decidim_author_id", foreign_type: "decidim_author_type", polymorphic: true diff --git a/decidim-comments/lib/decidim/comments/comment_serializer.rb b/decidim-comments/lib/decidim/comments/comment_serializer.rb index 6a9bbf637e815..a05a617338e6f 100644 --- a/decidim-comments/lib/decidim/comments/comment_serializer.rb +++ b/decidim-comments/lib/decidim/comments/comment_serializer.rb @@ -33,7 +33,7 @@ def serialize def root_commentable_url @root_commentable_url ||= if resource.root_commentable&.respond_to?(:polymorphic_resource_url) - resource.root_commentable.polymorphic_resource_url + resource.root_commentable.polymorphic_resource_url({}) else ResourceLocatorPresenter.new(resource.root_commentable).url end diff --git a/decidim-conferences/app/models/decidim/conferences/conference_invite.rb b/decidim-conferences/app/models/decidim/conferences/conference_invite.rb index a62bd5366b10a..5f968520ddca0 100644 --- a/decidim-conferences/app/models/decidim/conferences/conference_invite.rb +++ b/decidim-conferences/app/models/decidim/conferences/conference_invite.rb @@ -6,7 +6,7 @@ module Conferences class ConferenceInvite < ApplicationRecord include Decidim::Traceable include Decidim::Loggable - include Decidim::DataPortability + include Decidim::DownloadYourData belongs_to :conference, foreign_key: "decidim_conference_id", class_name: "Decidim::Conference" belongs_to :user, foreign_key: "decidim_user_id", class_name: "Decidim::User" @@ -15,7 +15,7 @@ class ConferenceInvite < ApplicationRecord validates :user, uniqueness: { scope: :conference } def self.export_serializer - Decidim::Conferences::DataPortabilityConferenceInviteSerializer + Decidim::Conferences::DownloadYourDataConferenceInviteSerializer end def self.log_presenter_class_for(_log) diff --git a/decidim-conferences/app/models/decidim/conferences/conference_registration.rb b/decidim-conferences/app/models/decidim/conferences/conference_registration.rb index 6ec3b0ac6bce3..990e9a660f361 100644 --- a/decidim-conferences/app/models/decidim/conferences/conference_registration.rb +++ b/decidim-conferences/app/models/decidim/conferences/conference_registration.rb @@ -4,7 +4,7 @@ module Decidim module Conferences # The data store for a Registration in the Decidim::Conferences component. class ConferenceRegistration < ApplicationRecord - include Decidim::DataPortability + include Decidim::DownloadYourData belongs_to :conference, foreign_key: "decidim_conference_id", class_name: "Decidim::Conference" belongs_to :user, foreign_key: "decidim_user_id", class_name: "Decidim::User" @@ -19,7 +19,7 @@ def self.user_collection(user) end def self.export_serializer - Decidim::Conferences::DataPortabilityConferenceRegistrationSerializer + Decidim::Conferences::DownloadYourDataConferenceRegistrationSerializer end def confirmed? diff --git a/decidim-conferences/app/serializers/decidim/conferences/data_portability_conference_invite_serializer.rb b/decidim-conferences/app/serializers/decidim/conferences/download_your_data_conference_invite_serializer.rb similarity index 87% rename from decidim-conferences/app/serializers/decidim/conferences/data_portability_conference_invite_serializer.rb rename to decidim-conferences/app/serializers/decidim/conferences/download_your_data_conference_invite_serializer.rb index 8c880d4600667..407b42110a8ed 100644 --- a/decidim-conferences/app/serializers/decidim/conferences/data_portability_conference_invite_serializer.rb +++ b/decidim-conferences/app/serializers/decidim/conferences/download_your_data_conference_invite_serializer.rb @@ -2,8 +2,8 @@ module Decidim module Conferences - class DataPortabilityConferenceInviteSerializer < Decidim::Exporters::Serializer - # Serializes a conference invite for data portability + class DownloadYourDataConferenceInviteSerializer < Decidim::Exporters::Serializer + # Serializes a conference invite for download your data def serialize { id: resource.id, diff --git a/decidim-conferences/app/serializers/decidim/conferences/data_portability_conference_registration_serializer.rb b/decidim-conferences/app/serializers/decidim/conferences/download_your_data_conference_registration_serializer.rb similarity index 85% rename from decidim-conferences/app/serializers/decidim/conferences/data_portability_conference_registration_serializer.rb rename to decidim-conferences/app/serializers/decidim/conferences/download_your_data_conference_registration_serializer.rb index 27882614e630a..fc72a4bbb078f 100644 --- a/decidim-conferences/app/serializers/decidim/conferences/data_portability_conference_registration_serializer.rb +++ b/decidim-conferences/app/serializers/decidim/conferences/download_your_data_conference_registration_serializer.rb @@ -2,8 +2,8 @@ module Decidim module Conferences - class DataPortabilityConferenceRegistrationSerializer < Decidim::Exporters::Serializer - # Serializes a registration for data portability + class DownloadYourDataConferenceRegistrationSerializer < Decidim::Exporters::Serializer + # Serializes a registration for download your data def serialize { id: resource.id, diff --git a/decidim-conferences/spec/serializers/decidim/conferences/data_portability_conference_invite_serializer_spec.rb b/decidim-conferences/spec/serializers/decidim/conferences/download_your_data_conference_invite_serializer_spec.rb similarity index 97% rename from decidim-conferences/spec/serializers/decidim/conferences/data_portability_conference_invite_serializer_spec.rb rename to decidim-conferences/spec/serializers/decidim/conferences/download_your_data_conference_invite_serializer_spec.rb index 85f5dab15a4ee..e8dc1c0929d63 100644 --- a/decidim-conferences/spec/serializers/decidim/conferences/data_portability_conference_invite_serializer_spec.rb +++ b/decidim-conferences/spec/serializers/decidim/conferences/download_your_data_conference_invite_serializer_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" module Decidim::Conferences - describe DataPortabilityConferenceInviteSerializer do + describe DownloadYourDataConferenceInviteSerializer do let(:resource) { build_stubbed(:conference_invite) } let(:subject) { described_class.new(resource) } diff --git a/decidim-conferences/spec/serializers/decidim/conferences/data_portability_conference_registration_serializer_spec.rb b/decidim-conferences/spec/serializers/decidim/conferences/download_your_data_conference_registration_serializer_spec.rb similarity index 96% rename from decidim-conferences/spec/serializers/decidim/conferences/data_portability_conference_registration_serializer_spec.rb rename to decidim-conferences/spec/serializers/decidim/conferences/download_your_data_conference_registration_serializer_spec.rb index 5b5dd293f13bb..f448eac208fc3 100644 --- a/decidim-conferences/spec/serializers/decidim/conferences/data_portability_conference_registration_serializer_spec.rb +++ b/decidim-conferences/spec/serializers/decidim/conferences/download_your_data_conference_registration_serializer_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" module Decidim::Conferences - describe DataPortabilityConferenceRegistrationSerializer do + describe DownloadYourDataConferenceRegistrationSerializer do let(:resource) { create(:conference_registration) } let(:subject) { described_class.new(resource) } diff --git a/decidim-core/app/cells/decidim/tos_page/refuse_btn_modal.erb b/decidim-core/app/cells/decidim/tos_page/refuse_btn_modal.erb index f49c9345dacab..f3a0d64ad00d1 100644 --- a/decidim-core/app/cells/decidim/tos_page/refuse_btn_modal.erb +++ b/decidim-core/app/cells/decidim/tos_page/refuse_btn_modal.erb @@ -16,7 +16,7 @@

- <%= t("refuse.modal_body", scope: "decidim.pages.terms_and_conditions", data_portability_path: decidim.data_portability_path, delete_path: decidim.delete_account_path) %> + <%= t("refuse.modal_body", scope: "decidim.pages.terms_and_conditions", download_your_data_path: decidim.download_your_data_path, delete_path: decidim.delete_account_path) %>

diff --git a/decidim-core/app/controllers/concerns/decidim/needs_tos_accepted.rb b/decidim-core/app/controllers/concerns/decidim/needs_tos_accepted.rb index 336b445e79593..f753e48b05aba 100644 --- a/decidim-core/app/controllers/concerns/decidim/needs_tos_accepted.rb +++ b/decidim-core/app/controllers/concerns/decidim/needs_tos_accepted.rb @@ -29,9 +29,9 @@ def permitted_paths? permitted_paths = [tos_path, decidim.delete_account_path, decidim.accept_tos_path, - decidim.data_portability_path, - decidim.export_data_portability_path, - decidim.download_file_data_portability_path] + decidim.download_your_data_path, + decidim.export_download_your_data_path, + decidim.download_file_download_your_data_path] # ensure that path with or without query string pass permitted_paths.find { |el| el.split("?").first == request.path } end diff --git a/decidim-core/app/controllers/decidim/data_portability_controller.rb b/decidim-core/app/controllers/decidim/download_your_data_controller.rb similarity index 53% rename from decidim-core/app/controllers/decidim/data_portability_controller.rb rename to decidim-core/app/controllers/decidim/download_your_data_controller.rb index 817901e68c7fd..c77cbee2406c1 100644 --- a/decidim-core/app/controllers/decidim/data_portability_controller.rb +++ b/decidim-core/app/controllers/decidim/download_your_data_controller.rb @@ -4,7 +4,7 @@ module Decidim # The controller to handle the user's download_my_data page. - class DataPortabilityController < Decidim::ApplicationController + class DownloadYourDataController < Decidim::ApplicationController include Decidim::UserProfile def show @@ -16,20 +16,20 @@ def show def export enforce_permission_to :export, :user, current_user: current_user - DataPortabilityExportJob.perform_later(current_user) + DownloadYourDataExportJob.perform_later(current_user) - flash[:notice] = t("decidim.account.data_portability_export.notice") - redirect_back(fallback_location: data_portability_path) + flash[:notice] = t("decidim.account.download_your_data_export.notice") + redirect_back(fallback_location: download_your_data_path) end def download_file enforce_permission_to :download, :user, current_user: current_user - if current_user.data_portability_file.attached? - redirect_to Rails.application.routes.url_helpers.rails_blob_url(current_user.data_portability_file.blob, only_path: true) + if current_user.download_your_data_file.attached? + redirect_to Rails.application.routes.url_helpers.rails_blob_url(current_user.download_your_data_file.blob, only_path: true) else - flash[:error] = t("decidim.account.data_portability_export.file_no_exists") - redirect_to data_portability_path + flash[:error] = t("decidim.account.download_your_data_export.file_no_exists") + redirect_to download_your_data_path end end end diff --git a/decidim-core/app/jobs/decidim/data_portability_export_job.rb b/decidim-core/app/jobs/decidim/download_your_data_export_job.rb similarity index 53% rename from decidim-core/app/jobs/decidim/data_portability_export_job.rb rename to decidim-core/app/jobs/decidim/download_your_data_export_job.rb index 2660299261594..e4e155eb02796 100644 --- a/decidim-core/app/jobs/decidim/data_portability_export_job.rb +++ b/decidim-core/app/jobs/decidim/download_your_data_export_job.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true module Decidim - class DataPortabilityExportJob < ApplicationJob + class DownloadYourDataExportJob < ApplicationJob queue_as :default - def perform(user, export_format = ::Decidim::DataPortabilityExporter::DEFAULT_EXPORT_FORMAT) + def perform(user, export_format = ::Decidim::DownloadYourDataExporter::DEFAULT_EXPORT_FORMAT) filename = "#{SecureRandom.urlsafe_base64}.zip" path = Rails.root.join("tmp/#{filename}") password = SecureRandom.urlsafe_base64 @@ -12,17 +12,17 @@ def perform(user, export_format = ::Decidim::DataPortabilityExporter::DEFAULT_EX generate_zip_file(user, path, password, export_format) save_or_upload_file(user, path) - ExportMailer.data_portability_export(user, filename, password).deliver_later + ExportMailer.download_your_data_export(user, filename, password).deliver_later end private def generate_zip_file(user, path, password, export_format) - DataPortabilityExporter.new(user, path, password, export_format).export + DownloadYourDataExporter.new(user, path, password, export_format).export end def save_or_upload_file(user, path) - user.data_portability_file.attach(io: File.open(path, "rb"), filename: File.basename(path)) + user.download_your_data_file.attach(io: File.open(path, "rb"), filename: File.basename(path)) end end end diff --git a/decidim-core/app/mailers/decidim/export_mailer.rb b/decidim-core/app/mailers/decidim/export_mailer.rb index 1378d79fd4862..476bc98217ff7 100644 --- a/decidim-core/app/mailers/decidim/export_mailer.rb +++ b/decidim-core/app/mailers/decidim/export_mailer.rb @@ -27,12 +27,12 @@ def export(user, export_name, export_data) end # Public: Sends a notification email with a link to retrieve - # the result of a data_portability export in a zipped file. + # the result of a download_your_data export in a zipped file. # # user - The user to be notified. # # Returns nothing. - def data_portability_export(user, filename, password) + def download_your_data_export(user, filename, password) @user = user @organization = user.organization @filename = filename diff --git a/decidim-core/app/models/decidim/follow.rb b/decidim-core/app/models/decidim/follow.rb index 9716ed294ed46..801cb3139e9c4 100644 --- a/decidim-core/app/models/decidim/follow.rb +++ b/decidim-core/app/models/decidim/follow.rb @@ -2,7 +2,7 @@ module Decidim class Follow < ApplicationRecord - include Decidim::DataPortability + include Decidim::DownloadYourData belongs_to :followable, foreign_key: "decidim_followable_id", foreign_type: "decidim_followable_type", polymorphic: true, counter_cache: true belongs_to :user, foreign_key: "decidim_user_id", class_name: "Decidim::User" @@ -20,7 +20,7 @@ def self.user_collection(user) end def self.export_serializer - Decidim::DataPortabilitySerializers::DataPortabilityFollowSerializer + Decidim::DownloadYourDataSerializers::DownloadYourDataFollowSerializer end def self.user_follower_ids_for_participatory_spaces(spaces) diff --git a/decidim-core/app/models/decidim/identity.rb b/decidim-core/app/models/decidim/identity.rb index 25992b933efae..131a0d3391c67 100644 --- a/decidim-core/app/models/decidim/identity.rb +++ b/decidim-core/app/models/decidim/identity.rb @@ -3,7 +3,7 @@ module Decidim # Store user's social identities class Identity < ApplicationRecord - include Decidim::DataPortability + include Decidim::DownloadYourData belongs_to :user, foreign_key: :decidim_user_id, class_name: "Decidim::User" belongs_to :organization, foreign_key: :decidim_organization_id, class_name: "Decidim::Organization" @@ -18,7 +18,7 @@ def self.user_collection(user) end def self.export_serializer - Decidim::DataPortabilitySerializers::DataPortabilityIdentitySerializer + Decidim::DownloadYourDataSerializers::DownloadYourDataIdentitySerializer end private diff --git a/decidim-core/app/models/decidim/messaging/conversation.rb b/decidim-core/app/models/decidim/messaging/conversation.rb index 4858cd5d6d25c..8276e52ad313c 100644 --- a/decidim-core/app/models/decidim/messaging/conversation.rb +++ b/decidim-core/app/models/decidim/messaging/conversation.rb @@ -10,7 +10,7 @@ module Messaging class Conversation < ApplicationRecord self.table_name = "decidim_messaging_conversations" - include Decidim::DataPortability + include Decidim::DownloadYourData has_many :participations, foreign_key: :decidim_conversation_id, class_name: "Decidim::Messaging::Participation", @@ -173,7 +173,7 @@ def self.user_collection(user) end def self.export_serializer - Decidim::DataPortabilitySerializers::DataPortabilityConversationSerializer + Decidim::DownloadYourDataSerializers::DownloadYourDataConversationSerializer end end end diff --git a/decidim-core/app/models/decidim/notification.rb b/decidim-core/app/models/decidim/notification.rb index 27ec1edf86eeb..5b7c21cfdabd2 100644 --- a/decidim-core/app/models/decidim/notification.rb +++ b/decidim-core/app/models/decidim/notification.rb @@ -2,7 +2,7 @@ module Decidim class Notification < ApplicationRecord - include Decidim::DataPortability + include Decidim::DownloadYourData belongs_to :resource, foreign_key: "decidim_resource_id", foreign_type: "decidim_resource_type", polymorphic: true belongs_to :user, foreign_key: "decidim_user_id", class_name: "Decidim::User" @@ -26,7 +26,7 @@ def self.user_collection(user) end def self.export_serializer - Decidim::DataPortabilitySerializers::DataPortabilityNotificationSerializer + Decidim::DownloadYourDataSerializers::DownloadYourDataNotificationSerializer end end end diff --git a/decidim-core/app/models/decidim/participatory_space_private_user.rb b/decidim-core/app/models/decidim/participatory_space_private_user.rb index 28c83a89033f8..50e533951d886 100644 --- a/decidim-core/app/models/decidim/participatory_space_private_user.rb +++ b/decidim-core/app/models/decidim/participatory_space_private_user.rb @@ -3,7 +3,7 @@ module Decidim # This class gives a given User access to a given private ParticipatorySpacePrivateUser class ParticipatorySpacePrivateUser < ApplicationRecord - include Decidim::DataPortability + include Decidim::DownloadYourData belongs_to :user, class_name: "Decidim::User", foreign_key: :decidim_user_id belongs_to :privatable_to, polymorphic: true @@ -17,7 +17,7 @@ def self.user_collection(user) end def self.export_serializer - Decidim::DataPortabilitySerializers::DataPortabilityParticipatorySpacePrivateUserSerializer + Decidim::DownloadYourDataSerializers::DownloadYourDataParticipatorySpacePrivateUserSerializer end def self.log_presenter_class_for(_log) diff --git a/decidim-core/app/models/decidim/report.rb b/decidim-core/app/models/decidim/report.rb index 18941f88ce122..6dcba900b73ae 100644 --- a/decidim-core/app/models/decidim/report.rb +++ b/decidim-core/app/models/decidim/report.rb @@ -3,7 +3,7 @@ module Decidim # A reportable can be reported one time for each user. class Report < ApplicationRecord - include Decidim::DataPortability + include Decidim::DownloadYourData REASONS = %w(spam offensive does_not_belong).freeze @@ -20,7 +20,7 @@ def self.user_collection(user) end def self.export_serializer - Decidim::DataPortabilitySerializers::DataPortabilityReportSerializer + Decidim::DownloadYourDataSerializers::DownloadYourDataReportSerializer end private diff --git a/decidim-core/app/models/decidim/user.rb b/decidim-core/app/models/decidim/user.rb index 76ffb0c1caed9..d645dcd8fd5ce 100644 --- a/decidim-core/app/models/decidim/user.rb +++ b/decidim-core/app/models/decidim/user.rb @@ -7,7 +7,7 @@ module Decidim # A User is a participant that wants to join the platform to engage. class User < UserBaseEntity - include Decidim::DataPortability + include Decidim::DownloadYourData include Decidim::Searchable include Decidim::ActsAsAuthor include Decidim::UserReportable @@ -51,7 +51,7 @@ def self.all validate :all_roles_are_valid - has_one_attached :data_portability_file + has_one_attached :download_your_data_file scope :not_deleted, -> { where(deleted_at: nil) } @@ -188,10 +188,10 @@ def self.user_collection(user) end def self.export_serializer - Decidim::DataPortabilitySerializers::DataPortabilityUserSerializer + Decidim::DownloadYourDataSerializers::DownloadYourDataUserSerializer end - def self.data_portability_images(user) + def self.download_your_data_images(user) user_collection(user).map(&:avatar) end diff --git a/decidim-core/app/models/decidim/user_group.rb b/decidim-core/app/models/decidim/user_group.rb index e1eaab17138f5..db11b1b5b8de7 100644 --- a/decidim-core/app/models/decidim/user_group.rb +++ b/decidim-core/app/models/decidim/user_group.rb @@ -7,7 +7,7 @@ module Decidim # A UserGroup is an organization of participants class UserGroup < UserBaseEntity include Decidim::Traceable - include Decidim::DataPortability + include Decidim::DownloadYourData include Decidim::ActsAsAuthor include Decidim::UserReportable include Decidim::Searchable @@ -87,7 +87,7 @@ def self.user_collection(user) end def self.export_serializer - Decidim::DataPortabilitySerializers::DataPortabilityUserGroupSerializer + Decidim::DownloadYourDataSerializers::DownloadYourDataUserGroupSerializer end def document_number diff --git a/decidim-core/app/models/decidim/user_report.rb b/decidim-core/app/models/decidim/user_report.rb index 07c6d039185fd..cd2edd7cd7f71 100644 --- a/decidim-core/app/models/decidim/user_report.rb +++ b/decidim-core/app/models/decidim/user_report.rb @@ -2,7 +2,7 @@ module Decidim class UserReport < ApplicationRecord - include Decidim::DataPortability + include Decidim::DownloadYourData REASONS = %w(spam offensive does_not_belong).freeze @@ -16,7 +16,7 @@ class UserReport < ApplicationRecord def self.export_serializer raise NotImplementedError - # Decidim::DataPortabilitySerializers::DataPortabilityReportSerializer + # Decidim::DownloadYourDataSerializers::DownloadYourDataReportSerializer end private diff --git a/decidim-core/app/services/decidim/data_portability_exporter.rb b/decidim-core/app/services/decidim/download_your_data_exporter.rb similarity index 87% rename from decidim-core/app/services/decidim/data_portability_exporter.rb rename to decidim-core/app/services/decidim/download_your_data_exporter.rb index 8aa0258609b88..a8633f50d7e84 100644 --- a/decidim-core/app/services/decidim/data_portability_exporter.rb +++ b/decidim-core/app/services/decidim/download_your_data_exporter.rb @@ -9,11 +9,11 @@ module Decidim # somewhere so users can download their data. # # In fact, the 7z file wraps a ZIP file which finally contains the data files. - class DataPortabilityExporter + class DownloadYourDataExporter include ::Decidim::ZipStream::Writer DEFAULT_EXPORT_FORMAT = "CSV" - ZIP_FILE_NAME = "data-portability.zip" + ZIP_FILE_NAME = "download-your-data.zip" # Public: Initializes the class. # @@ -56,18 +56,18 @@ def data_for(user, format) export_data = [] export_attachments = [] - data_portability_entities.each do |object| + download_your_data_entities.each do |object| klass = Object.const_get(object) export_data << [klass.model_name.name.parameterize.pluralize, Exporters.find_exporter(format).new(klass.user_collection(user), klass.export_serializer).export] - attachments = klass.data_portability_images(user) + attachments = klass.download_your_data_images(user) export_attachments << [klass.model_name.name.parameterize.pluralize, attachments.flatten] unless attachments.nil? end [export_data, export_attachments] end - def data_portability_entities - @data_portability_entities ||= DataPortabilitySerializers.data_entities + def download_your_data_entities + @download_your_data_entities ||= DownloadYourDataSerializers.data_entities end end end diff --git a/decidim-core/app/uploaders/decidim/cw/data_portability_uploader.rb b/decidim-core/app/uploaders/decidim/cw/download_your_data_uploader.rb similarity index 61% rename from decidim-core/app/uploaders/decidim/cw/data_portability_uploader.rb rename to decidim-core/app/uploaders/decidim/cw/download_your_data_uploader.rb index afe1b52982721..1fcf3d86be056 100644 --- a/decidim-core/app/uploaders/decidim/cw/data_portability_uploader.rb +++ b/decidim-core/app/uploaders/decidim/cw/download_your_data_uploader.rb @@ -1,11 +1,11 @@ # frozen_string_literal: true module Decidim::Cw - # This class deals with saving data portability Zip Files to App - class DataPortabilityUploader < ApplicationUploader + # This class deals with saving download your data Zip Files to App + class DownloadYourDataUploader < ApplicationUploader # Override the directory where uploaded files will be stored. def store_dir - default_path = "uploads/data-portability/" + default_path = "uploads/download-your-data/" return File.join(Decidim.base_uploads_path, default_path) if Decidim.base_uploads_path.present? diff --git a/decidim-core/app/views/decidim/data_portability/export.html.erb b/decidim-core/app/views/decidim/download_your_data/export.html.erb similarity index 100% rename from decidim-core/app/views/decidim/data_portability/export.html.erb rename to decidim-core/app/views/decidim/download_your_data/export.html.erb diff --git a/decidim-core/app/views/decidim/data_portability/show.html.erb b/decidim-core/app/views/decidim/download_your_data/show.html.erb similarity index 67% rename from decidim-core/app/views/decidim/data_portability/show.html.erb rename to decidim-core/app/views/decidim/download_your_data/show.html.erb index 55c1163208c6f..94ac625989d35 100644 --- a/decidim-core/app/views/decidim/data_portability/show.html.erb +++ b/decidim-core/app/views/decidim/download_your_data/show.html.erb @@ -1,8 +1,8 @@ <% add_decidim_page_title(t("my_data", scope: "layouts.decidim.user_profile")) %> <% content_for(:subtitle) { t("my_data", scope: "layouts.decidim.user_profile") } %> -
+
<%= t(".download_data") %>

<%= t(".download_data_description", user_email: current_user.email).html_safe %>

- <%= button_to t(".request_data"), export_data_portability_path, class: "button", data: { disable: true } %> + <%= button_to t(".request_data"), export_download_your_data_path, class: "button", data: { disable: true } %>
diff --git a/decidim-core/app/views/decidim/export_mailer/data_portability_export.html.erb b/decidim-core/app/views/decidim/export_mailer/data_portability_export.html.erb deleted file mode 100644 index 8132ea4b73bb6..0000000000000 --- a/decidim-core/app/views/decidim/export_mailer/data_portability_export.html.erb +++ /dev/null @@ -1,7 +0,0 @@ -

- <%= t(".click_button", password: @password, date: l(Decidim.data_portability_expiry_time.from_now, format: :decidim_short) ).html_safe %>
-

- -

- <%= link_to t(".download"), download_file_data_portability_url(host: @organization.host, filename: @filename), class: "button expanded hollow button--sc" %> -

diff --git a/decidim-core/app/views/decidim/export_mailer/download_your_data_export.html.erb b/decidim-core/app/views/decidim/export_mailer/download_your_data_export.html.erb new file mode 100644 index 0000000000000..9866da1d274b2 --- /dev/null +++ b/decidim-core/app/views/decidim/export_mailer/download_your_data_export.html.erb @@ -0,0 +1,7 @@ +

+ <%= t(".click_button", password: @password, date: l(Decidim.download_your_data_expiry_time.from_now, format: :decidim_short) ).html_safe %>
+

+ +

+ <%= link_to t(".download"), download_file_download_your_data_url(host: @organization.host, filename: @filename), class: "button expanded hollow button--sc" %> +

diff --git a/decidim-core/config/locales/en.yml b/decidim-core/config/locales/en.yml index 431930054e1da..7ff976aa7637f 100644 --- a/decidim-core/config/locales/en.yml +++ b/decidim-core/config/locales/en.yml @@ -115,9 +115,6 @@ en: skip_button: Skip to main content account: blocked: This account has been blocked due to Terms and Conditions violation - data_portability_export: - file_no_exists: File does not exist - notice: The download of your data is currently in progress. You'll receive an email when it's complete. delete: alert: This action cannot be undone. If you delete your account you won't be able to log in with your credentials. The deletion of your account will result in the anonymization of your contributions. You will still be able to create a new account, but these contributions will not be associated with it. confirm: @@ -129,6 +126,9 @@ en: destroy: error: There was a problem deleting your account. success: Your account was successfully deleted. + download_your_data_export: + file_no_exists: File does not exist + notice: The download of your data is currently in progress. You'll receive an email when it's complete. show: available_locales_helper: Choose the language you want to use to browse and receive notifications on the platform change_password: Change password @@ -466,13 +466,6 @@ en: actions: login_before_access: Please, login with your account before access unauthorized: You are not authorized to perform this action - data_portability: - export: - ready: Ready - show: - download_data: Download the data - download_data_description: A file containing all the information associated with your account will be sent to %{user_email}. This email will contain a .zip file and a password to open it.

To unzip the file, you will need 7-Zip (for Windows) or Keka (for MacOS). If you use Linux, most of the time you will have it installed by default. If not, you can use File Roller or PeaZip). - request_data: Request data datepicker: help_text: 'Expected format: %{datepicker_format}' devise: @@ -544,6 +537,13 @@ en: this_application_will_not_be_able_to: 'This application will not be able to:' update_profile: Update your profile wants_to_use_your_account_html: "%{application_name} wants to use your account" + download_your_data: + export: + ready: Ready + show: + download_data: Download the data + download_data_description: A file containing all the information associated with your account will be sent to %{user_email}. This email will contain a .zip file and a password to open it.

To unzip the file, you will need 7-Zip (for Windows) or Keka (for MacOS). If you use Linux, most of the time you will have it installed by default. If not, you can use File Roller or PeaZip). + request_data: Request data editor_images: create: error: Error uploading image @@ -714,7 +714,7 @@ en: email_subject: "%{name} has been officialized" notification_title: Participant %{name} (%{nickname}) has been officialized. export_mailer: - data_portability_export: + download_your_data_export: click_button: 'Click the next link to download your data.
The file will be available until %{date}.
You will need 7-Zip (for Windows), Keka (for MacOS) or PeaZip (for Linux) to open it. Password: %{password}' download: Download export: @@ -1195,7 +1195,7 @@ en: agreement: I agree with these terms legend: Agree to the terms and conditions of use refuse: - modal_body: If you refuse, you won't be able to use the platform, you can download your data and/or delete your account. + modal_body: If you refuse, you won't be able to use the platform, you can download your data and/or delete your account. modal_btn_continue: Accept terms and continue modal_btn_exit: I'll review it later modal_button: Refuse the terms diff --git a/decidim-core/config/routes.rb b/decidim-core/config/routes.rb index eaf2a9fe82be4..82dc761f752ae 100644 --- a/decidim-core/config/routes.rb +++ b/decidim-core/config/routes.rb @@ -64,7 +64,7 @@ get "/newsletters_opt_in/:token", to: "newsletters_opt_in#update", as: :newsletters_opt_in - resource :data_portability, only: [:show], controller: "data_portability" do + resource :download_your_data, only: [:show], controller: "download_your_data" do member do post :export get :download_file diff --git a/decidim-core/lib/decidim/component_manifest.rb b/decidim-core/lib/decidim/component_manifest.rb index fb28b5c6b8a1e..73d0adaed1fff 100644 --- a/decidim-core/lib/decidim/component_manifest.rb +++ b/decidim-core/lib/decidim/component_manifest.rb @@ -23,7 +23,7 @@ class ComponentManifest attribute :query_type, String, default: "Decidim::Core::ComponentType" # An array with the name of the classes that will be exported with - # the data portability feature for this component. For example, `Decidim::::`` + # the download your data feature for this component. For example, `Decidim::::`` attribute :data_portable_entities, Array, default: [] # An array with the name of the classes to know the participants diff --git a/decidim-core/lib/decidim/core.rb b/decidim-core/lib/decidim/core.rb index 0d5db187e4f37..9cb1dfda3f33e 100644 --- a/decidim-core/lib/decidim/core.rb +++ b/decidim-core/lib/decidim/core.rb @@ -74,9 +74,9 @@ module Decidim autoload :ViewModel, "decidim/view_model" autoload :FingerprintCalculator, "decidim/fingerprint_calculator" autoload :Fingerprintable, "decidim/fingerprintable" - autoload :DataPortability, "decidim/data_portability" - autoload :DataPortabilitySerializers, "decidim/data_portability_serializers" - autoload :DataPortabilityExporter, "decidim/data_portability_exporter" + autoload :DownloadYourData, "decidim/download_your_data" + autoload :DownloadYourDataSerializers, "decidim/download_your_data_serializers" + autoload :DownloadYourDataExporter, "decidim/download_your_data_exporter" autoload :Amendable, "decidim/amendable" autoload :Gamification, "decidim/gamification" autoload :Hashtag, "decidim/hashtag" @@ -272,8 +272,8 @@ def self.seed! true end - # Time that data portability files are available in server - config_accessor :data_portability_expiry_time do + # Time that download your data files are available in server + config_accessor :download_your_data_expiry_time do 7.days end diff --git a/decidim-core/lib/decidim/core/engine.rb b/decidim-core/lib/decidim/core/engine.rb index 6a8829012e087..dc578553e0969 100644 --- a/decidim-core/lib/decidim/core/engine.rb +++ b/decidim-core/lib/decidim/core/engine.rb @@ -233,9 +233,9 @@ class Engine < ::Rails::Engine decidim.user_interests_path, position: 1.4 - menu.add_item :data_portability, + menu.add_item :download_your_data, t("my_data", scope: "layouts.decidim.user_profile"), - decidim.data_portability_path, + decidim.download_your_data_path, position: 1.5 menu.add_item :delete_account, diff --git a/decidim-core/lib/decidim/data_portability_serializers.rb b/decidim-core/lib/decidim/data_portability_serializers.rb deleted file mode 100644 index b1a9c2c5b1aee..0000000000000 --- a/decidim-core/lib/decidim/data_portability_serializers.rb +++ /dev/null @@ -1,23 +0,0 @@ -# frozen_string_literal: true - -module Decidim - module DataPortabilitySerializers - autoload :DataPortabilityUserSerializer, "decidim/data_portability_serializers/data_portability_user_serializer" - autoload :DataPortabilityUserGroupSerializer, "decidim/data_portability_serializers/data_portability_user_group_serializer" - autoload :DataPortabilityConversationSerializer, "decidim/data_portability_serializers/data_portability_conversation_serializer" - autoload :DataPortabilityReportSerializer, "decidim/data_portability_serializers/data_portability_report_serializer" - autoload :DataPortabilityFollowSerializer, "decidim/data_portability_serializers/data_portability_follow_serializer" - autoload :DataPortabilityNotificationSerializer, "decidim/data_portability_serializers/data_portability_notification_serializer" - autoload :DataPortabilityIdentitySerializer, "decidim/data_portability_serializers/data_portability_identity_serializer" - autoload :DataPortabilityParticipatorySpacePrivateUserSerializer, "decidim/data_portability_serializers/data_portability_participatory_space_private_user_serializer" - - def self.data_entities - ["Decidim::Follow", "Decidim::Identity", - "Decidim::Messaging::Conversation", "Decidim::Notification", - "Decidim::ParticipatorySpacePrivateUser", "Decidim::Report", "Decidim::User", "Decidim::UserGroup"] | - Decidim.component_manifests.map(&:data_portable_entities).flatten | - Decidim.participatory_space_manifests.map(&:data_portable_entities).flatten | - (Decidim::Comments.data_portable_entities.flatten if defined?(Decidim::Comments)) - end - end -end diff --git a/decidim-core/lib/decidim/data_portability.rb b/decidim-core/lib/decidim/download_your_data.rb similarity index 83% rename from decidim-core/lib/decidim/data_portability.rb rename to decidim-core/lib/decidim/download_your_data.rb index 7355873fdb64f..382ec7138a1d5 100644 --- a/decidim-core/lib/decidim/data_portability.rb +++ b/decidim-core/lib/decidim/download_your_data.rb @@ -3,8 +3,8 @@ require "active_support/concern" module Decidim - # This concern contains the logic related to data portability. - module DataPortability + # This concern contains the logic related to download your data. + module DownloadYourData extend ActiveSupport::Concern included do @@ -23,7 +23,7 @@ def self.export_serializer # Returns a collection of images scoped by User. # Returns nil for default. - def self.data_portability_images(_user) + def self.download_your_data_images(_user) nil end end diff --git a/decidim-core/lib/decidim/download_your_data_serializers.rb b/decidim-core/lib/decidim/download_your_data_serializers.rb new file mode 100644 index 0000000000000..f12a5cb91ba7a --- /dev/null +++ b/decidim-core/lib/decidim/download_your_data_serializers.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Decidim + module DownloadYourDataSerializers + autoload :DownloadYourDataUserSerializer, "decidim/download_your_data_serializers/download_your_data_user_serializer" + autoload :DownloadYourDataUserGroupSerializer, "decidim/download_your_data_serializers/download_your_data_user_group_serializer" + autoload :DownloadYourDataConversationSerializer, "decidim/download_your_data_serializers/download_your_data_conversation_serializer" + autoload :DownloadYourDataReportSerializer, "decidim/download_your_data_serializers/download_your_data_report_serializer" + autoload :DownloadYourDataFollowSerializer, "decidim/download_your_data_serializers/download_your_data_follow_serializer" + autoload :DownloadYourDataNotificationSerializer, "decidim/download_your_data_serializers/download_your_data_notification_serializer" + autoload :DownloadYourDataIdentitySerializer, "decidim/download_your_data_serializers/download_your_data_identity_serializer" + autoload :DownloadYourDataParticipatorySpacePrivateUserSerializer, "decidim/download_your_data_serializers/download_your_data_participatory_space_private_user_serializer" + + def self.data_entities + ["Decidim::Follow", "Decidim::Identity", + "Decidim::Messaging::Conversation", "Decidim::Notification", + "Decidim::ParticipatorySpacePrivateUser", "Decidim::Report", "Decidim::User", "Decidim::UserGroup"] | + Decidim.component_manifests.map(&:data_portable_entities).flatten | + Decidim.participatory_space_manifests.map(&:data_portable_entities).flatten | + (Decidim::Comments.data_portable_entities.flatten if defined?(Decidim::Comments)) + end + end +end diff --git a/decidim-core/lib/decidim/data_portability_serializers/data_portability_conversation_serializer.rb b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_conversation_serializer.rb similarity index 89% rename from decidim-core/lib/decidim/data_portability_serializers/data_portability_conversation_serializer.rb rename to decidim-core/lib/decidim/download_your_data_serializers/download_your_data_conversation_serializer.rb index 7fcb6d27d9d9b..171cd01210c25 100644 --- a/decidim-core/lib/decidim/data_portability_serializers/data_portability_conversation_serializer.rb +++ b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_conversation_serializer.rb @@ -2,8 +2,8 @@ module Decidim # This class serializes a Message so can be exported to CSV - module DataPortabilitySerializers - class DataPortabilityConversationSerializer < Decidim::Exporters::Serializer + module DownloadYourDataSerializers + class DownloadYourDataConversationSerializer < Decidim::Exporters::Serializer include Decidim::ResourceHelper # Public: Initializes the serializer with a conversation. diff --git a/decidim-core/lib/decidim/data_portability_serializers/data_portability_follow_serializer.rb b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_follow_serializer.rb similarity index 82% rename from decidim-core/lib/decidim/data_portability_serializers/data_portability_follow_serializer.rb rename to decidim-core/lib/decidim/download_your_data_serializers/download_your_data_follow_serializer.rb index f2da248682acc..26288da91231e 100644 --- a/decidim-core/lib/decidim/data_portability_serializers/data_portability_follow_serializer.rb +++ b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_follow_serializer.rb @@ -2,8 +2,8 @@ module Decidim # This class serializes a Follow so can be exported to CSV - module DataPortabilitySerializers - class DataPortabilityFollowSerializer < Decidim::Exporters::Serializer + module DownloadYourDataSerializers + class DownloadYourDataFollowSerializer < Decidim::Exporters::Serializer include Decidim::ResourceHelper # Public: Exports a hash with the serialized data for follow. diff --git a/decidim-core/lib/decidim/data_portability_serializers/data_portability_identity_serializer.rb b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_identity_serializer.rb similarity index 83% rename from decidim-core/lib/decidim/data_portability_serializers/data_portability_identity_serializer.rb rename to decidim-core/lib/decidim/download_your_data_serializers/download_your_data_identity_serializer.rb index 54645f1d10173..24557033b5fd7 100644 --- a/decidim-core/lib/decidim/data_portability_serializers/data_portability_identity_serializer.rb +++ b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_identity_serializer.rb @@ -2,8 +2,8 @@ module Decidim # This class serializes a Identity so can be exported to CSV - module DataPortabilitySerializers - class DataPortabilityIdentitySerializer < Decidim::Exporters::Serializer + module DownloadYourDataSerializers + class DownloadYourDataIdentitySerializer < Decidim::Exporters::Serializer include Decidim::ResourceHelper # Public: Exports a hash with the serialized data for this identities. diff --git a/decidim-core/lib/decidim/data_portability_serializers/data_portability_notification_serializer.rb b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_notification_serializer.rb similarity index 84% rename from decidim-core/lib/decidim/data_portability_serializers/data_portability_notification_serializer.rb rename to decidim-core/lib/decidim/download_your_data_serializers/download_your_data_notification_serializer.rb index 9b53074ef5713..088e8d9c07aa8 100644 --- a/decidim-core/lib/decidim/data_portability_serializers/data_portability_notification_serializer.rb +++ b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_notification_serializer.rb @@ -2,8 +2,8 @@ module Decidim # This class serializes a Follow so can be exported to CSV - module DataPortabilitySerializers - class DataPortabilityNotificationSerializer < Decidim::Exporters::Serializer + module DownloadYourDataSerializers + class DownloadYourDataNotificationSerializer < Decidim::Exporters::Serializer include Decidim::ResourceHelper # Public: Exports a hash with the serialized data for follow. diff --git a/decidim-core/lib/decidim/data_portability_serializers/data_portability_participatory_space_private_user_serializer.rb b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_participatory_space_private_user_serializer.rb similarity index 82% rename from decidim-core/lib/decidim/data_portability_serializers/data_portability_participatory_space_private_user_serializer.rb rename to decidim-core/lib/decidim/download_your_data_serializers/download_your_data_participatory_space_private_user_serializer.rb index 7285bc8a2e473..997d3879912fa 100644 --- a/decidim-core/lib/decidim/data_portability_serializers/data_portability_participatory_space_private_user_serializer.rb +++ b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_participatory_space_private_user_serializer.rb @@ -2,8 +2,8 @@ module Decidim # This class serializes a User so can be exported to CSV - module DataPortabilitySerializers - class DataPortabilityParticipatorySpacePrivateUserSerializer < Decidim::Exporters::Serializer + module DownloadYourDataSerializers + class DownloadYourDataParticipatorySpacePrivateUserSerializer < Decidim::Exporters::Serializer include Decidim::ResourceHelper # Public: Exports a hash with the serialized data for this user. diff --git a/decidim-core/lib/decidim/data_portability_serializers/data_portability_report_serializer.rb b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_report_serializer.rb similarity index 91% rename from decidim-core/lib/decidim/data_portability_serializers/data_portability_report_serializer.rb rename to decidim-core/lib/decidim/download_your_data_serializers/download_your_data_report_serializer.rb index 2be88337489fb..428395a212be3 100644 --- a/decidim-core/lib/decidim/data_portability_serializers/data_portability_report_serializer.rb +++ b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_report_serializer.rb @@ -2,8 +2,8 @@ module Decidim # This class serializes a Report so can be exported to CSV - module DataPortabilitySerializers - class DataPortabilityReportSerializer < Decidim::Exporters::Serializer + module DownloadYourDataSerializers + class DownloadYourDataReportSerializer < Decidim::Exporters::Serializer include Decidim::ResourceHelper # Public: Exports a hash with the serialized data for this conversation. diff --git a/decidim-core/lib/decidim/data_portability_serializers/data_portability_user_group_serializer.rb b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_user_group_serializer.rb similarity index 80% rename from decidim-core/lib/decidim/data_portability_serializers/data_portability_user_group_serializer.rb rename to decidim-core/lib/decidim/download_your_data_serializers/download_your_data_user_group_serializer.rb index afc96837f0305..a17c76b2f0881 100644 --- a/decidim-core/lib/decidim/data_portability_serializers/data_portability_user_group_serializer.rb +++ b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_user_group_serializer.rb @@ -2,8 +2,8 @@ module Decidim # This class serializes a User so can be exported to CSV - module DataPortabilitySerializers - class DataPortabilityUserGroupSerializer < Decidim::Exporters::Serializer + module DownloadYourDataSerializers + class DownloadYourDataUserGroupSerializer < Decidim::Exporters::Serializer include Decidim::ResourceHelper # Public: Exports a hash with the serialized data for this user. diff --git a/decidim-core/lib/decidim/data_portability_serializers/data_portability_user_serializer.rb b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_user_serializer.rb similarity index 94% rename from decidim-core/lib/decidim/data_portability_serializers/data_portability_user_serializer.rb rename to decidim-core/lib/decidim/download_your_data_serializers/download_your_data_user_serializer.rb index 91c5f258861f4..395f9c42de449 100644 --- a/decidim-core/lib/decidim/data_portability_serializers/data_portability_user_serializer.rb +++ b/decidim-core/lib/decidim/download_your_data_serializers/download_your_data_user_serializer.rb @@ -2,8 +2,8 @@ module Decidim # This class serializes a User so can be exported to CSV - module DataPortabilitySerializers - class DataPortabilityUserSerializer < Decidim::Exporters::Serializer + module DownloadYourDataSerializers + class DownloadYourDataUserSerializer < Decidim::Exporters::Serializer include Decidim::ResourceHelper # Public: Exports a hash with the serialized data for this user. diff --git a/decidim-core/lib/decidim/participatory_space_manifest.rb b/decidim-core/lib/decidim/participatory_space_manifest.rb index dfe4451612bb5..90049485daf2c 100644 --- a/decidim-core/lib/decidim/participatory_space_manifest.rb +++ b/decidim-core/lib/decidim/participatory_space_manifest.rb @@ -28,7 +28,7 @@ class ParticipatorySpaceManifest attribute :query_list, String, default: "Decidim::Core::ParticipatorySpaceList" # An array with the name of the classes that will be exported with - # the data portability feature for this component. For example, `Decidim::::`` + # the download your data feature for this component. For example, `Decidim::::`` attribute :data_portable_entities, Array, default: [] # A String with the component's icon. The icon must be stored in the diff --git a/decidim-core/lib/tasks/decidim_data_portability_tasks.rake b/decidim-core/lib/tasks/decidim_download_your_data_tasks.rake similarity index 87% rename from decidim-core/lib/tasks/decidim_data_portability_tasks.rake rename to decidim-core/lib/tasks/decidim_download_your_data_tasks.rake index 96941906384e5..91ec2f5cafb90 100644 --- a/decidim-core/lib/tasks/decidim_data_portability_tasks.rake +++ b/decidim-core/lib/tasks/decidim_download_your_data_tasks.rake @@ -70,22 +70,22 @@ namespace :decidim do end end - desc "Deletes all data portability files previous to `Decidim.data_portability_expiry_time` from now." - task delete_data_portability_files: :environment do - puts "DELETE DATA PORTABILITY FILES: -------------- START" + desc "Deletes all download your data files previous to `Decidim.download_your_data_expiry_time` from now." + task delete_download_your_data_files: :environment do + puts "DELETE DOWNLOAD YOUR DATA FILES: -------------- START" attachments = ActiveStorage::Attachment.joins(:blob).where( - name: "data_portability_file", + name: "download_your_data_file", record_type: "Decidim::UserBaseEntity" ).where( - "active_storage_blobs.created_at < ?", Decidim.data_portability_expiry_time.ago + "active_storage_blobs.created_at < ?", Decidim.download_your_data_expiry_time.ago ) attachments.each do |attachment| - delete_data_portability_file attachment + delete_download_your_data_file attachment end - puts "DELETE DATA PORTABILITY FILES: --------------- END" + puts "DELETE DOWNLOAD YOUR DATA FILES: --------------- END" end - def delete_data_portability_file(attachment) + def delete_download_your_data_file(attachment) puts "------" puts "!! deleting: #{attachment.filename}" attachment.purge diff --git a/decidim-core/spec/jobs/decidim/data_portability_export_job_spec.rb b/decidim-core/spec/jobs/decidim/download_your_data_export_job_spec.rb similarity index 81% rename from decidim-core/spec/jobs/decidim/data_portability_export_job_spec.rb rename to decidim-core/spec/jobs/decidim/download_your_data_export_job_spec.rb index c287cae7cd9b1..a167c0ffb4ccd 100644 --- a/decidim-core/spec/jobs/decidim/data_portability_export_job_spec.rb +++ b/decidim-core/spec/jobs/decidim/download_your_data_export_job_spec.rb @@ -3,13 +3,13 @@ require "spec_helper" module Decidim - describe DataPortabilityExportJob do + describe DownloadYourDataExportJob do let(:organization) { create :organization } let!(:user) { create(:user, organization: organization) } it "sends an email with the result of the export" do perform_enqueued_jobs do - DataPortabilityExportJob.perform_now(user, "CSV") + DownloadYourDataExportJob.perform_now(user, "CSV") end email = last_email diff --git a/decidim-core/spec/lib/data_portability_serializers/data_portability_conversation_serializer_spec.rb b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_conversation_serializer_spec.rb similarity index 95% rename from decidim-core/spec/lib/data_portability_serializers/data_portability_conversation_serializer_spec.rb rename to decidim-core/spec/lib/download_your_data_serializers/download_your_data_conversation_serializer_spec.rb index 06a1805277353..b3d90b1136a00 100644 --- a/decidim-core/spec/lib/data_portability_serializers/data_portability_conversation_serializer_spec.rb +++ b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_conversation_serializer_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" module Decidim - describe DataPortabilitySerializers::DataPortabilityConversationSerializer do + describe DownloadYourDataSerializers::DownloadYourDataConversationSerializer do let(:subject) { described_class.new(conversation) } let(:organization) { create(:organization) } diff --git a/decidim-core/spec/lib/data_portability_serializers/data_portability_follow_serializer_spec.rb b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_follow_serializer_spec.rb similarity index 91% rename from decidim-core/spec/lib/data_portability_serializers/data_portability_follow_serializer_spec.rb rename to decidim-core/spec/lib/download_your_data_serializers/download_your_data_follow_serializer_spec.rb index 613a966207fc3..264f12233cac9 100644 --- a/decidim-core/spec/lib/data_portability_serializers/data_portability_follow_serializer_spec.rb +++ b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_follow_serializer_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" module Decidim - describe DataPortabilitySerializers::DataPortabilityFollowSerializer do + describe DownloadYourDataSerializers::DownloadYourDataFollowSerializer do let(:subject) { described_class.new(resource) } let(:resource) { build(:follow) } diff --git a/decidim-core/spec/lib/data_portability_serializers/data_portability_identity_serializer_spec.rb b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_identity_serializer_spec.rb similarity index 94% rename from decidim-core/spec/lib/data_portability_serializers/data_portability_identity_serializer_spec.rb rename to decidim-core/spec/lib/download_your_data_serializers/download_your_data_identity_serializer_spec.rb index 632983958b4f4..a44534f068b6a 100644 --- a/decidim-core/spec/lib/data_portability_serializers/data_portability_identity_serializer_spec.rb +++ b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_identity_serializer_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" module Decidim - describe DataPortabilitySerializers::DataPortabilityIdentitySerializer do + describe DownloadYourDataSerializers::DownloadYourDataIdentitySerializer do let(:subject) { described_class.new(resource) } let(:user) { create(:user) } let(:organization) { user&.organization } diff --git a/decidim-core/spec/lib/data_portability_serializers/data_portability_notification_serializer_spec.rb b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_notification_serializer_spec.rb similarity index 93% rename from decidim-core/spec/lib/data_portability_serializers/data_portability_notification_serializer_spec.rb rename to decidim-core/spec/lib/download_your_data_serializers/download_your_data_notification_serializer_spec.rb index 733304fb2b5ae..c055d7eb9700b 100644 --- a/decidim-core/spec/lib/data_portability_serializers/data_portability_notification_serializer_spec.rb +++ b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_notification_serializer_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" module Decidim - describe DataPortabilitySerializers::DataPortabilityNotificationSerializer do + describe DownloadYourDataSerializers::DownloadYourDataNotificationSerializer do let(:subject) { described_class.new(resource) } let(:resource) { build(:notification) } diff --git a/decidim-core/spec/lib/data_portability_serializers/data_portability_participatory_space_private_user_serializer_spec.rb b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_participatory_space_private_user_serializer_spec.rb similarity index 91% rename from decidim-core/spec/lib/data_portability_serializers/data_portability_participatory_space_private_user_serializer_spec.rb rename to decidim-core/spec/lib/download_your_data_serializers/download_your_data_participatory_space_private_user_serializer_spec.rb index 982ac5c45adbb..06cc66e1ae396 100644 --- a/decidim-core/spec/lib/data_portability_serializers/data_portability_participatory_space_private_user_serializer_spec.rb +++ b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_participatory_space_private_user_serializer_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" module Decidim - describe DataPortabilitySerializers::DataPortabilityParticipatorySpacePrivateUserSerializer do + describe DownloadYourDataSerializers::DownloadYourDataParticipatorySpacePrivateUserSerializer do let(:subject) { described_class.new(resource) } let(:resource) { build(:participatory_space_private_user) } diff --git a/decidim-core/spec/lib/data_portability_serializers/data_portability_report_serializer_spec.rb b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_report_serializer_spec.rb similarity index 97% rename from decidim-core/spec/lib/data_portability_serializers/data_portability_report_serializer_spec.rb rename to decidim-core/spec/lib/download_your_data_serializers/download_your_data_report_serializer_spec.rb index 1001be0a46cd6..d2827b49b17e4 100644 --- a/decidim-core/spec/lib/data_portability_serializers/data_portability_report_serializer_spec.rb +++ b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_report_serializer_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" module Decidim - describe DataPortabilitySerializers::DataPortabilityReportSerializer do + describe DownloadYourDataSerializers::DownloadYourDataReportSerializer do let(:subject) { described_class.new(resource) } let(:organization) { create(:organization) } diff --git a/decidim-core/spec/lib/data_portability_serializers/data_portability_user_group_serializer_spec.rb b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_user_group_serializer_spec.rb similarity index 91% rename from decidim-core/spec/lib/data_portability_serializers/data_portability_user_group_serializer_spec.rb rename to decidim-core/spec/lib/download_your_data_serializers/download_your_data_user_group_serializer_spec.rb index e3d808b1a20db..18efe6b6a0a3d 100644 --- a/decidim-core/spec/lib/data_portability_serializers/data_portability_user_group_serializer_spec.rb +++ b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_user_group_serializer_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" module Decidim - describe DataPortabilitySerializers::DataPortabilityUserGroupSerializer do + describe DownloadYourDataSerializers::DownloadYourDataUserGroupSerializer do let(:subject) { described_class.new(resource) } let(:resource) { create(:user_group) } diff --git a/decidim-core/spec/lib/data_portability_serializers/data_portability_user_serializer_spec.rb b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_user_serializer_spec.rb similarity index 98% rename from decidim-core/spec/lib/data_portability_serializers/data_portability_user_serializer_spec.rb rename to decidim-core/spec/lib/download_your_data_serializers/download_your_data_user_serializer_spec.rb index 0b1f2dfb05ce0..26d37f3b18ab5 100644 --- a/decidim-core/spec/lib/data_portability_serializers/data_portability_user_serializer_spec.rb +++ b/decidim-core/spec/lib/download_your_data_serializers/download_your_data_user_serializer_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" module Decidim - describe DataPortabilitySerializers::DataPortabilityUserSerializer do + describe DownloadYourDataSerializers::DownloadYourDataUserSerializer do let(:subject) { described_class.new(resource) } let(:resource) { create(:user) } diff --git a/decidim-core/spec/mailers/export_mailer_spec.rb b/decidim-core/spec/mailers/export_mailer_spec.rb index 9a6e99442e670..46b1e5089f479 100644 --- a/decidim-core/spec/mailers/export_mailer_spec.rb +++ b/decidim-core/spec/mailers/export_mailer_spec.rb @@ -37,12 +37,12 @@ module Decidim end end - describe "data portability export " do + describe "download your data export " do object = "Decidim::DummyResources::DummyResource" klass = Object.const_get(object) let(:export_data) { [[klass.model_name.name.parameterize.pluralize, Decidim::Exporters.find_exporter("CSV").new(klass.user_collection(user), klass.export_serializer).export]] } let(:images) { [] } - let(:mail) { described_class.data_portability_export(user, export_data, images) } + let(:mail) { described_class.download_your_data_export(user, export_data, images) } it "sets a subject" do expect(mail.subject).to include("Sarah Connor", "ready") diff --git a/decidim-core/spec/services/decidim/data_portability_exporter_spec.rb b/decidim-core/spec/services/decidim/download_your_data_exporter_spec.rb similarity index 80% rename from decidim-core/spec/services/decidim/data_portability_exporter_spec.rb rename to decidim-core/spec/services/decidim/download_your_data_exporter_spec.rb index f9384c021ed88..eb4495b3a6074 100644 --- a/decidim-core/spec/services/decidim/data_portability_exporter_spec.rb +++ b/decidim-core/spec/services/decidim/download_your_data_exporter_spec.rb @@ -3,12 +3,12 @@ require "spec_helper" module Decidim - describe DataPortabilityExporter do - subject { DataPortabilityExporter.new(user, tmp_file_in.path, password) } + describe DownloadYourDataExporter do + subject { DownloadYourDataExporter.new(user, tmp_file_in.path, password) } - let(:tmp_file_in) { Tempfile.new(["data-portability", ".7z"]) } - let(:tmp_dir_out) { Dir.mktmpdir("data_portability_exporter_spec") } - let(:password) { "data-portability.7z>passwd" } + let(:tmp_file_in) { Tempfile.new(["download-your-data", ".7z"]) } + let(:tmp_dir_out) { Dir.mktmpdir("download_your_data_exporter_spec") } + let(:password) { "download-your-data.7z>passwd" } let(:user) { create :user } let(:expected_files) do # this are the prefixes for the files archived in the zip @@ -42,7 +42,7 @@ module Decidim open_7z_and_extract_zip(tmp_file_in.path) file_prefixes = expected_files.dup - Zip::File.open(File.join(tmp_dir_out, DataPortabilityExporter::ZIP_FILE_NAME)) do |zip_file| + Zip::File.open(File.join(tmp_dir_out, DownloadYourDataExporter::ZIP_FILE_NAME)) do |zip_file| zip_file.each do |entry| entry_name = entry.name prefix = file_prefixes.find { |start| entry_name.start_with?(start) } diff --git a/decidim-core/spec/system/data_portability_spec.rb b/decidim-core/spec/system/download_your_data_spec.rb similarity index 82% rename from decidim-core/spec/system/data_portability_spec.rb rename to decidim-core/spec/system/download_your_data_spec.rb index bd9086dc2361a..7939b52f4ee0b 100644 --- a/decidim-core/spec/system/data_portability_spec.rb +++ b/decidim-core/spec/system/download_your_data_spec.rb @@ -2,7 +2,7 @@ require "spec_helper" -describe "DataPortability", type: :system do +describe "DownloadYourData", type: :system do let(:user) { create(:user, :confirmed, name: "Hodor User") } let(:organization) { user.organization } @@ -11,14 +11,14 @@ login_as user, scope: :user end - context "when on the data portability page" do + context "when on the download your data page" do before do - visit decidim.data_portability_path + visit decidim.download_your_data_path end describe "show button export data" do it "export the user's data" do - within ".row.data-portability" do + within ".row.download-your-data" do expect(page).to have_content("Download the data") expect(page).to have_content(user.email) end diff --git a/decidim-core/spec/system/user_tos_acceptance_spec.rb b/decidim-core/spec/system/user_tos_acceptance_spec.rb index 3c53271e8616f..435877a50a346 100644 --- a/decidim-core/spec/system/user_tos_acceptance_spec.rb +++ b/decidim-core/spec/system/user_tos_acceptance_spec.rb @@ -75,7 +75,7 @@ it "shows an option to download the users data" do within "#tos-refuse-modal" do - expect(page).to have_link("download your data", href: decidim.data_portability_path) + expect(page).to have_link("download your data", href: decidim.download_your_data_path) end end diff --git a/decidim-core/spec/tasks/decidim_tasks_delete_data_portability_files_spec.rb b/decidim-core/spec/tasks/decidim_tasks_delete_download_your_data_files_spec.rb similarity index 53% rename from decidim-core/spec/tasks/decidim_tasks_delete_data_portability_files_spec.rb rename to decidim-core/spec/tasks/decidim_tasks_delete_download_your_data_files_spec.rb index be01e74e63c29..1803c5fe6541a 100644 --- a/decidim-core/spec/tasks/decidim_tasks_delete_data_portability_files_spec.rb +++ b/decidim-core/spec/tasks/decidim_tasks_delete_download_your_data_files_spec.rb @@ -2,16 +2,16 @@ require "spec_helper" -describe "rake decidim:delete_data_portability_files", type: :task do - let!(:original_expiry_time) { Decidim.data_portability_expiry_time } +describe "rake decidim:delete_download_your_data_files", type: :task do + let!(:original_expiry_time) { Decidim.download_your_data_expiry_time } let!(:user) { create(:user) } before do - Decidim.data_portability_expiry_time = 0.seconds + Decidim.download_your_data_expiry_time = 0.seconds end after do - Decidim.data_portability_expiry_time = original_expiry_time + Decidim.download_your_data_expiry_time = original_expiry_time end it "preloads the Rails environment" do @@ -26,13 +26,13 @@ context "when there are some files" do before do - produce_data_portability_files + produce_download_your_data_files end it "runs gracefully" do - expect(portability_attachments.count).to be_positive + expect(download_your_data_attachments.count).to be_positive expect { task.execute }.not_to raise_error - expect(portability_attachments.count).to be_zero + expect(download_your_data_attachments.count).to be_zero end end @@ -41,13 +41,13 @@ #------------------------------------------------------------- - def produce_data_portability_files - user.data_portability_file.attach(io: File.open(Decidim::Dev.asset("city.jpeg")), filename: "city.jpeg") + def produce_download_your_data_files + user.download_your_data_file.attach(io: File.open(Decidim::Dev.asset("city.jpeg")), filename: "city.jpeg") end - def portability_attachments + def download_your_data_attachments ActiveStorage::Attachment.joins(:blob).where( - name: "data_portability_file", + name: "download_your_data_file", record_type: "Decidim::UserBaseEntity" ) end diff --git a/decidim-debates/app/models/decidim/debates/debate.rb b/decidim-debates/app/models/decidim/debates/debate.rb index f900bdaf153ce..d9fc04f3a0b12 100644 --- a/decidim-debates/app/models/decidim/debates/debate.rb +++ b/decidim-debates/app/models/decidim/debates/debate.rb @@ -18,7 +18,7 @@ class Debate < Debates::ApplicationRecord include Decidim::HasReference include Decidim::Traceable include Decidim::Loggable - include Decidim::DataPortability + include Decidim::DownloadYourData include Decidim::NewsletterParticipant include Decidim::Searchable include Decidim::TranslatableResource @@ -143,7 +143,7 @@ def allow_resource_permissions? end def self.export_serializer - Decidim::Debates::DataPortabilityDebateSerializer + Decidim::Debates::DownloadYourDataDebateSerializer end def self.newsletter_participant_ids(component) diff --git a/decidim-debates/app/serializers/decidim/debates/data_portability_debate_serializer.rb b/decidim-debates/app/serializers/decidim/debates/download_your_data_debate_serializer.rb similarity index 80% rename from decidim-debates/app/serializers/decidim/debates/data_portability_debate_serializer.rb rename to decidim-debates/app/serializers/decidim/debates/download_your_data_debate_serializer.rb index 5dc2051b0238a..ccefa39cb2190 100644 --- a/decidim-debates/app/serializers/decidim/debates/data_portability_debate_serializer.rb +++ b/decidim-debates/app/serializers/decidim/debates/download_your_data_debate_serializer.rb @@ -2,8 +2,8 @@ module Decidim module Debates - class DataPortabilityDebateSerializer < Decidim::Exporters::Serializer - # Serializes a Debate for data portability + class DownloadYourDataDebateSerializer < Decidim::Exporters::Serializer + # Serializes a Debate for download your data def serialize { id: resource.id, diff --git a/decidim-debates/spec/serializers/decidim/debates/data_portability_debate_serializer_spec.rb b/decidim-debates/spec/serializers/decidim/debates/download_your_data_debate_serializer_spec.rb similarity index 95% rename from decidim-debates/spec/serializers/decidim/debates/data_portability_debate_serializer_spec.rb rename to decidim-debates/spec/serializers/decidim/debates/download_your_data_debate_serializer_spec.rb index 4dbf9d46c639c..ce5e55b4bcce1 100644 --- a/decidim-debates/spec/serializers/decidim/debates/data_portability_debate_serializer_spec.rb +++ b/decidim-debates/spec/serializers/decidim/debates/download_your_data_debate_serializer_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" module Decidim - describe Debates::DataPortabilityDebateSerializer do + describe Debates::DownloadYourDataDebateSerializer do let(:subject) { described_class.new(resource) } let(:resource) { create(:debate) } diff --git a/decidim-dev/lib/decidim/dev/test/rspec_support/component.rb b/decidim-dev/lib/decidim/dev/test/rspec_support/component.rb index 720db84c7a7ca..c98bbf8bf8a84 100644 --- a/decidim-dev/lib/decidim/dev/test/rspec_support/component.rb +++ b/decidim-dev/lib/decidim/dev/test/rspec_support/component.rb @@ -89,7 +89,7 @@ class DummyResource < ApplicationRecord include Followable include Traceable include Publicable - include Decidim::DataPortability + include Decidim::DownloadYourData include Searchable include Paddable include Amendable diff --git a/decidim-elections/spec/lib/tasks/decidim_tasks_delete_data_portability_files_spec.rb b/decidim-elections/spec/lib/tasks/decidim_tasks_delete_download_your_data_files_spec.rb similarity index 100% rename from decidim-elections/spec/lib/tasks/decidim_tasks_delete_data_portability_files_spec.rb rename to decidim-elections/spec/lib/tasks/decidim_tasks_delete_download_your_data_files_spec.rb diff --git a/decidim-forms/app/models/decidim/forms/answer.rb b/decidim-forms/app/models/decidim/forms/answer.rb index 3496a3e26337c..7c43671feae4e 100644 --- a/decidim-forms/app/models/decidim/forms/answer.rb +++ b/decidim-forms/app/models/decidim/forms/answer.rb @@ -4,7 +4,7 @@ module Decidim module Forms # The data store for an Answer in the Decidim::Forms class Answer < Forms::ApplicationRecord - include Decidim::DataPortability + include Decidim::DownloadYourData include Decidim::NewsletterParticipant include Decidim::HasAttachments @@ -29,7 +29,7 @@ def self.user_collection(user) end def self.export_serializer - Decidim::Forms::DataPortabilityUserAnswersSerializer + Decidim::Forms::DownloadYourDataUserAnswersSerializer end def self.newsletter_participant_ids(component) diff --git a/decidim-forms/lib/decidim/forms.rb b/decidim-forms/lib/decidim/forms.rb index d1db842e961bc..5c3db346089d2 100644 --- a/decidim-forms/lib/decidim/forms.rb +++ b/decidim-forms/lib/decidim/forms.rb @@ -9,7 +9,7 @@ module Decidim # This namespace holds the logic of the `Forms`. module Forms autoload :UserAnswersSerializer, "decidim/forms/user_answers_serializer" - autoload :DataPortabilityUserAnswersSerializer, "decidim/forms/data_portability_user_answers_serializer" + autoload :DownloadYourDataUserAnswersSerializer, "decidim/forms/download_your_data_user_answers_serializer" end module Exporters diff --git a/decidim-forms/lib/decidim/forms/data_portability_user_answers_serializer.rb b/decidim-forms/lib/decidim/forms/download_your_data_user_answers_serializer.rb similarity index 89% rename from decidim-forms/lib/decidim/forms/data_portability_user_answers_serializer.rb rename to decidim-forms/lib/decidim/forms/download_your_data_user_answers_serializer.rb index 6f4be45a74518..a8b007b547133 100644 --- a/decidim-forms/lib/decidim/forms/data_portability_user_answers_serializer.rb +++ b/decidim-forms/lib/decidim/forms/download_your_data_user_answers_serializer.rb @@ -2,9 +2,9 @@ module Decidim module Forms - class DataPortabilityUserAnswersSerializer < Decidim::Exporters::Serializer + class DownloadYourDataUserAnswersSerializer < Decidim::Exporters::Serializer include Decidim::TranslationsHelper - # Serializes an user answer for data portability + # Serializes an user answer for download your data def serialize { id: resource.id, diff --git a/decidim-forms/spec/services/decidim/forms/data_portability_user_answer_serializer_spec.rb b/decidim-forms/spec/services/decidim/forms/download_your_data_user_answer_serializer_spec.rb similarity index 99% rename from decidim-forms/spec/services/decidim/forms/data_portability_user_answer_serializer_spec.rb rename to decidim-forms/spec/services/decidim/forms/download_your_data_user_answer_serializer_spec.rb index b4f2e4143deb2..698799af12a5f 100644 --- a/decidim-forms/spec/services/decidim/forms/data_portability_user_answer_serializer_spec.rb +++ b/decidim-forms/spec/services/decidim/forms/download_your_data_user_answer_serializer_spec.rb @@ -4,7 +4,7 @@ module Decidim module Forms - describe DataPortabilityUserAnswersSerializer do + describe DownloadYourDataUserAnswersSerializer do include Decidim::TranslationsHelper subject do diff --git a/decidim-generators/lib/decidim/generators/app_templates/initializer.rb b/decidim-generators/lib/decidim/generators/app_templates/initializer.rb index 472ba3b0bc09b..ca86355dd4d9e 100644 --- a/decidim-generators/lib/decidim/generators/app_templates/initializer.rb +++ b/decidim-generators/lib/decidim/generators/app_templates/initializer.rb @@ -178,8 +178,8 @@ # Allow organizations admins to track newsletter links. config.track_newsletter_links = Rails.application.secrets.decidim[:track_newsletter_links].present? unless Rails.application.secrets.decidim[:track_newsletter_links] == "auto" - # Amount of time that the data portability files will be available in the server. - config.data_portability_expiry_time = Rails.application.secrets.decidim[:data_portability_expiry_time].to_i.days + # Amount of time that the download your data files will be available in the server. + config.download_your_data_expiry_time = Rails.application.secrets.decidim[:download_your_data_expiry_time].to_i.days # Max requests in a time period to prevent DoS attacks. Only applied on production. config.throttling_max_requests = Rails.application.secrets.decidim[:throttling_max_requests].to_i diff --git a/decidim-generators/lib/decidim/generators/app_templates/secrets.yml.erb b/decidim-generators/lib/decidim/generators/app_templates/secrets.yml.erb index d32a92e308811..489dcb735c5d7 100644 --- a/decidim-generators/lib/decidim/generators/app_templates/secrets.yml.erb +++ b/decidim-generators/lib/decidim/generators/app_templates/secrets.yml.erb @@ -24,7 +24,7 @@ decidim_default: &decidim_default maximum_avatar_size: <%%= Decidim::Env.new("DECIDIM_MAXIMUM_AVATAR_SIZE", "5").to_i %> max_reports_before_hiding: <%%= Decidim::Env.new("DECIDIM_MAX_REPORTS_BEFORE_HIDING", "3").to_i %> track_newsletter_links: <%%= Decidim::Env.new("DECIDIM_TRACK_NEWSLETTER_LINKS", "auto").default_or_present_if_exists.to_s %> - data_portability_expiry_time: <%%= Decidim::Env.new("DECIDIM_DATA_PORTABILITY_EXPIRY_TIME", "7").to_i %> + download_your_data_expiry_time: <%%= Decidim::Env.new("DECIDIM_DOWNLOAD_YOUR_DATA_EXPIRY_TIME", "7").to_i %> throttling_max_requests: <%%= Decidim::Env.new("DECIDIM_THROTTLING_MAX_REQUESTS", "100").to_i %> throttling_period: <%%= Decidim::Env.new("DECIDIM_THROTTLING_PERIOD", "1").to_i %> unconfirmed_access_for: <%%= Decidim::Env.new("DECIDIM_UNCONFIRMED_ACCESS_FOR", "0").to_i %> diff --git a/decidim-generators/lib/decidim/generators/test/generator_examples.rb b/decidim-generators/lib/decidim/generators/test/generator_examples.rb index ebb87be3d28e3..e82e937795e0d 100644 --- a/decidim-generators/lib/decidim/generators/test/generator_examples.rb +++ b/decidim-generators/lib/decidim/generators/test/generator_examples.rb @@ -144,7 +144,7 @@ "DECIDIM_MAXIMUM_AVATAR_SIZE" => "11", "DECIDIM_MAX_REPORTS_BEFORE_HIDING" => "4", "DECIDIM_TRACK_NEWSLETTER_LINKS" => "", - "DECIDIM_DATA_PORTABILITY_EXPIRY_TIME" => "2", + "DECIDIM_DOWNLOAD_YOUR_DATA_EXPIRY_TIME" => "2", "DECIDIM_THROTTLING_MAX_REQUESTS" => "99", "DECIDIM_THROTTLING_PERIOD" => "2", "DECIDIM_UNCONFIRMED_ACCESS_FOR" => "3", @@ -260,7 +260,7 @@ %w(decidim maximum_avatar_size) => 5, %w(decidim max_reports_before_hiding) => 3, %w(decidim track_newsletter_links) => "auto", - %w(decidim data_portability_expiry_time) => 7, + %w(decidim download_your_data_expiry_time) => 7, %w(decidim throttling_max_requests) => 100, %w(decidim throttling_period) => 1, %w(decidim unconfirmed_access_for) => 0, @@ -358,7 +358,7 @@ %w(decidim maximum_avatar_size) => 11, %w(decidim max_reports_before_hiding) => 4, %w(decidim track_newsletter_links) => false, - %w(decidim data_portability_expiry_time) => 2, + %w(decidim download_your_data_expiry_time) => 2, %w(decidim throttling_max_requests) => 99, %w(decidim throttling_period) => 2, %w(decidim unconfirmed_access_for) => 3, @@ -447,7 +447,7 @@ "maximum_avatar_size" => 5_242_880, # 5 megabytes "max_reports_before_hiding" => 3, "track_newsletter_links" => true, - "data_portability_expiry_time" => 604_800, # 7 days + "download_your_data_expiry_time" => 604_800, # 7 days "throttling_max_requests" => 100, "throttling_period" => 60, # 1 minute "unconfirmed_access_for" => 0, @@ -483,7 +483,7 @@ "maximum_avatar_size" => 11_534_336, # 11 megabytes "max_reports_before_hiding" => 4, "track_newsletter_links" => false, - "data_portability_expiry_time" => 172_800, # 2 days + "download_your_data_expiry_time" => 172_800, # 2 days "throttling_max_requests" => 99, "throttling_period" => 120, # 2 minutes "unconfirmed_access_for" => 259_200, # 3 days diff --git a/decidim-meetings/app/models/decidim/meetings/answer.rb b/decidim-meetings/app/models/decidim/meetings/answer.rb index fd0ea2e623cbd..e5abc929ab97a 100644 --- a/decidim-meetings/app/models/decidim/meetings/answer.rb +++ b/decidim-meetings/app/models/decidim/meetings/answer.rb @@ -4,7 +4,7 @@ module Decidim module Meetings # The data store for an Answer in the Decidim::Meetings class Answer < Meetings::ApplicationRecord - include Decidim::DataPortability + include Decidim::DownloadYourData belongs_to :user, class_name: "Decidim::User", foreign_key: "decidim_user_id", optional: true belongs_to :questionnaire, class_name: "Decidim::Meetings::Questionnaire", foreign_key: "decidim_questionnaire_id" @@ -24,7 +24,7 @@ def self.user_collection(user) end def self.export_serializer - Decidim::Meetings::DataPortabilityUserAnswersSerializer + Decidim::Meetings::DownloadYourDataUserAnswersSerializer end def organization diff --git a/decidim-meetings/app/models/decidim/meetings/invite.rb b/decidim-meetings/app/models/decidim/meetings/invite.rb index 86bec395de162..bd4307a20ecac 100644 --- a/decidim-meetings/app/models/decidim/meetings/invite.rb +++ b/decidim-meetings/app/models/decidim/meetings/invite.rb @@ -6,7 +6,7 @@ module Meetings class Invite < Meetings::ApplicationRecord include Decidim::Traceable include Decidim::Loggable - include Decidim::DataPortability + include Decidim::DownloadYourData belongs_to :meeting, foreign_key: "decidim_meeting_id", class_name: "Decidim::Meetings::Meeting" belongs_to :user, foreign_key: "decidim_user_id", class_name: "Decidim::User" @@ -14,7 +14,7 @@ class Invite < Meetings::ApplicationRecord validates :user, uniqueness: { scope: :meeting } def self.export_serializer - Decidim::Meetings::DataPortabilityInviteSerializer + Decidim::Meetings::DownloadYourDataInviteSerializer end def self.log_presenter_class_for(_log) diff --git a/decidim-meetings/app/models/decidim/meetings/registration.rb b/decidim-meetings/app/models/decidim/meetings/registration.rb index 57b0782a48402..090c7b8c2dd5c 100644 --- a/decidim-meetings/app/models/decidim/meetings/registration.rb +++ b/decidim-meetings/app/models/decidim/meetings/registration.rb @@ -4,7 +4,7 @@ module Decidim module Meetings # The data store for a Registration in the Decidim::Meetings component. class Registration < Meetings::ApplicationRecord - include Decidim::DataPortability + include Decidim::DownloadYourData belongs_to :meeting, foreign_key: "decidim_meeting_id", class_name: "Decidim::Meetings::Meeting" belongs_to :user, foreign_key: "decidim_user_id", class_name: "Decidim::User" @@ -23,7 +23,7 @@ def self.user_collection(user) end def self.export_serializer - Decidim::Meetings::DataPortabilityRegistrationSerializer + Decidim::Meetings::DownloadYourDataRegistrationSerializer end # Pluck all Decidim::UserGroup ID's diff --git a/decidim-meetings/app/serializers/decidim/meetings/data_portability_invite_serializer.rb b/decidim-meetings/app/serializers/decidim/meetings/download_your_data_invite_serializer.rb similarity index 89% rename from decidim-meetings/app/serializers/decidim/meetings/data_portability_invite_serializer.rb rename to decidim-meetings/app/serializers/decidim/meetings/download_your_data_invite_serializer.rb index f8d2689cfa5c8..bbd95f12583e1 100644 --- a/decidim-meetings/app/serializers/decidim/meetings/data_portability_invite_serializer.rb +++ b/decidim-meetings/app/serializers/decidim/meetings/download_your_data_invite_serializer.rb @@ -2,8 +2,8 @@ module Decidim module Meetings - class DataPortabilityInviteSerializer < Decidim::Exporters::Serializer - # Serializes an invite for data portability + class DownloadYourDataInviteSerializer < Decidim::Exporters::Serializer + # Serializes an invite for download your data def serialize { id: resource.id, diff --git a/decidim-meetings/app/serializers/decidim/meetings/data_portability_registration_serializer.rb b/decidim-meetings/app/serializers/decidim/meetings/download_your_data_registration_serializer.rb similarity index 88% rename from decidim-meetings/app/serializers/decidim/meetings/data_portability_registration_serializer.rb rename to decidim-meetings/app/serializers/decidim/meetings/download_your_data_registration_serializer.rb index 1bacc4003da46..60cc8734a8a92 100644 --- a/decidim-meetings/app/serializers/decidim/meetings/data_portability_registration_serializer.rb +++ b/decidim-meetings/app/serializers/decidim/meetings/download_your_data_registration_serializer.rb @@ -2,8 +2,8 @@ module Decidim module Meetings - class DataPortabilityRegistrationSerializer < Decidim::Exporters::Serializer - # Serializes a registration for data portability + class DownloadYourDataRegistrationSerializer < Decidim::Exporters::Serializer + # Serializes a registration for download your data def serialize { id: resource.id, diff --git a/decidim-meetings/lib/decidim/meetings.rb b/decidim-meetings/lib/decidim/meetings.rb index 17f1308bc700c..f64a5dedc00c2 100644 --- a/decidim-meetings/lib/decidim/meetings.rb +++ b/decidim-meetings/lib/decidim/meetings.rb @@ -15,7 +15,7 @@ module Meetings autoload :Registrations, "decidim/meetings/registrations" autoload :MeetingSerializer, "decidim/meetings/meeting_serializer" autoload :UserAnswersSerializer, "decidim/meetings/user_answers_serializer" - autoload :DataPortabilityUserAnswersSerializer, "decidim/meetings/data_portability_user_answers_serializer" + autoload :DownloadYourDataUserAnswersSerializer, "decidim/meetings/download_your_data_user_answers_serializer" include ActiveSupport::Configurable diff --git a/decidim-meetings/lib/decidim/meetings/data_portability_user_answers_serializer.rb b/decidim-meetings/lib/decidim/meetings/download_your_data_user_answers_serializer.rb similarity index 83% rename from decidim-meetings/lib/decidim/meetings/data_portability_user_answers_serializer.rb rename to decidim-meetings/lib/decidim/meetings/download_your_data_user_answers_serializer.rb index b6004232f3fdf..48555c2350062 100644 --- a/decidim-meetings/lib/decidim/meetings/data_portability_user_answers_serializer.rb +++ b/decidim-meetings/lib/decidim/meetings/download_your_data_user_answers_serializer.rb @@ -2,9 +2,9 @@ module Decidim module Meetings - class DataPortabilityUserAnswersSerializer < Decidim::Exporters::Serializer + class DownloadYourDataUserAnswersSerializer < Decidim::Exporters::Serializer include Decidim::TranslationsHelper - # Serializes an user answer for data portability + # Serializes an user answer for download your data def serialize { id: resource.id, diff --git a/decidim-meetings/spec/serializers/decidim/meetings/data_portability_invite_serializer_spec.rb b/decidim-meetings/spec/serializers/decidim/meetings/download_your_data_invite_serializer_spec.rb similarity index 97% rename from decidim-meetings/spec/serializers/decidim/meetings/data_portability_invite_serializer_spec.rb rename to decidim-meetings/spec/serializers/decidim/meetings/download_your_data_invite_serializer_spec.rb index be6938e8796fd..e3c2dd9fcb83a 100644 --- a/decidim-meetings/spec/serializers/decidim/meetings/data_portability_invite_serializer_spec.rb +++ b/decidim-meetings/spec/serializers/decidim/meetings/download_your_data_invite_serializer_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" module Decidim::Meetings - describe DataPortabilityInviteSerializer do + describe DownloadYourDataInviteSerializer do let(:resource) { build_stubbed(:invite) } let(:subject) { described_class.new(resource) } diff --git a/decidim-meetings/spec/serializers/data_portability_registration_serializer_spec.rb b/decidim-meetings/spec/serializers/download_your_data_registration_serializer_spec.rb similarity index 97% rename from decidim-meetings/spec/serializers/data_portability_registration_serializer_spec.rb rename to decidim-meetings/spec/serializers/download_your_data_registration_serializer_spec.rb index 81504d15f778b..d76d12ca76ecf 100644 --- a/decidim-meetings/spec/serializers/data_portability_registration_serializer_spec.rb +++ b/decidim-meetings/spec/serializers/download_your_data_registration_serializer_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" module Decidim::Meetings - describe DataPortabilityRegistrationSerializer do + describe DownloadYourDataRegistrationSerializer do let(:resource) { create(:registration) } let(:subject) { described_class.new(resource) } diff --git a/decidim-proposals/app/models/decidim/proposals/proposal.rb b/decidim-proposals/app/models/decidim/proposals/proposal.rb index 3a52ab9032278..3f22a4d3675b5 100644 --- a/decidim-proposals/app/models/decidim/proposals/proposal.rb +++ b/decidim-proposals/app/models/decidim/proposals/proposal.rb @@ -18,7 +18,7 @@ class Proposal < Proposals::ApplicationRecord include Decidim::Traceable include Decidim::Loggable include Decidim::Fingerprintable - include Decidim::DataPortability + include Decidim::DownloadYourData include Decidim::Proposals::ParticipatoryTextSection include Decidim::Amendable include Decidim::NewsletterParticipant @@ -130,7 +130,7 @@ def self.log_presenter_class_for(_log) end # Returns a collection scoped by an author. - # Overrides this method in DataPortability to support Coauthorable. + # Overrides this method in DownloadYourData to support Coauthorable. def self.user_collection(author) return unless author.is_a?(Decidim::User) @@ -413,7 +413,7 @@ def self.export_serializer Decidim::Proposals::ProposalSerializer end - def self.data_portability_images(user) + def self.download_your_data_images(user) user_collection(user).map { |p| p.attachments.collect(&:file) } end diff --git a/docs/modules/configure/pages/environment_variables.adoc b/docs/modules/configure/pages/environment_variables.adoc index 3c1691bb04bd4..9176c69a34d5b 100644 --- a/docs/modules/configure/pages/environment_variables.adoc +++ b/docs/modules/configure/pages/environment_variables.adoc @@ -550,8 +550,8 @@ Mind that this depends on your environment, for instance you could also need to |true |No -|DECIDIM_DATA_PORTABILITY_EXPIRY_TIME -|Number of days that the data portability files will be available in the server. +|DECIDIM_DOWNLOAD_YOUR_DATA_EXPIRY_TIME +|Number of days that the download your data files will be available in the server. |7 |No diff --git a/docs/modules/configure/pages/initializer.adoc b/docs/modules/configure/pages/initializer.adoc index 1189e570a2a1b..c6532b49db5d0 100644 --- a/docs/modules/configure/pages/initializer.adoc +++ b/docs/modules/configure/pages/initializer.adoc @@ -204,13 +204,13 @@ Allow organizations admins to track newsletter links, trough UTMs. See https://e config.track_newsletter_links = true .... -== Data portability expiry time +== Download your data expiry time -Amount of time that the data portability files will be available in the server. +Amount of time that the download your data files will be available in the server. [source,ruby] .... - config.data_portability_expiry_time = 7.days + config.download_your_data_expiry_time = 7.days .... == Throttling settings diff --git a/docs/modules/develop/pages/modules.adoc b/docs/modules/develop/pages/modules.adoc index bc28128446eb0..804de0fbe8b11 100644 --- a/docs/modules/develop/pages/modules.adoc +++ b/docs/modules/develop/pages/modules.adoc @@ -101,7 +101,7 @@ the https://github.com/decidim/decidim/network/dependents[dependency graph]. See . Using the Admin panel . Generate logs on Admin panel if admins can operate on it . GraphQL API - . Data Portability + . Download your data . Endorsable . Followable . Embeddable diff --git a/docs/modules/install/pages/index.adoc b/docs/modules/install/pages/index.adoc index 2b8b9a8dcb933..032000a2439fa 100644 --- a/docs/modules/install/pages/index.adoc +++ b/docs/modules/install/pages/index.adoc @@ -96,8 +96,8 @@ You can configure it with `crontab -e`, for instance if you've created your Deci [source,console] ---- -# Remove expired data portability files -0 0 * * * cd /home/user/decidim_application && RAILS_ENV=production bundle exec rake decidim:delete_data_portability_files +# Remove expired download your data files +0 0 * * * cd /home/user/decidim_application && RAILS_ENV=production bundle exec rake decidim:delete_download_your_data_files # Compute metrics 1 0 * * * cd /home/user/decidim_application && RAILS_ENV=production bundle exec rake decidim:metrics:all