# 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.