Home > Technology Team

Technology Team tasks, 2009

Tasks for the Technology experience team are arranged into a series of milestones with associated dates and series of lists representing grouped functionality. Tasks that are crossed-out are completed.

Team resources:

Milestone #0: Preparation

  • Igal Koshevoy: Extract OpenProposals from Ignite Portland proposals system to use as the basis for OpenConferenceWare
  • Adam DuVander: NetworkRedux: Send logo and paragraph description so they can add us to their sponsored page - http://wiki.networkredux.com/index.php/Sponsored
  • Adam DuVander: NetworkRedux: Get their logo and description so we can add them to our sponsors page
  • Adam DuVander: Reimburse Ben Hengst for github
  • Adam DuVander: Clarify with NetworkRedux that they're willing to host the site after the conference ends

Milestone #1: Begin accepting proposals

Due on January 20, 2009.

Servers, stand-alone

Tasks for setting up servers initially in stand-alone mode, where one machine does everything from its local filesystem and there's no failover between them. Most of these features are available as AutomateIt recipes.

  • Apache
  • Bootstrap
  • Exim
  • Monit witb disk, CPU, memory watches
  • NTPD
  • PHP
  • Passenger
  • Perl
  • PostgreSQL
  • Python
  • Rails
  • Ruby
  • Ruby Enterprise Edition
  • RubyGems
  • fail2ban
  • logwatch
  • memcached
  • sysstat and acct
  • cron-apt, setup in download-only mode
  • OpenConferenceWare, set it up when it's ready
  • DNS: setup new servers and settings
  • planning wiki, move osbp-wiki.pragmaticraft.com to conference's servers
  • rdiff-backup with local backups and remote copies
  • exim, automate its config w/ calls to an expect script or something – nevermind
  • logwatch, squelch its verbosity
  • ssh, allow only public keys – nevermind
  • move everything to “*.opensourcebridge.org”, which also means changing all the following in very close coordination:
    • DNS servers
      • Add new domain
      • Add entries to new domain
      • Forward all addresses to new domain
      • Find way to map existing URLs seamlessly to new site, e.g., blog posts.
    • Google apps's names and home
    • Mail
    • WordPress's base and home
    • OpenConferenceWare: edit theme's settings
    • Apache reverse proxy with subroots or leave app on separate hostname
    • /etc/hosts and hostnames
    • exim configurations

Events application

An event is an instance of a happening, e.g., “Open Source Bridge Portland 2009” is one, while “Open Source Bridge Portland 2010” is a separate one.

  • Admin user can list events[check]
  • Admin user can create events[check]
  • Admin user can update events[check]
  • Admin user can delete events[check]

Accounts application

