{% extends "admin/base.html" %} {#- Migrate to Actor Registry, step 1: contact points. Find -> Review -> Link. See contact_migration.py for the rules. Plain forms, no JavaScript. -#} {% block subtitle %}{{ _('Migrate to Actor Registry') }}{% endblock %} {% block breadcrumb_content %}
{{ _("Contact details are often stored as free text in CKAN's own fields, Maintainer and Author, and repeated on many datasets. Here you turn them into shared contact points and link the datasets to them. Maintainer is used first, and Author only when a dataset has no maintainer.") }}
{{ _('The original fields are never changed. A dataset that has a contact point is done and is no longer listed. You only see the datasets you may edit.') }}
{% if closed %}| {{ _('Datasets with contact details in Maintainer or Author') }} | {{ counts.old }} |
|---|---|
| {{ _('of which linked to a contact point') }} | {{ counts.linked }} |
| {{ _('of which changed since linking') }} | {% if counts.changed %}{{ counts.changed }}{% else %}0{% endif %} |
| {{ _('of which skipped') }} | {{ counts.skipped }}{% if counts.skipped %} · {{ _('Show') }}{% endif %} |
| {{ _('of which remaining') }} | {{ counts.remaining }} |
| {{ _('Datasets with no contact details at all') }} | {{ counts.no_contact }}{% if counts.no_contact %} · {{ _('Add contact points') }}{% endif %} |
{{ _('Maintainer or Author has changed on these datasets after they were linked. Decide whether the contact point should follow the change.') }}
{% for item in data.changed %} {% set contact = item.contact_point %} {% set can_update = contact and contact.active and item.contact_point_in_dataset %}| {{ _('Linked to') }} | {% if contact %}{{ contact.name }}{% if contact.email %} <{{ contact.email }}>{% endif %}{% if not contact.active %} {{ _('Inactive') }}{% endif %}{% if not item.contact_point_in_dataset %} {{ _('no longer on the dataset') }}{% endif %}{% else %}–{% endif %} |
|---|---|
| {{ label }} | {% if item.previous %} |
{{ _('Nothing remains to migrate.') }}
{% endif %} {% for candidate in candidates %} {% set number = first_number + loop.index0 %} {% set default_action = 'existing' if candidate.matches else 'create' %}{% trans count=candidate.datasets|length %}{{ count }} dataset{% pluralize %}{{ count }} datasets{% endtrans %}
{% if candidate.variants|length > 1 %}{{ _('Names used:') }} {% for variant, count in candidate.variants %}{{ variant }} ({{ count }}){% if not loop.last %}, {% endif %}{% endfor %}
{% endif %} {% if candidate.invalid_emails %}{{ _('Not a valid email address:') }} {{ candidate.invalid_emails|join(', ') }}. {{ _('Enter a correct address, or leave the field empty.') }}
{% endif %}| {{ item.title }} | {{ item.name or '–' }}{% if item.raw_email %} <{{ item.raw_email }}>{% endif %} |
{{ _('Shows Maintainer and Author again and uses them in the export for datasets without a contact point.') }}
{% else %}{{ _('Closing hides Maintainer and Author in forms and on dataset pages, for everyone including sysadmins, and stops exporting them. Nothing is deleted: the values stay stored, and you can reopen the migration at any time. It takes effect at once, without a restart.') }}
{{ _('Hiding works for schemas whose Maintainer and Author fields use the legacy_contact.html snippets; schemas without those fields are not affected.') }}
{% endif %}