🥁 Drum roll for: pretalx 1.0!

June 2, 2019

It took some time, but we guarantee the long wait was worth it: We're now releasing 🥁 pretalx v1.0 🥁! We'll use this blog post to give you an overview over the latest and greatest features – for a full list (including all the UI improvements and tiny features missing below), plus a list of bug fixes, please refer to our changelog.

Thank you

We'd like to thank all contributors to pretalx during the last release cycle. Most notably we want to thank JuliaCon for commissioning the blind review feature many of our users have long waited for, and the OpenStreetMap Foundation for their support. We'd also like to thank the organisers of PyCon Australia, most notably Lilly Ryan and Katie McLaughlin, who contributed a lot by ways of feature requests, and helpful user experience reports.

We'd also like to thank the other contributors to this release: Michael Lutonsky, Michael Reichert, Peter Körner, Raphael Michel, András Veres-Szentkirályi, Benjamin Bach, Florian Klien, JJ Ashgar, Lukas Prokop, Pepi Zawodsky, Peter, Simon, Stefan Krüger, Amit Aronovitch, Christopher Rackauckas, Stephan Druskat, Maximilian Richt, Huda Nassar, Christopher Neugebauer, Markus Holtermann, Russell Keith-Magee, Valentin Churvay, Volker Mische, Lukas Prokop, Lyndon White, Moritz Frenzel, Katie Bell, Peter Schwindt, Zoff, Frank Elsner, Tobias Preuss, Thomas Kollbach, Frank Löffler, Florian Klien, Benjamin Thurm, and Ian Foster. We're a bit overwhelmed with the amount of people contributing to this release, and very grateful to all of you. 💖

CfP improvements

pretalx has learned to be smarter about the data it requests: For inputs where only one option is available, for instance the submission type, or track, or input language, pretalx will no longer ask the submitter for a choice. But submitters will still be able to see these implicit values, because they will now receive their complete submission in their confirmation email upon submission. They can also add co-speakers while in the submission process instead of afterwards!

If your event uses tracks, you can now limit questions to a certain track. You can also limit text fields in the submission workflow by minimum or maximum length, and you can decide if you want to count those lengths in characters or in words.

Also: check out the new statistics page 📊, where you can see which tracks, submission types, and submission states make up your submissions (similar statistics can also be found on individual questions pages!) As an even prettier UI improvement, all fields that will be rendered using markdown now provide a markdown preview in the submission workflow.

Scheduling workflow

Organisers can now decide if they want to notify speakers about their moved talk slots when they release a new schedule version. You can also use a link on a speaker's page to send them an email directly. Even more helpfully, you will see a log of all emails sent to a speaker on their page – and the speaker can see a list of emails sent to them, too (to help in case of bouncing emails or unavailable mailboxes). You can even regenerate these emails, which comes in handy if you change the template after publishing that schedule.

You can choose to publish the answers speakers give to questions – you cannot turn this feature on after the question has already been answered, though, to make sure speakers have agreed to have this information published. For privacy, you can now decide to set the robots=noindex to prevent bots from crawling your event pages. 🤖

As a feature that may be especially useful for events providing workshops, you'll now be able to select talks to be scheduled multiple times. Organisers can also leave internal notes on submissions, which will never be shown publicly in any place.

In the public schedule view, pretalx will automatically adjust its width to accommodate events with more rooms. If users access the schedule page from their terminal, they will see a terminal appropriate schedule table (or a list, if given the appropriate parameters).

Reviewing improvements

Thanks to the input of the organisers of conferences using pretalx, most notably PyCon Australia, we revamped many parts of our reviwing process. You'll find all of the new review settings on their own settings page.

As opposed to previously, all organisers are now able to read reviews, whereas only users with review rights are able to create them. There is a separate setting to determine if reviewers can see the reviews of other reviewers – they can be generally allowed, or disallowed, or only allowed after they have submitted their own review. 👀 As all review settings, this setting can be set within a review phase. Review phases are great to limit review settings to a time frame, e.g. to have a phase of anonymous reviews first, and then de-anonymised reviews after a certain date.

Due to the generous sponsorship and commission of JuliaCon, pretalx is now capable of blind reviews, where reviewers will not be able to see submitter names or biographies or other identifiying details (both via the frontend and the API).

You will be able to restrict review teams to one or several tracks – reviewers will only be able to see submissions for that track. They will be shown an adjusted progress bar showing how many submissions they have reviewed already.

The review dashboard has received a lot of improvements, too. Most importantly, we have decided to display the median score instead of the average score to make the review scoring less susceptible to outliers. You can now also accept and reject multiple submissions at a time.

API improvements

All of the changes to the API are documented in our API docs. From this point onwards, we will add changes to our API only with notes in which version the changes were introduced, to aid in migrations between versions.

The most notable API changes are that organisers can download a CSV file including all speakers of their event, and that the submissions endpoint now includes a created field.

Notes for administrators

As this is a larger upgrade, and it also includes some data migrations, please allow for some downtime during the upgrade, and be sure to backup your database beforehand!

pretalx 1.0 comes with a brand new admin dashboard, which will show you details regarding the databae and scheduler in use, and the current length of the task queue. If you have additional ideas of what you would like to see on this dashboard, tell us about it!

Please revisit our documentation when upgrading! We made some changes to our proposed nginx configuration. Most notably, please include an attachment header on all files under the /media subpath. We also added documentation regarding which parts of pretalx to back up, so please compare your (regular and tested, we assume!) backups with our recommendations.

pretalx is now completely compatible with Python 3.7. pretalx doesn’t run regenerate_css on startup automatically any longer, which reduces startup times, so if for any reason an event does not look as it should, you can fix it by running python -m pretalx regenerate_css. You will also need to execute this command on updates from now on. You'll be happy to find that we added documentation on the available pretalx commands, and which of these you should run regularly, including runperiodic every five minutes, and clearsessions roughly monthly.

Notes for developers

As a plugin developer, you can now decide if your plugin should be shown on a per-event basis by setting the is_available property. If your plugin provides an export, you can now opt in to show a QR code to the exporter URL in the frontend, which can be useful if your exporter is used in mobile applications.

If you integrate pretalx in third-party applications, please be aware that some URLs now end in a / where they didn't use to – you will be redirected automatically, so you only have to care about this if you do not follow redirects.

Future plans

A version 1.0 might signal stagnation for some projects – but not for us! We have plenty of plans for the future, including:

  • A writable API
  • Displaying special slots for non-presentation events like breaks
  • Assigning submissions to people in specific roles (e.g. communications, reviewer, etc)
  • Allowing attendees to create their own schedule by selecting which talks they'd like to attend.
  • Adding a "draft" state for submissions.
  • Supporting deadlines for questions.
  • Adding "breaks" and similar organsier-based sessions.
  • And looking at the really lofty goals: auto-scheduling!

Support us!

We (and “we” for the vast majority of work means “I, Tobias”) develop pretalx on our own time: Up until now, about three pretalx features were commissioned by users. So if you want to see some of these features become a reality, please consider commissioning them! We'll release another blog post shortly, where we'll talk about our business model, such as it is, and our plans for the future.