Tasks for creating and managing user accounts.

  • Must be done
    • User's first and last names should be stored[check, these are now indeed two separate fields]
    • (UI)) Anonymous user should be able to show a user's profile[check, clicked named link from home]
    • (UI)) Anonymous user should be able to show a user's photo[check, it's part of the user profile page]
    • Anonymous user should be able to create an account – automatically create account when user logs in via OpenID[check]
    • User should be able to login to an account using OpenID[check]
    • User should be able to logout[check]
    • (UI) User should be able to update own profile AME comments[check]
    • (UI) User should be able to upload photo[check]
  • Should be done, but could be delayed for another time because it's possible to perform these tasks manually from the terminal
    • (UI) Admin should be able to search for accounts by name – This is a very low priority
    • (UI) Admin should be able to list accounts[check, manage users]
    • (UI) Admin should be able to update any profile[check]
    • (UI) Admin should be able to delete any profile
    • (UI) Admin should be able to list admin accounts[check, there's a second col in the user list]
    • (UI) Admin should be able to grant admin rights to a user[check]
    • (UI) Admin should be able to revoke admin rights from a user[check]
    • System should be able to assign an initial admin user – automatically grant admin rights to first user created
    • Logging in with openID (from the sidebar) should return user back to page they clicked the login link on

Proposals/Sessions application, Phase 1

  • Anonymous user should be able to list items by date
  • Anonymous user should be able to sort by [date, title, speaker(s), track] via clickable header[check]
  • Anonymous user should be able to list items by title
  • Anonymous user should be able to list items by track
  • Anonymous user should be able to list items by user (presenter) – View that user's profile, then see their proposals.
  • Anonymous user should be able to view recent items through a feed[check, atom only]
  • (UI) Anonymous user should be able to show item AME comments
  • User should be able to create a proposal {proposal_edit}[check]
  • (UI) User (logged in) should be able to list own items[check, though could only find thru the profile page]
  • User should be able to update own items {proposal_edit}[check]
  • User should be able to delete own items {proposal_edit}[check]
  • User should be able to associate their proposal with a track (e.g., Cooking)
  • User should be able to associate their proposal with a session type (e.g., Long-form)
  • User should get a notification like “Profile saved, please create your proposal” if they update their profile and are redirected to the proposals form. – app works fine, this is a very minor refinement
  • Admin should be able to update any item
  • Admin should be able to delete any item
  • Admin should be able to show item's private fields
  • Admin should be able to export proposals

Comments component

People should be able to leave private comments to the organizers.

  • Robots should not be able to add comments to a proposal easily
  • (UI) User should be able to add a comment to a proposal[check]
  • (UI) User should not see comment form after leaving a comment[check]
  • (UI) User should not see comment form for their own proposals[check]
  • (UI) Admin should be able to list comments for a proposal[check]
  • (UI) Admin should be able to delete any comments[check]
  • Admin should be able to get Atom feed of comments/attachments for an object[check]

Common components

Minimum set of reusable components that the application needs to operate.

  • Snippets
  • Lookup cache
  • Exception notification
  • Breadcrumbs

Milestone #2: Begin registering attendees

Will be handled by Action Registration. Expected to go live ~2/18.

Registrations application

A registration system provides an e-commerce system that lets people pay for a pass to the event, and issues them badges.

  • Person should be able to register for the event

Milestone #3: Stop accepting proposals, start accepting/rejecting/scheduling sessions

Due on March 31, 2009

Proposal/Sessions Application (phase 2)

  • Definition: proposal (something user submits UNTIL it is confirmed)
  • Definition: session (a proposal that has been confirmed)
  • Admin should be able to set status of an item: proposed (has been added to our system), accepted (we say yes), confirmed (presenter confirms attendance), rejected (we say no), junk/spam (we don't want to see it), delete (for errors) (SELECT BOX)
  • Admin should be able to set a flag that publishes all sessions (aka confirmed proposals), and indicates all future confirmations will be immediately published. (SELECT BOX or RADIO BUTTON)
  • Admin should be able to set the status of a proposal via proposals#show and proposals#edit pages
  • Admin should be able to set the status of many proposal via the manage/events#proposals page
  • Admin should be able to select a batch of proposals by track to notify of status using a group “mailto:” (CHECKBOX, SUBMIT BUTTON)
  • Admin should be able to export proposals as CSV
  • Admin should be able to export speakers as CSV

* Anonymous user should be able to show status of an item: proposed or confirmed.

  • User should only be able to edit own items until a status has been set (e.g., rejected, accepted, confirmed) :!: Disabled this because this prevents users from being able to edit their items after a status has been set. Need to figure out if and when the system should prevent editing.
  • Admin should be able to sort proposals by status.
  • Admin should be able to assign sessions to tracks (change assigned track)

* Anonymous user should be able to list items by search – This is a very low priority and isn't required

Tracks application

A session can be related to different tracks, such as software engineering, system administration, content publishing, etc. The tracks application is basically done, it just needs to be reworked to support sessions as well as proposals.

  • Anyone can list sessions by tracks
  • Anyone can show sessions for a track
  • Anyone can sort sessions by track
  • Admin user can create tracks
  • Admin user can edit tracks
  • Admin user can delete tracks

Milestone #4: Announce sessions

Due on April 15, 2009

Rooms application

Sessions are held in rooms. Datamodel: name of room TEXT, number of people INTEGER, size, seating configuration TEXT, description TEXT

  • Admin should be able to create rooms.
  • Admin should be able to edit rooms.
  • Admin should be able to delete rooms.
  • Admin should be able to assign proposal to room via the proposals#show and proposals#edit pages
  • Admin should be able to assign proposals to rooms in bulk via the manage/events#proposals page
  • Anonymous should be able to list rooms.
  • Anonymous users should be able to show the sessions by room.

Schedule application, Phase 1

A schedule describes what sessions happen in what rooms and what times

  • Admin should be able to assign sessions to rooms/times

Proposals/Sessions application, Phase 3

  • Public should be able to see sessions that have been announced.
  • Group default sessions list view by track.
  • Remove display of proposal submission date from session list view.
  • Redirect proposals#show pages for sessions to sessions#show.
  • Redirect sessions#show for non-sessions back to proposals#show.
  • Add twitter, identica, and blog links.

Schedule application, Phase 2

Display scheduled items with the times and locations they're happening at and in:

  • Admin should be able to display a schedule.
  • Admin should be able to publish a schedule.
  • Anyone should be able to view a schedule by time, room, track and user.
  • Anyone should be able to view a schedule with sessions and their details.
  • Anyone should be able to view a schedule with non-session scheduled items, such as coffee breaks that don't necessarily have rooms.
  • User should be able to set mark items as favorites.
  • User should be able to selectively publish their schedule.
  • User should be able to export their scheduled items as iCalendar.

Wiki application

A wiki provides regular users with the ability to collaboratively create and share content, e.g., places to eat, bird of feather sessions, etc.

  • Anonymous users should be able to show content
  • Users should be able to update content

Milestone #5: Complete site

Comments/Attachments component

We've come up with a simpler way of doing this, the text below is for historical purposes

Provide a way of attaching information to sessions.

The specifics for this need to be debated further, because it may be possible to just make this a very simple public comments system where people publish links and these get prioritized somehow as media artifacts. The tasks below were copied verbatim from the old Comments/Attachments component.

  • Speakers should be able to submit data to upload their associated media.
  • OCW should generate a wiki link for every session that can be used to link user generated content.
  • (UI) Admin should be able to edit any comments/attachments
  • (UI) Admin should be able to delete any comments/attachments

LOW PRIORITY:

  • (UI) Anonymous users should be able to list items associated with an object (e.g., comments for a particular session)
  • (UI) Anonymous user should be able to show item associated with an object, (e.g. video for a particular session)
  • Anonymous should be able to get Atom feed of comments/attachments for an object
  • (UI) User should be able to add comment/attachment to an object (e.g., session, proposal, track, etc)
  • (UI) User should be able to edit their own comments/attachments
  • (UI) Users should be able to get email notification of comments made to a particular object (e.g., to get notified of replies)
  • User should be able to delete their own comments/attachments

User favorites

  • Users should be able to flag a proposal or session as a favorite.
  • Users should be able to view, download or subscribe to their own favorites.
  • Anyone should be able to view, download or subscribe to another user's favorites.
  • Migrate to MySQL, because favorites will overwhelm SQLite with concurrent writes
  • Deploy
  • Publish blog post about favorites

Milestone #5: Complete site

BoFs

  • Admin should be able to create a child event of another event.
  • Anyone should be able to see the child event's sessions on the parent's scehdule.
  • User filling out the new proposal form should not need to select the session_type and track if there is only one of these, since these should be used by default.
  • Compose text for BoFs pages: open/closed, tracks header, track, session_type<
  • Deploy and create the BoFs event
  • Publish blog post about BoFs
  • Add navigation to get to BoFs listing
  • Add links/text to existing conference pages

Unconference

  • Create unconference child event
  • Add links
  • Publish blog post about unconference

Notes wiki

Provide a way of attaching information to sessions:

  • Anyone should be able to see link to notes for this session.
  • Anyone should be able to wiki edit this content.

In case there's no time to do this, we can just ask speakers to edit their session description and include a link.

Misc

  • Menu should have a “Schedule” rather than “Sessions” item at this point.
  • Menu should list the speakers page.
  • Home page should more prominently display the date.
  • Session details show display time
  • User favorites page should say “Download favorites” and “Subscribe to favorites” instead of “Download” and “Subscribe.
  • Schedule page should have “Download all” and “Subscribe to all” instead of “Download” and “Subscribe”
  • Schedule page should provide way to “Download favorites” and “Subscribe to favorites” in addition to all the items listed.
  • Date/time picker control should be extracted into own partial, reuse on ScheduleItem.
  • Schedule should automatically jump to the current day during the event.
  • Layout should use generated URIs to CSV export, it's currently hardcoded.
  • Application's normalize_event_path_or_redirect should use generated URIs.
  • Admin should be able to create child events from an event.
  • Schedule should display child events' items, e.g., BoFs, unconference, etc.

Milestone #6: Have event

Due on June 17, 2009

Speaker feedback

Provide a way for conference attendees to leave feedback for speakers:

  • Users should be able to provide feedback on sessions afterwards with a comment and rating
  • Speakers should be able to see feedback for their sessions

Implementation note: we could collect this using an adapted version of the comments system –OR– have people enter feedback into current feedback system and send sanitized & anonymized content to the speaker –OR– use a third-party service.

Miscellaneous

  • Schedule should display colors correctly on IE6, use single CSS class to identify track color.
  • Textareas should automatically expand as they're filled with content.
  • JWYSIWYG should not insert stray BR tags.
  • Admin UI should be improved, it's gotten very cluttered.

Milestone #7: Finalize publishing of content

Due on July 1, 2009??

  • Publish and categorize all remaining audio, video, slides, text, etc for the sessions at the conference
  • Admin sets flag to put site in archive mode that shuts down all forms to protect from longterm spam

Wireframe files

teams/tech/tasks2009.txt · Last modified: 2010/01/29 15:38 by http://igal.koshevoy.myopenid.com/