Page tree
Skip to end of metadata
Go to start of metadata

Location

Stanford University in sunny California AND edX HQ in fabulous Kendall Square, June 16-17, 2016.

Lathop Library, the location being used at Stanford, will be open until 10pm on June 16th.

Attendance

The Open edX Conference Hackathon will be open to all conference attendees. If you're a community member interested in coming to the hackathon, register today for the Open edX conference!

Schedule

Planning meetings

Before the hackathon, we'll have two brainstorming sessions on slack to help create and flesh out some ideas for hackathon projects.

Join Slack!

You can join the Open edX Slack team at bit.ly/openedx-slack.

 Ideas

Idea: Title for the project

Explanation: A few details about what you hope to accomplish and what the work might look like

Necessary Skills: What do people need to know to work on this?

Point Person: Probably you! If you're proposing this or interested in taking lead on making sure it happens, write your name here.

Excited: Add your name here if you're really excited about this project and want to work on it.

Interested: Add your name here if you think you might want to work on this project, or want to hear more about it.


Idea
ExplanationNecessary Skills
Point Person
Excited
Interested
 

Static File Handling during Studio Authorship

Many CMSes allow for quick and easy handling of static files during authorship. Let's bring OpenEdX up to speed.

HTML, JS, Python

 Ben Weeks
Provide a mechanism for checking the accessibility of course content in StudioAdd a button to Studio (much like the Preview button) that allows an author to submit just the page content (scoped to content div) to an accessibility testing tool like Tenon.io or Google's Accessibility Developer Tools. Display results inline.HTML, JS, PythonMark Sadecki
Use video to augment documentation for particularly difficult or frequently asked-about proceduresSelect 2-3 areas that require a lot of support time and create example How-to videos that can be posted on YouTube and linked to the documentation (and portals, help center, and so on).  Wiki page for guidelines, script template, and ideas.Video (screen capture) production, scripting, transcription, translation, YouTube hosting, graphic design, interest in figuring things out!
Upgrade to Ansible 2.0This is a broad project that could include parts like: targeted automated testing, testing in the config repo, and more traditional updates.
Feanil Patel

Byte-sized Defects and Bug ReportsFirst, these need to be clustered by things like required skill set, size, and urgency. Then they are ready to be squashed!
Brian Beggs

Alison Hodges, see Hacking the Doc Backlog for clusters of stories!

Django 1.9 UpgradeMost of the work has been done for this, but some things are still failing. They need to be identified, reported, and, possibly, fixed.

Feature Flag ProjectSome feature flags need to be removed, some should never be turned on (or off) and need to be defaulted to that state. This is also a good time to work on populating the list of feature flags.
Clinton Blackburn
Building a course for Open Source onboardingThis is a great opportunity to work together across teams and skill sets, as well as understand the platform better. We can create a course that walks people through onboarding procedures, but also teaches them the things they need to know to help them start contributing to the project.
Adam Palay
Move IDAs to Pythonall our packages need setup.py files, python3, etc
Feanil Patel

Review old hackathon projectsWe have lots of old hackathon projects. Sorting through these is a great way to learn more about the project and platform. We can chart where different projects are and figure out what should be revived, cleaned up for wide use, or forgotten.



Design resource panelDesign is an integral part of any system that is going to have users. We can put together a panel of designers to consult, poke at, and offer advice on other projects.Sign up in advance
Partner brainstorming hourLet's set aside some time to figure out how edX partners can better work with the community, and how the community can better work with edX partners.


Translation write and reviewDo you speak a language other than English? Whether you're a native speaker or an expert, you can help so much by working on translations of the platform as well as reviewing translations other people have worked on previously. This is an invaluable task that will make it possible for the Open edX platform to truly be a global project with a global reach.
Laura Ingison
Pattern-matching based tool for linting/defect discovery

Want to write pylint checks like this?

when:
    def setUp(...):
        ...body...

must-match:
    body:
        ...
        super(..., self).setUp(...)
        ...


Join me to hack around on python lexing, parsing, and tree visitors! Or, alternately, if there are things you want to find in our code that are hard to search for.

Python

Upgrade to ESLintWe'd like to upgrade our Javascript linter (and configuration) in preparation for writing ES2015. We'll start in the edx-ui-toolkit, ux-pattern-library, then move into edx-platform if we're successful.Javascript, JenkinsAlisan Tang
Create prototype REST API documentation based on automatically generated content

We'd like to produce and deliver documentation for edX REST APIs that takes advantage of automatic documentation generation tools like Swagger and also includes conventionally written explanations of concepts. This project will attempt to generate Swagger documentation for a subset of edX APIs and integrate it with RST-based HTML content.

