Giter Site home page Giter Site logo

pretalx / pretalx Goto Github PK

View Code? Open in Web Editor NEW
661.0 30.0 185.0 32.26 MB

Conference planning tool: CfP, scheduling, speaker management

Home Page: https://pretalx.com

License: Apache License 2.0

Python 44.82% HTML 11.87% CSS 0.34% JavaScript 31.73% SCSS 10.09% Vue 1.15% Stylus 0.01%
conference conference-management call-for-papers scheduling events cfp call-for-paper python django pretalx

pretalx's Introduction

pretalx logo

Coverage

PyPI

Documentation

Website

pretalx is a conference planning tool focused on providing the best experience for organisers, speakers, reviewers, and attendees alike. It handles the submission process with a configurable Call for Participation, the reviewing and selection of submissions, and the scheduling and release handling. After the event, pretalx allows speakers to receive feedback, upload their slides, and organisers to embed recordings.

Read our feature list on our main site to get a better idea of what pretalx can do for you, but it typically involves everything you'll need to curate submissions and contents for a conference with several tracks and conference days.

You can host pretalx yourself, as detailed in our administrator documentation, or use our public instance at pretalx.com. If you want to use pretalx, we recommend you follow our blog, where we announce new versions and upcoming features.

πŸ“Ί Look and feel

Screenshots of pretalx pages

Check out our feature list for more screenshots – or check the list of events to see how pretalx looks in the wild.

pretalx is highly configurable, so you can change its appearance and behaviour in many ways if the defaults don't fit your event. If the settings are not enough for you, you can even write plugins of your own.

🚦 Project status

pretalx is under active development and used by many events. It supports everything required for talk submission, speaker communication, and scheduling. You can see our supported features in the feature list, and our planned features in our open issues. pretalx has regular releases – you can look at the changelog to see upcoming and past changes, and install pretalx via PyPI.

πŸ”¨ Contributing

Contributions to pretalx are very welcome! You can contribute observations, bugs or feature requests via the issues. If you want to contribute changes to pretalx, please check our developer documentation on how to set up pretalx and get started on development. Please bear in mind that our Code of Conduct applies to the complete contribution process.

If you are interested in plugin development, check both our documentation and our list of plugin ideas in the project wiki.

πŸ’‘ Project information

The pretalx source code is available on GitHub, where you can also find the issue tracker. The documentation is available at docs.pretalx.org, and you can find up to date information on our blog and Twitter. The pretalx package is available via PyPI.

We publish pretalx under the terms of the Apache License. See the LICENSE file for further information and the complete license text. The licenses of all dependencies are documented in the DEPENDENCIES.rst file.

The primary maintainer of this project is Tobias Kunze <[email protected]> (who also runs pretalx.com). See the CONTRIBUTORS file for a list of all the awesome folks who contributed to this project.

🧭 Users

