Migrating ZooniverseSubjects to a new workflow
This procedure is designed to mitigate the situation we faced in Ramsey County, where previous work in a different version of the Mapping Prejudice workflow needed to be integrated with an updated process with more data. The goals are: - Don’t ask community mapmaking volunteers to waste time re-classifying pages we previously looked at - Have both old and new completed covenants exported from a single workflow to avoid having to reconcile them repeatedly - Have migrated ZooniverseSubjects linked to DeedPage records in the NEW workflow
Ensure the new destination workflow exists
Export ZooniverseSubject and related model data from the old workflow
python manage.py dump_django_zooniversesubjects --workflow "Ramsey County (old workflow)"
python manage.py dump_django_individual_responses --workflow "Ramsey County (old workflow)"
python manage.py dump_manual_corrections --workflow "Ramsey County (old workflow)"
python manage.py dump_extra_parcels --workflow "Ramsey County (old workflow)"
python manage.py dump_manual_pin_links --workflow "Ramsey County (old workflow)"
Modify the exported ZooniverseSubject CSV to change the workflow name and link to new images. We used a Jupyter notebook to update the
workflow_name,deedpage_s3_lookup,image_ids, andimage_linksfields. Export to a new CSV.Load the exports to the new workflow in this order, which will also connect the supporting models to the ZooniverseSubjects.
python manage.py load_django_zooniversesubjects --workflow "MN Ramsey County" --infile path/to/csv.csv
python manage.py load_django_individual_responses --workflow "MN Ramsey County" --infile path/to/csv.csv
python manage.py load_manual_corrections --workflow "MN Ramsey County" --infile path/to/csv.csv
python manage.py load_extra_parcels --workflow "MN Ramsey County" --infile path/to/csv.csv
python manage.py load_manual_pin_links --workflow "MN Ramsey County" --infile path/to/csv.csv
Re-join subjects to DeedPage images
python manage.py join_deeds_to_subjects --workflow "MN Ramsey County"
Move ManualCovenants
python manage.py dump_manual_covenants --workflow "Ramsey County (old workflow)"
python manage.py load_manual_covenants --workflow "MN Ramsey County" --infile path/to/csv.csv
Re-do join of matches to modern parcel map
python manage.py rebuild_covenant_spatial_lookups --workflow "MN Ramsey County"
python manage.py match_parcels --workflow "MN Ramsey County"
Repeating process with new batches of Zooniverse results
A modified version of this process will need to be repeated if new ZooniverseSubjects are loaded from newly retired Zooniverse work.
Complete steps 1-4 of Downloading new batches of Zooniverse results
Load the migrated subjects to the new workflow.
python manage.py load_django_zooniversesubjects --workflow "MN Ramsey County" --infile path/to/csv.csv
Complete the remaining steps of Downloading new batches of Zooniverse results