Summit

From Wiki
Jump to: navigation, search

Summit is an AGPLv3-licensed conference registration system implemented in django (https://packages.debian.org/django dpkg). It replaced pentabarf (penta) starting from DebConf14.

See Summit/Usage for a guide on how to use summit (orga view). Because summit is developed by Canonical for Ubuntu summits, the internal terminology and procedures are different to the usual DebConf (and pentabarf) ones. OTOH we don't want to diverge unnecessarily from upstream (especially on nomenclature), thus we describe in Summit/Usage the debconf usages of summit (orga internal view).

This page is about development of summit (including bug reports).

Contents

[edit] Development

The upstream source is here: https://code.launchpad.net/+branch/summit/production/

A git branch for development is available here: http://anonscm.debian.org/gitweb/?p=debconf-data/summit.git (git+ssh://git.debian.org/git/debconf-data/summit.git)

A test server is available at <https://summittest.debconf.org>. ssh access to the system requires a debconf.org account. The service is deployed under /srv/summittest. Feel free to 'git pull' newer versions of the branch onto the server. However, please do not make any local changes to the configs on the server.

There is pseudo-package for bug reports in the Debian BTS: http://bugs.debian.org/summit.debconf.org

[edit] Running

For local development, it's easiest to deploy using the default sqlite database. If you want to test with an external postgresql database, you may find it easier to use the juju charm to deploy to the cloud.

[edit] Locally

Follow the instructions in the INSTALL file within the git repository to set up the pip environment, etc. Be sure your locale is set up correctly. Then run the server with the commands:
cd summit
../env/bin/python manage.py runserver --settings debconf_settings [--ipv6] [[HOST:]8000]

This has been verified to work on both Ubuntu 12.04 (upstream's target platform) and Debian 7.

To log in with the admin users, navigate to "/admin" instead of via the "Login" link.

To import data from the live site:
../env/bin/python manage.py import_live_data -s debconf14 -u http://summit.debconf.org/api/

To sync the database after model changes:
../env/bin/python manage.py schemamigration --settings debconf_settings --auto debconf_website
../env/bin/python manage.py migrate --settings debconf_settings debconf_website

This will generate a migration script under debconf_website/migrations/ that you will then need to commit to git.

[edit] SSO integration

Debian SSO only accepts connections from a set of known hosts. There is a shared "development" key present in the summit source by default, but in order to use it your browser will need to make requests referencing the right hostname. As of 9 Feb, 2015 we are waiting for summittest.debconf.org to be added to SSO. For testing purposes in the past it worked to alias the previous testing hostname virgil.dodds.net to localhost and run the site locally on port 8000.

To get around this in the meantime, create a local django user and login via localhost:8000/admin/

[edit] TODO

[edit] DC15 wishlist

Title Description Urgency Priority
Event submission Ideally, one could submit events without registering first. Summit would

then send a message with a link allowing the submitter to create an account or link the submission to an existing account later. If this is too much for now, then just making sure events can be submitted for DC15 will do.

Feb 2015 1
Registration 1/2 Letting people enter their basic data to create an account on the system.

For people with existing d.o or alioth.d.o accounts, this is going to be trivial, but new people should definitely *not* be sent elsewhere to create an account and then come back. Maybe alioth account creation (it's just a form!) can be integrated with Summit so the person doesn't have to actively leave the page? Also related here is the fact that SSO data overwrite Summit data on login. This should probably not be the case (see bug below).

Mar 2015 1
Video workflow Please talk to CarlFK about this May 2015 2
Self-scheduling The ability for us to set aside certain slots for self-scheduling according

to specific rules (e.g. 24 hours in advance, or maybe 1-per-person, or…), such that BoFs and ad-hoc events can be scheduled directly on a first-come-first-serve basis without anyone as a bottleneck, and also rescheduled to another free slot. We'd still need ways to override choices in case of abuse or intrusive changes.

Jul 2015 5
Volunteer scheduling Allow us to put up tasks and let volunteers take them Jul 2015 6
Slides upload Let users attach files to events Jul 2015 4
Improvements/bugs See below, it would be nice if as many of those could be addressed or

decided unecessary/not-applicable

Aug 2015 9
Website integration See /WebsiteIntegration post-DC15 5

[edit] Improvements

Most tasks needed in order to get Summit up for DebConf use have been handled. Further TODOs can be added to the git repository in summit/debconf_website/TODO.

  • Registration / Front desk:
    • better interface for looking people (penta had dynamic filtering options, e.g. view attendee=True AND food=special AND ...)
    • The filtering by DC is necessary (visa need access to old data)
    • Flagging paid attendees who have not yet paid on arrival would be extremely useful.
  • a text field 'note' accessible only by registration
  • volunteer schedule: interface, selection.
    • actually it is used near-exclusively by video team, for various video roles. Penta interface: daily schedule (with all rooms) + role and who selected such role (or a "JOIN NOW"). video-team members should be able to see all schedule, available roles and role/persons.
      • a plus: link to IRC to notify volunteers
    • it should be usable for other volunteers tasks (e.g. front desks) [non talk-related]
  • video stuffs
    • volunteers is one part (see above)
    • review, rating of video files (linked with schedule and video stuffs)
  • Assassin game
  • It would be cool if we could have a track "ad-hoc" and a set of slots (next to hacking time and whenever and in which rooms ad-hoc events should happen) and attendees should be able to register events and self-schedule them. The list of slots available should be "live" and decrease in size, and it might be useful to limit the set, e.g. to the slots in the next 24 hours. Madduck (talk) 22:48, 24 August 2014 (UTC)
  • is it possible to implement unselectable items (unselectable from users) [e.g. registration could set attend="No (auto)", to distinguish from user who set "No", but users could select only "Yes/No". Also for diet preferences ".../Other (contact organizers)", would be nice to have a "Other (accepted by organizers)", so to see who still need to contact us/be contacted. [not so different of category status: after sposnor deadline it is possible to downgrade only]
  • Add a disclaimer to make sure that we reserve the right to send email updates. We will use it sparingly, but there is _no_ way to opt out. Also see this thread -- RichiH (talk) 07:23, 11 September 2014 (UTC)
  • Allow upload of slides - probably even run talks from summit
  • implement summit.status: frozen and froze all fields [past conferences]
  • remove PIL dependency
  • Allow merge account
  • upgrade django (removing south: https://docs.djangoproject.com/en/dev/topics/migrations/#upgrading-from-south )

[edit] Bugs

Bugs can also be reported via the Debian BTS, pseudo-package "summit.debconf.org"

  • Talks:
    • on https://summit.debconf.org/debconf14/meeting/3/test all users (also non logged) can access to non-accepted talks
    • Its not possible to cancel a submitted talk
    • It is impossible to see all non-approved talks unless you are an admin
    • The workflow for ad-hoc talks is a bit annoying, DebConf14 used an external wiki page
  • Schedule:
    • There appears to be no link back from a talks page to the day's schedule. Maybe the "2014-XX-XX" for the timing information could be made a link to that day's schedule (even if that means people might get a different view than before)
  • The full name from SSO overwrites the badge_full field on every log in. The info from SSO should only be used to seed badge_full but then never again. Madduck (talk) 22:48, 24 August 2014 (UTC)

[edit] DONE

  • ✓ porting: the Summit site currently only deploys cleanly on top of Ubuntu 12.04. For obvious reasons, we would like to be able to host the DC14 website on Debian stable instead. This requires cleaning up various assumptions related to hard-coded django dependencies.
  • ✓ authentication: penta used its own authentication database for http basic auth. We want to avoid this in favor of integrating with the Debian SSO service - so attendees only need an account on alioth. This integration will require oauth2 integration (both for the webapp and for the sso provider)
  • ✓ theming: the current test site has had light theming applied based on the DC14 website, but much of the visual theme is taken unmodified from the Ubuntu summit site. We'd need to fix this to be a little less orange.
  • ✓ registration: the attendee registration form is the heart of the object model, and the requirements vary from year to year. We need to do requirements gathering for this year's conference and translate them into the appropriate form using the django ORM.
  • ✓ frontdesk: Created Front Desk interface (link up top near Admin, only visible for users with permission 'debconf_website.manage_registration', i.e. the FrontDesk group).
  • ✓ frontdesk: Added fields arrived, received_tshirt, received_bag.
  • ✓ talks: When proposing a talk, the proposer see all registered people
  • ✓ talks: Add a note field (e.g. for the schedulers)
  • ✓ talks: Allow more than one People to be the talk's owner, or allow other people to be additional speakers
  • https://summit.debconf.org/debconf14/all/ => On the mouse over, it would be nice to see the speaker (it is more interesting then the participants). Or better, in the plain list (two columns for example)
Personal tools