The recent work on the UI toolkit created a similar documentation interface based on automatically generated JavaScript doc content (http://ui-toolkit.edx.org/).

HTML, Swagger
Demand Driven API for api.edx.orgBuild a demand driven api (supporting something like http://graphql.org/ or https://netflix.github.io/falcor/) that automatically builds on top of a swagger API (or a set of swagger APIs), and automatically parallelizes requests as needed/possible.None, but Haskell/Swagger/{GraphQL/Falcor} might be useful
Showing bok-choy some love with new features and clearing tech debt

bok-choy is our selenium-based test framework that we use for end-to-end and acceptance tests.

It has served us well so far, and let's keep it that way:

bok-choy hackathon presentation

 Python

Write a Kodi plugin for edXBuild a plugin that will allow users of Kodi (a popular open-source media center) to watch edX course videos on their home theaters over a "10 foot user interface"Python

Roku Channel for edXBuild a Roku channel to let people watch edX videos.
David Ormsbee

UX Design Challenge (CA only)Brainstorming! Personas & scenarios! Design thinking! Prototyping! Experiment with design methods and co-design edX 6.2!No requirements, but space will be limited.

Integrate Booc.io as an XBlockWork with Micha Schwab to integrate the booc.io code into an XBlock that would source data from edx.Python, XBlock

Look at CSS that we are not using

There are two flavors to this:

  • redundant code
  • styling that is not put onto any of our pages

The first we can look at through some tools (e.g., ruby's csscss library, or testmycss.com if we pass in a specific css url


The second is going to be a harder nut to crack. There are many tools that do this, though if we want to crawl our site, the # of tools shrinks significantly. But we could get somewhere with analysis, even if it's manually using the chrome dev tools

Browser, CSS, libsass, maybe node
New marketing site

Spin up a new marketing site to facilitate quick style/format edits

The idea is to leverage the API on both the existing drupal site and the course catalog api to render the home page, subject page and other mostly static pages quickly

HTML, javascript, python and css
Add Let's Encrypt support to Nginx

Let's explore the idea of including Let's Encrypt (https://letsencrypt.org/) support in Nginx. This would allow all Open edX deployments to enable HTTPS for free and by default.


Python (Ansible), Nginx, CronTJ Keemon

Xsy-O-MaticA Backbone app to create SVG XsysHTML, JavaScript, SVG, CSS

XBlock2Vec

Let's turn xblocks (probably HTML ones for now) into vectors! Then build a small widget that will suggest similar xblocks from other courses to the one you're currently looking at.

For inspiration: https://en.wikipedia.org/wiki/Word2vec

Python?
Experiments in DesignParticipate in a design project! Learn about design and its necessity, while experimenting and practicing with the Open edX platform.
Christine Michael

Course Selection "Tinder"Create a tinder like app that lets you swift left/right on topics to you like and in the end gives you a list of edX courses that you might be interested innone

Course Mode Redesign

Rethink the design of course modes to be more dynamic attribute driven as opposed to assumed attributes based on course mode name.Python/Django

Bill DeRusha

Slack:

@bill

#hack-course-modes


Pavel Martynov
Course Rerun AssistantIf you rerun course now you have to add all publishing dates manually, so it will be great to add possibility to save gaps between items publishing dates.Python/DjangoPavel Martynov

Removing CoffeeScript from edx-platformLet's eradicate CoffeeScript by checking in the generated JS files instead.JavaScriptAndy Armstrong
Open edX lightedx-platform has some degree of modularity, through XBlocks, but most new features still have to be developed as core edx-platform code. New features should be developed as plugins and xblocks, kinda like Wordpress. So let's create a new XBlock runtime that allows us to run courses with zero external services: just Django and Redis.Python/XBlocks/UX/WordpressRégis Behmo

Social sharingImplement a social sharing feature that posts to e.g. Twitter on course completion on an Open edX instance. This will increase visibility of edX/Open edX instances/courses to the general public.Python/Javascript (bookmarket?)


Pitches

Sign up to pitch your idea Thursday morning @ Open edX 2016!

Mentors

This is a list of people interested in helping people out. Feel free to tag them or message them on Slack.

NameAreas of ExpertiseSlackGithub
Molly de Blanclicensing, community stuff, open education resourcesmollydbmollydb


What is a hackathon?

The Open edX conference hackathon is an opportunity to work alongside other community members in person, starting new projects, collaborating on preexisting ones, and trying out ideas related to the platform and community.

Hackathons are fun. More important than seeing a big project through from start to finish, hackathons provide us with the rare opportunity to sit next to people from all over the world who are interested in and passionate about the same stuff we’re working on. Since we all have this time separate from our usual work, we can experiment, try new things, finish small projects, and have some fun.

You don't have to know how to code!The hackathon is for everyone attending the conference! Perhaps you’re interested in capturing video workflow on the wiki. Maybe you’d like to work on reviewing, or writing, translations of the platform and documentation. Past projects have focused on design, course building, documentation, analytics, feature and XBlocks development, creating tools, and just seeing what innovative things can be done with the platform.

Previous hackathons (get inspired!)

Hackathon X

Hackathon Nine: Hacking is <3

Hackathon 8: Open edX Con

Hackathon Seven: The Voorhees Special

Hackathon Six: New Digs