From Fedora Project Wiki

(Remove blank lines)
 
(16 intermediate revisions by 5 users not shown)
Line 1: Line 1:
Fixing the Flock Software System
This page is about a revamp of software to use for Flock 2016 and beyond.


We aren't talking about Flock itself, but the software / website for it.
== Background ==
We're not talking about FUDcon sites but things that help it too are good. Focus is on Flock website.


Scope:
Here are [[/Problems | our preliminary notes]] on problem statements, and proposed fixes for our issues with Flock software.
* Registration
* Submission
* Voting?
* Schedule (rooms, times, talks)
* Information (pre-, during, post)
* Remotee attendance


NOTE: It would be helpful if whatever solution(s) we come up with enabled both FUDCon + Flock events
Here are [[/Tool_comparisons | our comparisons of existing tools]].


Problems:
== Proposal ==
* Registration
** Need to require email address
** Would be nice to collect flight/visa info instead of doing it through google doc--privacy concerns (good for fudcons in general too)
*** and track reimbursements
*** so, we need a way to customize user info that only the user + admins can see
** reg disconnected from voting system
** Some attendees do not want the fact that they are away from home to be publicly listed on the 'net
** Need region of the registration (EMEA, NA, APAC, LATAM)
** Need to confirm speaker attendance
** Need to confirm registrant / attendee attendance
** Registrant emails bouncing
** Specific volunteer opportunities in registration form
** Automation for querying funded travelers to provide links to the volunteer content (blogs, photos, etc) they agreed to do in order to get funding and get them sent to organizers, automate notification of who didn't do it to organizers
** Is the person going to come if their talk was turned down? or are they not going to go then?


* Submission
The core team of folks looking at software for Flock include the following:
** Submission acceptance is manual
* Paul Frields
** ALL notifications are really manual! :-(
* Máirín Duffy
** Did we mention there was a lot of manual stuff involved? (automate all the things)
* Patrick Uiterwijk
** Ability for submitter to tag their talk into a category
* Josh Boyer
** Allow co-speakers and communicate with all speakers of a talk
With substantial assistance from:
* Ruth Suehle
* Luke Macken


* Voting
The main issues we identified in summary were:
** Used the Fedora voting system elections app / range voting with a restricted range
* Inability to manage content easily
** Had to look up talk synopsis elsewhere while voting in another window.... for 150 submissions its hard
* Registration process required frequent manual hacking
** It seemed like a huge number of talks had around 50 votes. When I saw that, I wondered if there was some issue in the voting system. (Or if many people were simply voting for every talk they found remotely interesting, rather than those they would actually attend.)
* Multiple single points of failure for maintenance
** cluster related talks in the voting list so you can more easily compare them when voting
* Inability to relate funding decisions to content decisions
** Note that many talks cross multiple categories. My "Remote Desktop & Fedora" is best categorized under Desktop (and thats how it was categorized), but some people would object to the categorization.
** Elections app doesn't scale


* Schedule
Given the [[/Tool_comparisons | comparison matrix]], availability of useful software upstream, and the rate at which problems are addressed upstream, we agreed to propose this solution to the Flock staff.
** happy with sched.org, it's cheap (but we should doc our process so we don't get TZ issues and similar)
** Only admins could update any talk info -- might be a permission issue (ability to edit some extra information like URL or materials or co-speakers)
** link to video in schedule later


* Information
=== Summary ===
** Takes way too long to make simple change in content (locating where to do it, then waiting for admin page to load)


