Compare commits

..

2 commits

Author SHA1 Message Date
de4d86a522
Update rollover notes 2026-02-24 13:40:50 +11:00
a7620bdaa7
Update dates, locations and URLs for 2026 2026-02-20 17:55:12 +11:00
10 changed files with 59 additions and 28 deletions

View file

@ -1,10 +1,41 @@
Export any reports you want to keep.
# Rolling over for a new conference
Take a database dump:
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
Remove all accounts, tickets, invoices, talks, etc. I used the commands below, but this may be simpler to achieve by selecting the relevant users in the Django Admin, selecting "Delete" and letting the cascading deletes deal with it.
## 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
@ -72,7 +103,7 @@ 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 2025 and the conference dates in this codebase.
Find and update all uses of 2026 and the conference dates in this codebase.
Update flatpages such as the "/" home page.

6
fabfile.py vendored
View file

@ -81,7 +81,7 @@ ns.configure({
# Our custom project config.
'env': {
'branch': 'fossy2025',
'branch': 'fossy2026',
'app_user': 'www-data',
'db_name': 'symposion',
'project_dir': '/srv/symposion_app',
@ -93,7 +93,7 @@ ns.configure({
'uwsgi_conf': 'deploy/uwsgi.ini',
'nginx_conf': 'deploy/nginx.conf',
'python': '/usr/bin/python3.11',
'url': 'https://2025.fossy.us/',
'domain': '2025.fossy.us',
'url': 'https://2026.fossy.ca/',
'domain': '2026.fossy.ca',
},
})

View file

@ -3,9 +3,9 @@
"model": "symposion_conference.conference",
"pk": 1,
"fields": {
"title": "FOSSY 2025",
"start_date": "2025-07-31",
"end_date": "2025-08-03",
"title": "FOSSY 2026",
"start_date": "2026-08-06",
"end_date": "2026-08-09",
"timezone": "US/Pacific"
}
}

View file

@ -3,8 +3,8 @@
"model": "sites.site",
"pk": 1,
"fields": {
"domain": "2025.fossy.us",
"name": "FOSSY 2025"
"domain": "2026.fossy.ca",
"name": "FOSSY 2026"
}
}
]

View file