If you want to look at conferences using pretalx, head over to the wiki for a list of events. And if you use pretalx for your event, please add it to the list (or tell us about it, and we'll add it)!

pretalx's People

Contributors

akoshochrein avatar codingcatgirl avatar dependabot[bot] avatar findus23 avatar glasnt avatar jjasghar avatar johanvdw avatar jwjoel avatar kannes avatar koebi avatar kunsi avatar lujoga avatar luto avatar maclemon avatar mazdermind avatar mikkcz avatar minusf avatar nakaner avatar nataliakat avatar pretalx-translations avatar rahmonov avatar raphaelm avatar rashfael avatar rixx avatar s-light avatar saerdnaer avatar sparunakian avatar tabascoeye avatar vmx avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pretalx's Issues

Slug for speaker profile links

  1. Use the username (current implementation, can't do that, it's a data leak).
  2. Calculate a slug at registration time (if it doesn't change with name changes: it's a data leak. If it does change with name changes: produces dead links)
  3. Don't provide a speaker profile page, just link other talks on talk pages (probably not as bad as it sounds?)

Input appreciated, @raphaelm.

Manual tests

  • Submit a proposal
  • Receive mails for submitted proposal
  • Add other speakers to submitted propsal
  • While still logged in, submit a second proposal
  • After logging out, submit a third proposal from the same account
  • From another account, submit another proposal using a different language. Check mail language
  • Cannot submit proposal after submission period
  • Cannot edit or cancel propsal after submission period
  • Cannot submit proposals before event is visible
  • Invite orga members
  • Edit event settings
  • Edit mail templates
  • Edit questions
  • Do only edit questions after event is visible with a visible warning
  • Send mails to subsets of submitters afterwards ("Oops, added questions, please check back")
  • Review submissions
  • Accept submissions early
  • Send mails for accepts/rejects

User management: speakers

  • Add speakers to talks as orga
  • Remove speakers from talks as orga
  • Add speakers to talks as speaker?

Allow speaker-specific questions

In the database, this is a pretty simple problem: Add an FK to the speaker, and add a question type that can be 'submission' or 'speaker'. The difficulty is the proper display in the orga area (probably with tags), and the display in the speaker's area.

We probably should collect questions/answers in one area, and mark submission specific questions as belonging to that submission.

Import frab-export

… Mostly for test data. Should be an event creation option, methinks.

Sanity checks for schedules

  • Show warning when speakers have overlapping slots… because people still can't be in two places at once.
  • Show warning when slots overlap

Should happen async while scheduling and definitely and visibly before releasing a schedule.

Make all tables responsive

The current table-responsive implementation from Bootstrap 4 seems to be broken (does not stretch table to full width any more).

Maybe vendor the implementation from Bootstrap 3.

Description vs Abstract

  • When submitting: describe what should be in the abstract and the description, respectively ("Describe your proposal concisely", smth like that)
  • Put the shorter one first
  • Do we even need both?

Improve speaker table

Show counts of accepted/rejected … talks.

I tried to do this with Django's new Subquery feature and failed. The other alternative might be a CASE … WHEN.

Redirect to previous page after login

When you try to access a page you are not allowed to as an anonymous user, you should be redirected to /login?next=/something, and after a successful login be redirected to your original goal URL.

Confirmation Links

  • Both as clickable link in the email and a nice frontend button
  • … and in orga backend, of course.

Make everything multi-lingual

And by everything we mean, well, everything!

  • Make all model fields translatable
  • Translate all strings
  • Language/Timezone selection in profile form
  • Language selector in frontend
  • Language settings per event
  • Correct language for mails to a submitter
  • Language that a talk will be held in
  • Play around and test
  • Make default mail templates multi lingual

Suggest sensible talk durations

… Or, even better: don't show duration in frontend, since duration is implied at first by submission type and should only be changed by the orga.

Decide how to deal with canceled talks

We have a couple of choices here:

  1. Don't list canceled talks in either old schedules or new ones (boo! for changing already-released schedules).
  2. List canceled talks in both old and new schedules (in new ones only, if they still have a date. Need to update the scheduling site and the agenda queryset for this one).
  3. Don't list canceled talks in new schedules, even if they still have a date, but keep them in old ones (need to expand the queryset in schedule generation for that, and maybe automatically remove the date from slots when a submission is being canceled).

While 1) is clearly a bad option, I'm not quite sure about the other two. I'm leaning towards 2) since it allows to publicly show what and where a canceled talk would have been (if the organizer desires to do so), which is nice for transparency and to avoid confusion.

@raphaelm, requesting your input.

Reviewing system

  • Give each reviewer a Yay/nay/dunno vote, plus comment field
  • Consider multiple voting rounds
  • Consider that reviewers might not be orga, so either limited rights or a different frontend

Pretty schedule display

  • Make it at all
  • Make it pretty
  • Make public by setting
  • Offer HTML/bundle download
  • bonus with gold star: serviceWorker
  • bonus: colors/design modifiable
  • Link RSS feed

Log all actions

  • log speaker actions
  • log orga actions (add orga flag in logs)
  • display logs in orga frontend
  • Display orga flag in logs
  • Display submission logs in speaker frontend ("My submissions")

Add submission as orga

Orga members will want to add submissions; even those should have submitter/speaker profiles attached. One way of handling this would be dummy users which could be edited by (all? meh.) event orga members. (During CfP, orga members could just use the frontend, but there might be need to add submissions after CfP is officially over …)

Allow to sort and filter tables

This goes for all tables, most notably the submission table and the speaker table (but the sent mail table, too)

  • Sort tables
  • Show which sorting is active
  • Filter tables

This refers mostly to:

  • The speaker list
  • The submission list
  • The outbox list
  • The list of sent emails

The sorting and filtering should be injected in the views via a form (from common.views.Filterable.get_context_data) and a common template included in list views.

Emails

  • send them
  • write templates

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.