110 lines
3.8 KiB
Markdown
110 lines
3.8 KiB
Markdown
# Rolling over for a new conference
|
|
|
|
This website collects a limited amount of personally identifiable information for the purposes of organizing a conference. In the interests of security, we've chosen to reset the site for each conference to limit the amount of information that could potentially ever be exposed in the event of a vulnerability.
|
|
|
|
|
|
## Step 1: Take a snapshot of the public conference site
|
|
|
|
Method described here:
|
|
|
|
https://f.sfconservancy.org/Conservancy/2024.fossy.us/src/branch/main/README.md
|
|
|
|
|
|
## Step 2: Download any reports for archive use
|
|
|
|
This might include the attendees, talks proposed and speakers.
|
|
|
|
|
|
## Step 3: Take a database backup
|
|
|
|
This is useful in case we miss something. Run:
|
|
|
|
fab download-postgres-db
|
|
|
|
|
|
## Step 4: Delete any uploaded files/reports
|
|
|
|
On the server, run:
|
|
|
|
rm -rf /srv/symposion_app/site_media/*
|
|
|
|
|
|
## Step 4: Reset the database
|
|
|
|
Remove all accounts, tickets, invoices, talks, etc.
|
|
|
|
Probably the easiest approach is to select and delete all non-staff "User" records via Django Admin and letting the cascading deletes handle any relationships.
|
|
|
|
I've previously also used the commands below:
|
|
|
|
```
|
|
$ sudo -u postgres psql symposion
|
|
delete from registrasion_lineitem;
|
|
delete from registrasion_manualpayment;
|
|
delete from registripe_stripepayment;
|
|
delete from registrasion_creditnote;
|
|
delete from registrasion_paymentbase;
|
|
delete from registrasion_invoice;
|
|
delete from registrasion_cart_vouchers;
|
|
delete from registrasion_productitem;
|
|
delete from registrasion_discountitem;
|
|
delete from registrasion_cart;
|
|
delete from pinaxcon_registrasion_attendeeprofile;
|
|
delete from registrasion_attendeeprofilebase;
|
|
delete from registrasion_attendee;
|
|
|
|
delete from proposals_aiandmachinelearningproposal;
|
|
delete from proposals_diversityequityandinclusionproposal;
|
|
delete from proposals_fossandarm64proposal;
|
|
delete from proposals_fossfundingandeconomicsproposal;
|
|
delete from proposals_fossindailylifeproposal;
|
|
delete from proposals_fossineducationproposal;
|
|
delete from proposals_keynotepanelproposal;
|
|
delete from proposals_licensingandlegalissuesproposal;
|
|
delete from proposals_memberprojectsproposal;
|
|
delete from proposals_mobiledeviceuserfreedomproposal;
|
|
delete from proposals_reproducibilityproposal;
|
|
delete from proposals_righttorepairproposal;
|
|
delete from proposals_scienceofcommunityproposal;
|
|
delete from proposals_seleniumproposal;
|
|
delete from proposals_supportingusergroupsproposal;
|
|
delete from proposals_talkproposal;
|
|
delete from proposals_tutorialproposal;
|
|
delete from proposals_wildcardproposal;
|
|
delete from proposals_xmppproposal;
|
|
|
|
delete from symposion_reviews_proposalresult;
|
|
delete from symposion_reviews_resultnotification;
|
|
delete from symposion_schedule_presentation_additional_speakers;
|
|
delete from symposion_schedule_presentation;
|
|
delete from symposion_reviews_latestvote;
|
|
delete from symposion_reviews_proposalmessage;
|
|
delete from symposion_proposals_additionalspeaker;
|
|
delete from symposion_proposals_supportingdocument;
|
|
delete from symposion_proposals_proposalbase;
|
|
|
|
delete from account_account where user_id in (select id from auth_user where is_staff = false);
|
|
delete from account_emailconfirmation;
|
|
delete from account_emailaddress where user_id in (select id from auth_user where is_staff = false);
|
|
|
|
delete from symposion_speakers_speaker;
|
|
delete from reversion_version;
|
|
delete from reversion_revision;
|
|
delete from teams_membership;
|
|
delete from pinax_stripe_card;
|
|
delete from pinax_stripe_charge;
|
|
delete from pinax_stripe_customer;
|
|
delete from django_admin_log;
|
|
|
|
delete from auth_user where is_staff = false;
|
|
```
|
|
|
|
Set any remaining account `completed_registration` to false.
|
|
|
|
Add a new Conference entry in Django Admin and update the `CONFERENCE_ID` in pinaxcon/settings.py. Also update the conference dates.
|
|
|
|
Find and update all uses of 2026 and the conference dates in this codebase.
|
|
|
|
Update flatpages such as the "/" home page.
|
|
|
|
Update the Django "site" in the Admin.
|