@ -397,7 +397,7 @@ MARKDOWNIFY = {
}
}
CONFERENCE_ID = 4
CONFERENCE_ID = 5
PROPOSAL_FORMS = {
"databases": "pinaxcon.proposals.forms.DatabasesProposalForm",
"distros": "pinaxcon.proposals.forms.DistrosProposalForm",
@ -566,8 +566,8 @@ CONFERENCE_NAME = os.environ.get('CONFERENCE_NAME', 'FOSSY')
CONFERENCE_NAME_SHORT = os.environ.get('CONFERENCE_NAME_SHORT', 'FOSSY')
CONFERENCE_EMAIL = os.environ.get('CONFERENCE_EMAIL', DEFAULT_FROM_EMAIL)
CONF_TZINFO = pytz.timezone(TIME_ZONE)
CONF_START = CONF_TZINFO.localize(datetime(2025, 7, 31))
CONF_END = CONF_TZINFO.localize(datetime(2025, 8, 3))
CONF_START = CONF_TZINFO.localize(datetime(2026, 8, 6))
CONF_END = CONF_TZINFO.localize(datetime(2026, 8, 9))
CONF_MINICONF_END = CONF_TZINFO.localize(datetime(2023, 3, 14, 23, 59))
EARLY_BIRD_DEADLINE = CONF_TZINFO.localize(datetime(2023, 1, 28))
PENGUIN_DINNER_TICKET_DATE = date(2023, 3, 15)

View file

@ -4,11 +4,11 @@
{# NOTE: This template is not used due to flatpages. #}
{# Description duplicated because you can't include the same block twice. #}
{% block og_desc %}FOSSY (Free and Open Source Yearly) is a 4 day community-oriented conference focused on the creation and impact of free and open source software. Join us in Portland, OR - July 31st August 3rd 2025 at Portland State University.{% endblock %}
{% block og_desc %}FOSSY (Free and Open Source Yearly) is a 4 day community-oriented conference focused on the creation and impact of free and open source software. Join us in Vancouver, Canada - August 6th 9th 2026 at University of British Columbia.{% endblock %}
{% block meta_desc %}FOSSY (Free and Open Source Yearly) is a 4 day community-oriented conference focused on the creation and impact of free and open source software. Join us in Portland, OR - July 31st August 3rd 2025 at Portland State University.{% endblock %}
{% block meta_desc %}FOSSY (Free and Open Source Yearly) is a 4 day community-oriented conference focused on the creation and impact of free and open source software. Join us in Vancouver, Canada - August 6th 9th 2026 at University of British Columbia.{% endblock %}
{% block head_title %}FOSSY 2025: The third Free and Open Source Software Yearly conference{% endblock %}
{% block head_title %}FOSSY 2026: The third Free and Open Source Software Yearly conference{% endblock %}
{% block body_class %}home{% endblock %}
@ -16,8 +16,8 @@
<header class="pt2-ns pb4">
<div class="flex-ns center">
<div class="mr4 dark-green sans-serif" style="flex-grow: 1">
<h1 class="f-subheadline f-headline-ns b lh-solid tracked-tight mv0">FOSSY 2025</h1>
<h2 class="f3 f2-ns b lh-solid mt0 mb3">July 31st August 3rd 2025 — Portland, OR</h2>
<h1 class="f-subheadline f-headline-ns b lh-solid tracked-tight mv0">FOSSY 2026</h1>
<h2 class="f3 f2-ns b lh-solid mt0 mb3">August 6th 9th 2026 — University of British Columbia, Canada</h2>
<h3 class="f4 f4-ns b lh-title mv2 mv3-ns">The first Free and Open Source Software Yearly conference</h3>
</div>
<div class="lh-solid mt4 mt0-ns" style="font-size: 10rem; max-width: 250px;"><img class="db" src="{% static 'img/conservancy_logo_tall_mono.svg' %}" style="max-height: 180px" alt="Software Freedom Conservancy"></div>
@ -28,7 +28,7 @@
</header>
<section id="content">
<h1 class="f3 mt0 mb4">FOSS is back in Portland, OR at Portland State University!</h1>
<h1 class="f3 mt0 mb4">FOSS in Vancouver, Canada at University of British Columbia!</h1>
<div class="flex-ns">
<div class="mw6">
<p class="f4 mt0">Software Freedom Conservancy is so proud to announce that we are hosting a community oriented conference this coming summer. FOSSY (Free and Open Source Yearly) is focused on the creation and impact of free and open source software, uplifting contributors of all experience.</p>

View file

@ -5,7 +5,7 @@
<div class="container">
<h2 class="sans-serif f2 f1-ns b lh-solid tracked-tight mv0 mr3">
<a class="washed-yellow hover-washed-yellow" href="/" style="text-decoration: none">
FOSSY 2025
FOSSY 2026
</a>
</h2>

View file

@ -96,7 +96,7 @@
<path d="M250.66,374.21V399H247V374.21Z" fill="#36a852"/>
<path d="M265.49,393.87l2.88,1.92a8.4,8.4,0,0,1-7,3.75,8.26,8.26,0,0,1-8.38-8.45c0-5,3.61-8.45,8-8.45s6.53,3.49,7.23,5.38l.39,1-11.3,4.67a4.3,4.3,0,0,0,4.1,2.56A4.82,4.82,0,0,0,265.49,393.87Zm-8.87-3,7.56-3.13a3.28,3.28,0,0,0-3.14-1.79A4.63,4.63,0,0,0,256.62,390.83Z" fill="#ea4535"/>
<rect x="160.95" y="373.04" width="112" height="36" fill="none"/>
<text transform="translate(84.43 102.23)" font-size="15" fill="#231f20" font-family="SourceSansPro-Regular, Source Sans Pro">July 31st August 3rd 2025
<text transform="translate(84.43 102.23)" font-size="15" fill="#231f20" font-family="SourceSansPro-Regular, Source Sans Pro">August 6th 9th 2026
</text>
<g id="Layer_2" data-name="Layer 2">
<g id="emperor">

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 116 KiB

View file

@ -128,9 +128,9 @@
</div> -->
<div class="row">
<div class="col-md-4 pb-4">
<strong>FOSSY 2025</strong> <br>
July 31st August 3rd 2025 <br>
Portland, OR<br>
<strong>FOSSY 2026</strong> <br>
August 6th 9th 2026 <br>
Vancouver, Canada<br>
Timezone: PDT - UTC-7 <br>
<a href="mailto:{{ settings.CONFERENCE_EMAIL }}" alt="Email"><i class="bi-envelope-fill"></i></a>
<a href="https://x.com/conservancy" alt="Twitter"><i class="bi-twitter-x"></i></a>
@ -145,7 +145,7 @@
<div class="col-md-4 pb-4 text-right">
<small>
<a href="#">Back to top</a><br>
&copy; 2025 <a href="https://sfconservancy.org/">Software Freedom Conservancy</a><br>
&copy; 2026 <a href="https://sfconservancy.org/">Software Freedom Conservancy</a><br>
<a href="/credits/">Credits</a>
</small>
</div>

View file

@ -305,7 +305,7 @@ def schedule_json(request):
class EventFeed(ICalFeed):
product_id = '-//2025.fossy.us/schedule//EN'
product_id = '-//2026.fossy.ca/schedule//EN'
timezone = settings.TIME_ZONE
filename = 'conference.ics'