Compare commits

...
Sign in to create a new pull request.

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 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 $ 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. 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. Update flatpages such as the "/" home page.

6
fabfile.py vendored
View file

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

View file

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

View file

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

View file

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

View file

@ -4,11 +4,11 @@
{# NOTE: This template is not used due to flatpages. #} {# NOTE: This template is not used due to flatpages. #}
{# Description duplicated because you can't include the same block twice. #} {# 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 %} {% block body_class %}home{% endblock %}
@ -16,8 +16,8 @@
<header class="pt2-ns pb4"> <header class="pt2-ns pb4">
<div class="flex-ns center"> <div class="flex-ns center">
<div class="mr4 dark-green sans-serif" style="flex-grow: 1"> <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> <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">July 31st August 3rd 2025 — Portland, OR</h2> <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> <h3 class="f4 f4-ns b lh-title mv2 mv3-ns">The first Free and Open Source Software Yearly conference</h3>
</div> </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> <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> </header>
<section id="content"> <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="flex-ns">
<div class="mw6"> <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> <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"> <div class="container">
<h2 class="sans-serif f2 f1-ns b lh-solid tracked-tight mv0 mr3"> <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"> <a class="washed-yellow hover-washed-yellow" href="/" style="text-decoration: none">
FOSSY 2025 FOSSY 2026
</a> </a>
</h2> </h2>

View file

@ -96,7 +96,7 @@
<path d="M250.66,374.21V399H247V374.21Z" fill="#36a852"/> <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"/> <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"/> <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> </text>
<g id="Layer_2" data-name="Layer 2"> <g id="Layer_2" data-name="Layer 2">
<g id="emperor"> <g id="emperor">

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 116 KiB

View file

@ -128,9 +128,9 @@
</div> --> </div> -->
<div class="row"> <div class="row">
<div class="col-md-4 pb-4"> <div class="col-md-4 pb-4">
<strong>FOSSY 2025</strong> <br> <strong>FOSSY 2026</strong> <br>
July 31st August 3rd 2025 <br> August 6th 9th 2026 <br>
Portland, OR<br> Vancouver, Canada<br>
Timezone: PDT - UTC-7 <br> Timezone: PDT - UTC-7 <br>
<a href="mailto:{{ settings.CONFERENCE_EMAIL }}" alt="Email"><i class="bi-envelope-fill"></i></a> <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> <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"> <div class="col-md-4 pb-4 text-right">
<small> <small>
<a href="#">Back to top</a><br> <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> <a href="/credits/">Credits</a>
</small> </small>
</div> </div>

View file

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