* Resources
{|
** Luke has to jump in each year to fix it
!! Use !! System
** Everyone having problems with WordPress on OpenShift
 
* Website
** Wordpress site backend/admin panel horrifically slow (we don't know why)
** Wordpress backend/admin panel hard to navigate
** Difficult to theme, so we don't update it
** Archives of older flock info (eg videos, etc)
** A way to pull curated photos or tweets into a semi-live feed
** A way to tie volunteer content like photos, etc. to a badge
 
* Other:
** Need proper HTTPS certificates
** Bid voting
** Ability to upload slides?
** Ability to later add a URL to video, e.g. Fedora YouTube channel
** Transcriptions of talks -- need a place to post them
 
Ground Rules:
* Yes, can put in a new application
* Do not have to require that it runs on Fedora infrastructure (requires too much packaging resources to do so not ideal)
* Something to run on openshift would be fantastic, we have access to that, we can scale access, can host a wide variety of frameworks/sw types
* Turn key / commercial solutions can be considered but we really want something open source and we know open source ones exist so we'd really prefer that
** If it's not on a framework or language where we have skills, then it needs to be more turnkey
 
 
Potential solutions:
 
;Zookeepr - http://zookeepr.org -- Ryan
*Developed/used by LCA
*Appears to be python
*review / voting system
*could talk to Donna Benjamin about it? (LCA organizer)
;OpenConferenceWare: http://openconferenceware.org/
*Fully FOSS (Rails engine, ruby >= 1.9.3) (can't customize it too much, higher bar)
*Used for Open Source Bridge
;SCaLE Reg: https://github.com/socallinuxexpo/scalereg
*Django app
*Poor/nonexistent documentation (Note: SCALE team would be happy to help improve any areas you see as problematic docs wise.)
*Supports registration, badge printing, and call for papers workflows. Is not a conference management suite.
*Used by SCALE, DevOpsDays Silicon Valley and TXLF
;Open Source Event Manager (OSEM): https://github.com/openSUSE/osem -- Mo
*Ruby app (so we can't customize it too much, higher bar)
*Used by openSUSE, GNOME, ownCloud; actively developed
*openid support
;Wordpress + Plugins -- Paul
*https://wordpress.org/plugins/evenium/
** Disappointing -- this is mainly a front end for Evenium.net SaaS (non-free) :-(
*https://wordpress.org/plugins/tags/conference
** https://wordpress.org/plugins/cr3ativ-conference/
*** Only a rudimentary framework for a few content types (categories, sessions, speakers)
*** No display functionality, reporting, registration, or venue definition -- would require a LOT of PHP coding
** http://eventespresso.com/
*** For a single-event model; no multiple room support, no calendar or event check-in with free version
*** Oriented around pay ticketing/registration functions
;Frab: http://frab.github.io/frab/ -- Jon
*ruby implementation of PentaBarf
*used for frosscon
;VCC
*used for LinuxTag, but has a lot of things Flock wouldn't need
*https://vcc.linuxtag.org/
;ConfLab: https://github.com/rh-lab-q/conflab
*no registration at DevConf? is that a function?
*may not be ready for prime time
;sched.org + eventbrite + glue (custom code - foss) (moved down bc not foss)
;Drupal COD (Conference Organizing Distribution): http://usecod.com/ (moved down bc drupal is painful)
*Code at https://www.drupal.org/project/cod
*Used by LFNW, Drupal groups, other
*Paul has previous experience, was difficult to set up (drupal 6 COD not 7)
;OpenConf: http://www.openconf.com/editions/ (moved down bc academic)
*Open core?
*More aimed at paper-driven conferences (academic)
;Open Conference Systems: http://pkp.sfu.ca/ocs/ (moved down bc academic)
*Fully FOSS (LAM/PHP)
*Aimed at paper-driven conferences (academic)
;PentaBarf: http://pentabarf.org/Pentabarf  (moved down bc people are migrating away from)
*written in Perl so many events have dropped it
*python implementation called frab
;Bedrock - Mozilla engine, Foss, https://github.com/mozilla/bedrock/
* Installing locally: http://bedrock.readthedocs.org/en/latest/install.html
* https://www.mozilla.org/en-US/contribute/events/
* https://reps.mozilla.org/events/#/period/future/
* the base heart of the listing is: Opennews - https://source.opennews.org/en-US/articles/tags/events/
* Also perhaps you find it useful: http://schema.org/ - Schema.org is a collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet, on web pages, in email messages, and beyond.
;Hackdash -  Web platform that brings people and ideas together and allows anyone to know the state of each project.
* When working on collaborative projects, it s always hard to * know what the other team members are doing. Later on, it becomes hard to remember who worked on what, where the data were used and where the prototype was.
* Website: https://ijnet.org/en/blog/hackdash-free-platform-organizing-collaborative-projects
* Visualization extra - D3.js: http://datadrivenjournalism.net/resources/data_driven_documents_defined
; regcfp: https://git.gnome.org/browse/guadec-web-regcfp/
* The short install guide: git clone, cd, "npm install", ./bin/www
* puiterwijk knowledgable about
;fudcon app - In house beveloped for the Fudcon Latam event using python by @echevemaster - http://fudconlatam.org/
* It is python
* MIT License
* Latam community can help to improve the app.
* Used for Fudcon Managua and Fudcon Córdoba
 
Next Steps
*communicate via flock-planning list
*set up ethercalc for evaluation
*set up test systems to play with
 
= Tool Comparisons =
 
 
{| border="1" width="100%"
|-
|-
! rowspan="2" | Feature
| General content for users to read (pre-conference) || fedora-web module
! colspan="5" | Conference Manager
|-
|-
! [http://osem.io Open Source Event Manager]
| Registration, CfP, voting on papers || regcfp
! [http://openconferenceware.org/ Open Conference Ware]
! [http://zookeepr.org/ Zookeepr]
! [https://git.gnome.org/browse/guadec-web-regcfp/ regcfp]
|-
|-
| Software Stack
| Content for event (at conference) || Sched.org
| Ruby on Rails
|}
| Ruby on Rails Engine
 
| Python
=== Content ===
| node.js
|-
| Email Nags
Yes; all emails can be controlled with custom templates easily accessed from admin dashboard:
* '''Onboarding'''
** Email sent when user registers for conference
* '''Proposals'''
** Email sent when proposal accepted
** Email sent when proposal rejected
** Email sent when proposal confirmed but speaker hasn't registered
* ''' Update Notifications'''
** Email sent when conference dates are updated
** Email sent when conference registration dates are updated
** Email sent when venue updated
* '''Call for Papers'''
** Email sent when Call for papers dates are updated or when schedule made public
** Email sent when Call for papers dates are updated
|
|
*'''Automated emails:'''
** 'Confirmation of your registration to Flock 2016'
** 'Password reset confirmation'
** Confirmation when proposal submitted
** Confirmation when funding request submitted
** (optional) Send to a specific address when any proposal is updated
*'''Manual / pushbutton mails'''
** Invoice payment nag (/invoice/remind)
** Send out registration details reminder to all registrants
| It sends emails via cron job, but this wasn't working on our test server.
|-
| Voting on Session Submissions
| '''Yes.''' I think so anyway. There is a CfP 'role' you can apply to accounts. It looks like these users can vote on proposals (by clicking on 5 stars), and can also set a 'rating' (out of 5 stars) for a proposal. 
| '''Yes.''' Assumes a committee is making selections, requires voters to be added to selection committee.
| '''Yes.'''
* Assumes a committee is making selections, requires voters to be added to selection committee.
* Has a pretty sophisticated interface for listing out proposals that need review, proposals that have been reviewed, with ratings numbers and comments fields for each proposal.
* Seems to consider a proposal reviewed and rated by one person on the committee as "Reviewed"
* '''Blind review not currently possible.''' See https://github.com/zookeepr/zookeepr/issues/41
| '''Yes.''' Not sure how the perms for this work yet or how open it is. You can give proposals -2 -1 0 +1 +2 and make comments on them; you can also promote proposals to being accepted or not on the page where you review people's ratings on them.
|-
| Allows submitters to tag talks into category
| '''No.''' It does have a track system, but session submitters can't tag their own talks, it seems only admins can.
|
| '''Yes.''' You can do this via streams although the feature is hidden and not linked to from the admin panels! Go to /stream on the site and you can create and edit streams. Any proposals submitted will be given the opportunity to affiliate with a stream.
| '''No.''' No tagging system. Don't imagine it'd be hard to add tho.
|-
| Allows for co-speakers
| '''No.''' It doesn't seem to allow submitters to add a co-speaker. It has a "submitter" field and a separate "speaker" field but it doesn't seem possible for admins to edit the speaker field or add a co-speaker.
|
| '''Yes, but pain.''' There's a field in the DB you have to edit manually. No UI. See https://github.com/zookeepr/zookeepr/issues/49
| '''No.'''
|-
| Remotee Attendance
| '''No.''' However, does allow posting a video player to the session details. This could work post-event.
| '''No.'''
| '''No.''' However, does allow creating arbitrary pages to be listed on the site, could use this feature to create a page for remotees and link to session video URLs if need be.
| '''No.'''
|-
| Registration
| '''Yes.''' Also allows admins to display customizable checkbox, radio button, or yes/no questions (with customizable radio button answers) to registrants.


Also has a conference arrival / departure time field they can fill out, but no space for airline details.
Content consists of information and messaging for the general public. This is how we advertise dates, venue, transportation information, travel tips, and calls to action.
| '''Yes.'''
| '''Yes.''' Extensive registration options. A run-down of what's configured now:
* Name / email (email verification built-in)
* Country
* Company
* Voucher Code
* Over 18 (yes/no)
* Dietary requirements
* Other special requirements
* Previous years' attendance at conference
* Fun little survey thing (favorite shell, editor, distro, vcs, etc)
* Your superhero name / IRC nick
* GPG key
* RSS for blog
* mailing list subscription requests


Do not know if these fields are customizable (guessing based on how Paul was able to add some Flock options here but can't figure out how to modify them.)
;Static site
| '''Yes.''' Unclear how customizable the fields are. Currently asks name, irc nick, gender, country, privacy option to hide from list of attendees.
:Use a static site, managed with the fedora-web git repo similar to all other main Fedora websites, to post general information for the public about Flock. It will still reside at https://flocktofedora.org.
|-
:Request help from Design team (Ryan Lerch), hopefully building on a well known theme or model to bring into line with Fedora branding
| Can it track registrant region?
:Here is the [https://git.fedorahosted.org/cgit/fedora-web.git git repo] and a direct link to the [https://git.fedorahosted.org/cgit/fedora-web.git/tree/flocktofedora.org folder in the tree].
| '''Yes.''' Can add a custom radio button question with the 4 regions. Tested this out and it works.
|
| '''Yes.''' But it's hard to get a good breakdown of registrants by region.
* The one report we found that lists country is here: /admin/registered_followup
* It tracks exact location too but it looks like you have to look up individual registrants to get this data.
| '''Yes.''' It asks for user country of origin.
|-
| Can it track registrant visas?
|
|
| '''No?''' Doesn't seem like it.
| '''No.'''
|-
| Funding request management
|
|
| '''Yes.''' Has several reports/controls on admin panel for doing this:
* Funding Requests by Max Rank (list of all the funding applications ordered max score, min score, then average)
* Funding Requests by Strong Rank (list of all funding applications ordered by number of certain score / total number of reviewers)
* Review index (to see what funding requests still need review)
* Funding types (manage fund types)
* Funding approve (change proposal status for funding applications)
However it is still pretty lacking; it's not easy to review / grant funding requests with an eye towards any sort of budget, see the following feature requests for more information:
* https://github.com/zookeepr/zookeepr/issues/9
* https://github.com/zookeepr/zookeepr/issues/10
| '''No.'''
|-
| Can it track reimbursements?
|
|
| '''No?''' Doesn't seem like it. Tracks funding requests and approvals/denials, but doesn't seem to let you store any data about who got reimbursed how / when / how much / etc.
| '''No, but planned.''' The GNOME travel board requested this feature so it will be added.
|-
| Mailing List Management
|
|
| '''Yes.''' Under "Mailing Lists" in admin panel. Gives you the following reports:
* People who signed up for main / low traffic conference announcement ML
* People who signed up for conference attendees mailing list
* People who should be subscribed to miniconf organizers mailing list
* List of partners program people for mailing list
* List of planet-compatible blog RSS feeds
* People who should be added to speakers ML
* People who should be added to volunteers ML


Note that it doesn't automatically subscribe people to these lists. But it gives you text you can copy/paste into mailman to mass subscribe all of the people in each list.
;Sched.org
| '''No.'''
:Use sched.org for schedule arrangement, publishing, web + mobile access for attendees
|-
:(unchanged from Flock 2015)
| Schedule
| '''Yes.''' Includes feature where you can drag-and-drop accepted sessions onto a time slot / room grid. Schedule part of software seems a bit disconnected from main app though and a bit rough in appearance.
|
| '''No.''' Does not have built-in scheduling tool, but allows you to create arbitrary pages on the site and manage through the dashboard. So you could likely easily embed a sched.org schedule into the site.
| '''No.'''
|-
| OpenID or Persona Login
| '''Probably?''' At least, you can associate an OpenID with an already-created account. Assuming this means you can probably just log in with OpenID too given a particular configuration.
| '''Yes.'''
| '''Yes.''' Has Persona support, no openid. Would require development work to add openid or FAS support (but probably doable.) See also https://github.com/zookeepr/zookeepr/issues/25
| '''Yes.''' Has Persona support.
|-
| Social Media Management
| '''Yes.''' Has a social media section that integrates content from conference Twitter/Google+ hashtag, conference Facebook page, Google+ URL for conference, Twitter page for conference, Instagram page for conference. Note this focuses on conference accounts, not attendee accounts.
|
| '''Yes.''' /social_network allows you to add any custom social network that conference registrants/attendees can indicate their username for. Out of the box has Flickr, Google+, and Twitter configured. Note this focuses on attendees accounts, not conference accounts.
| '''No.'''
|-
| Venue Information
| '''Yes.''' Allows you to plug in details about the venue and also create the rooms the talks will be in with fields for the each room's name and capacity.
|
| '''Yes, but pain.'''
* You have to go to the database-editing like config file panel under /admin/change_config, then you can add info like event_host, event_fax_number, event_airport_code, event_city, event_phone_number, event_postal_address, google_map_url, google_map_latlng.
* You can also create a custom page to talk about the venue, which seems to be the way LCA does it currently
| '''No.'''
|-
| Hotel Information
| '''Yes.''' Allows you to enter in freeform details about recommended hotels and other lodgings near the conference.
|
| '''Yes, sort of.''' Have to do via custom page. No form fields or anything like that it seems.
| '''No.'''
|-
| Sponsor management
| '''Yes.''' Allows you to create sponorship levels and enter in sponsors according to sponsorship level. Will result in a display of the sponsors' logos into categories on the conference front page.
|
| '''Yes, but pain.''' Involves manual input of JSON into a database-like config edit gui under /admin/config. The field is under  general > sponsors.
| '''No.'''
|-
| Custom Static Pages
| '''No.''' It doesn't seem as if the interface lets you add in custom static pages.
|
| '''Yes.''' Interface is under 'Zookeepr Administration' > 'Manage Pages' in the left sidebar. Allows you to edit and add pages in the admin panel via form field.
| '''No.'''
|-
| Provides Volunteer Signup Forms
| '''No.'''
|
| '''Yes.''' (according to a 2011 dev presentation)
| '''No.'''
|-
| Venue Bid Voting
| '''No.'''
|
| '''No.'''
| '''No.'''
|}


=== User activities ===


User activities are the actions we ask for users to take ahead of the conference to provide data for the organizers.


;regcfp
:Use [https://github.com/puiterwijk/GUADEC-regcfp regcfp application] for registration, desk, call for papers activity, and paper voting/acceptance. <strike>'''TODO: File RfR ticket with fedora-infrastructure, likely for Patrick to handle.'''</strike> DONE - to be available at https://register.flocktofedora.org
:Visual elements will reflect Fedora branding.
:The software team will create an administration and maintenance document on wiki for Flock planners using the system.
:<strike>'''TBD: Generalize an ansible playbook so this app can be used for other Fedora events if desired.'''</strike> - IN PROGRESS - Patrick handling
:Users will visit via https://register.flocktofedora.org URL.
:The software team will monitor incoming issues and prioritize based on the Flock planning team's needs.


[[Category:Flock]]
[[Category:Flock]]
[[Category:Flock 2016]]

Latest revision as of 15:55, 23 March 2019

This page is about a revamp of software to use for Flock 2016 and beyond.

Background

Here are our preliminary notes on problem statements, and proposed fixes for our issues with Flock software.

Here are our comparisons of existing tools.

Proposal

The core team of folks looking at software for Flock include the following:

  • Paul Frields
  • Máirín Duffy
  • Patrick Uiterwijk
  • Josh Boyer

With substantial assistance from:

  • Ruth Suehle
  • Luke Macken

The main issues we identified in summary were:

  • Inability to manage content easily
  • Registration process required frequent manual hacking
  • Multiple single points of failure for maintenance
  • Inability to relate funding decisions to content decisions

Given the comparison matrix, availability of useful software upstream, and the rate at which problems are addressed upstream, we agreed to propose this solution to the Flock staff.

Summary

! Use System
General content for users to read (pre-conference) fedora-web module
Registration, CfP, voting on papers regcfp
Content for event (at conference) Sched.org

Content

Content consists of information and messaging for the general public. This is how we advertise dates, venue, transportation information, travel tips, and calls to action.

Static site
Use a static site, managed with the fedora-web git repo similar to all other main Fedora websites, to post general information for the public about Flock. It will still reside at https://flocktofedora.org.
Request help from Design team (Ryan Lerch), hopefully building on a well known theme or model to bring into line with Fedora branding
Here is the git repo and a direct link to the folder in the tree.
Sched.org
Use sched.org for schedule arrangement, publishing, web + mobile access for attendees
(unchanged from Flock 2015)

User activities

User activities are the actions we ask for users to take ahead of the conference to provide data for the organizers.

regcfp
Use regcfp application for registration, desk, call for papers activity, and paper voting/acceptance. TODO: File RfR ticket with fedora-infrastructure, likely for Patrick to handle. DONE - to be available at https://register.flocktofedora.org
Visual elements will reflect Fedora branding.
The software team will create an administration and maintenance document on wiki for Flock planners using the system.
TBD: Generalize an ansible playbook so this app can be used for other Fedora events if desired. - IN PROGRESS - Patrick handling
Users will visit via https://register.flocktofedora.org URL.
The software team will monitor incoming issues and prioritize based on the Flock planning team's needs.