Hackathon XXVI Ideas
Please keep in mind that this page is shared publicly with the external Open edX community and that confidential information (learner data, business plans, etc.) should not be shared in connection with any Hackathon project, whether on this page or in shared Slack channels or elsewhere.
This page is intended to share all ideas for Hackathon projects regardless of whether the ideator will be working on it during the Hackathon or not.
Some ideas from previous hackathons that are up for grabs here: LINK. Note: If you want to work on an idea from this list, please move it to the Confluence page. If you have a new idea, please add it to this Confluence page.
For documentation projects, here are some possible categories of work:
Other resources:
https://openedx.atlassian.net/wiki/spaces/HACK/pages/3022619011 pointers to documentation things that could be helpful
Four kinds of documentation: About | Divio Documentation
https://openedx.atlassian.net/wiki/spaces/HACK/pages/3040379463 is a great place to look at for the different kinds of people who use docs and how you might make their life better.
Documentation Strategy and Proposal: Confluence Organization for guidance on how to use doc tools and how to think about organizing Confluence.
Idea Name | Idea Description | Necessary Skills | Proposer Name | Interested Hackers | Committed Project? (y/n) |
---|---|---|---|---|---|
Zoom timer | a Zoom plugin that tracks the cumulative speaking time of each participant | coding | @Albemarle (Deactivated) | @Olivia Ruiz-Knott (Deactivated) | not yet |
Wiki Nudger | Go through the wiki and get a list of all the pages ordered by when they were last updated. Can probably start with GitHub - nedbat/wikicrawl and make improvements. | coding | @Ned Batchelder (Deactivated) |
| Yes: find me in Gather. |
Clamps Nudger | Add a clamps confluence command to https://github.com/edx/clamps/tree/master/clamps/commands that wraps wiki nudger | coding | @Adam Blackwell (Deactivated) |
| No |
Build the Docs | There are many repos that are currently failing to build and publish their docs to ReadTheDocs. Fix the issues, but also add a test to CI to detect breaking the docs so we can catch it earlier. Run Book for Debugging/Fixing Docs and Adding CI edX Credentials: GitHub - openedx/credentials: Service hosting course and program certificates Django Config Models: GitHub - openedx/django-config-models: Configuration models for Django allowing config management with auditing. django-user-tasks: GitHub - openedx/django-user-tasks: A Django application for managing user-triggered asynchronous tasks. edX Ecommerce: GitHub - edx/ecommerce: (Deprecated) Service for managing edX's product catalog and handling orders for those products edX Automated Communications Engine (A.C.E.): GitHub - openedx/edx-ace: edX's Automated Communication Engine edX Insights: https://github.com/edx/edx-analytics-dashboard edX Data Analytics API: https://github.com/edx/edx-analytics-data-api edX Analytics Pipeline Reference: https://github.com/edx/edx-analytics-pipeline edx-drf-extensions: https://github.com/edx/edx-drf-extensions Open edX Enterprise Service Documentation: https://github.com/edx/edx-enterprise edX Open Response Assessments: https://github.com/edx/edx-ora2 edX Enrollment API: https://github.com/edx/edx-platform edX Submissions API: https://github.com/edx/edx-submissions event-tracking: https://github.com/edx/event-tracking edX Opaque Keys API: https://github.com/edx/opaque-keys | coding | @Feanil Patel (Deactivated) | @Peter Pinch @Adam Blackwell (Deactivated) (maybe) @Olivia Ruiz-Knott (Deactivated) @Jeremy Bowman (Deactivated) | Yes - In #hack-rtd-builds
|
Review Docs | Review https://edx.readthedocs.io/projects/edx-developer-docs/en/latest/ which is built from https://github.com/edx/edx-developer-docs . Add links to more docs, update the docs, or add more based on what you believe a developer new to Open edX should know about. |
| @Feanil Patel (Deactivated) | @Peter Pinch |
|
REST APIs from JS | What REST APIs that are available to people using javscript on course pages, and how do we get to them? For instance, could we pull a list of the other courses someone’s enrolled in? | Django | @Colin Fredericks |
|
|
JS On the Page | What javascript objects and packages are available on the page? For instance, I know there’s an Analytics object because I occasionally pull an ID number from it, but it’s not clear what else is inside it. I know JQuery and Underscore are both available (or were the last I looked), and FontAwesme 4.7. What other javascript packages, fonts, etc. are delivered to the user by default? Is there an object with the course structure? One with the user’s grades? With specific question responses? | Javascript and maybe django for code archaeology | @Colin Fredericks |
|
|
Help Center consolidation | Is there any way to consolidate/merge responses at the edX Help Center? I remember some questions having multiple overlapping responses (and occasionally old out-of-date ones). | Patience | @Colin Fredericks |
|
|
Video Controller | What is the structure of the video controller object? I’ve hooked into it myself in the past via JS, but it was some serious code archaeology, and making this easier would enable more people to build cool tools. | Javascript and maybe django | @Colin Fredericks |
|
|
MathJax for PwDs | MathJax has a major upgrade (from 2.x to 3.x) out, and it is more interactive and natively accessible than the last version. The small MathJax team has done an admirable job attending to accessibility concerns in design and development of v3. But they haven’t documented the interaction very thoroughly. | writing, UDL, or instructional design might be helpful | @Jeff Witt (Deactivated) |
| yes |
Join the #i18n-hacking Slack channel in the Open edX space, OR, ask for an invite from Mariana or Sarina to the #external-i18n-hacking channel in the edX space | We will be working to consolidate and organize information relevant to edX’s current language support capabilities. This will become an information oriented reference that will support any potential i18n work in the future and serve as a source for ideas on where edX can go next for i18n. Topics of consideration include, but are not limited to, current language support across our systems, user language preference data, the number of untranslated strings in Transifex. join - external-i18n-hacking | Access to Transifex | @Mariana Hernandez Barroso @Carla Duarte (Deactivated) | @Olivia Ruiz-Knott (Deactivated) @Sharon Wang (Deactivated) @Juliana Kang | yes |
Join the #i18n-hacking Slack channel in the Open edX space, OR, ask for an invite from Mariana or Sarina to the #external-i18n-hacking channel in the edX space | We’re looking to understand the technical landscape of translations at edX. We want to consolidate, organize, and improve current technical documentation wherever possible. In a broad sense, we want to understand where we are today and what opportunities to improve translations lie ahead. Topics of consideration include, but are not limited to, how we enable a new language in a service, what translation infrastructure exists for each service, and discovery of new translation tech. | Coding, technical documentation, access to Transifex | @Mariana Hernandez Barroso @Carla Duarte (Deactivated) | @Olivia Ruiz-Knott (Deactivated) @Sharon Wang (Deactivated) @Juliana Kang |
|
Form a Documentation Working Group | Create a charter and operational plan for a working group to continuously improve our documentation. Note: doing this does not mean you are committing to run the working group, or even be a member! | Process thinking, organizational detail. | @Ned Batchelder (Deactivated) | @Peter Pinch |
|
Monolith Clean-up | Organization in itself is a form of documentation! edx-platform has dozens of Django apps spread across different folders. Some of the apps are redundant, while others are bloated. In this hackathon, I/we would aim to make edx-platform more self-documenting by moving, renaming, refactoring, and documenting apps throughout the monolith. This clean-up would be done with an eye towards strengthening logical monolith boundaries, especially those between the Learning (LMS) domain, Authoring (CMS) domain, and supporting domains like Authn. | Python | @Kyle McCormick (Deactivated) | @Kyle McCormick (Deactivated) @Matt Tuchfarber (Deactivated) (Credentials code cleanup)
| Y I cannot commit to leading a hackathon team this time, so I ask that interested hackers are willing to be self-led. -Kyle |
More-helpful nginx error pages | In an Open edX deployment, if there’s an nginx error, they see this: (built from https://github.com/edx/configuration/blob/master/playbooks/roles/nginx/defaults/main.yml#L95-L117 ) This page could be much more helpful, and less glib | Minor HTML skills | @Ned Batchelder (Deactivated) | @Dean Jay Mathew @Peter Pinch |
|
Open edX developer docs unification | The Open edX developer docs are currently split across two repositories. https://edx.readthedocs.io/projects/edx-developer-guide/en/latest/ https://edx.readthedocs.io/projects/edx-developer-docs/en/latest/developers_guide/index.html The edx-developer-docs repository is the intended home for developer docs, but we never finished moving everything over. In fact, most docs are still in the edx-documentation repository. Let's finish pulling them over! | Time, patience, organizational abilities | @David Joy (Deactivated) | @Peter Pinch | N |
Do something useful with commit messages | With the next release of open edX, we will have a complete release cycle with conventional commits in use. Can we use them to build release notes, or changelogs, or something? |
| @Peter Pinch | @Connor Haugh (Deactivated) |
|
Map / better organize our docs | TL;DR - Finding different places we have docs, identify ways to improve our organization/information architecture. External: Finding different places where we have external-facing docs (e.g. read-the-docs, GitHub, Confluence), identify linkages/hierarchies and propose improvements. Internal: I have been working on a proposed confluence organization. Using that and outputs from a Confluence crawler, propose new Confluence organization. | Grasp (or desire to grasp) information architecture. | @Nathan Sprenkle | @Adam Blackwell (Deactivated) (very maybe) |
|
How to submit a support ticket page | Write a page that details how to support a support ticket for every SaaS project that we use | Patience | @Adam Blackwell (Deactivated) |
| N |
django-wiki: DEPR or fix? | Many years ago, we forked django-wiki and departed the upstream repo. So the course wiki feature no longer benefits from security updates & new features from the upstream repo. This project would generate a report detailing:
If time allows, we could also make an attempt to accomplish 4.a) above. We’ve recently had a security issue that we fixed by hand-merging a security fix from the upstream repo back into our fork, so this is a timely project. Ultimately, the goal of this project would be to provide our product/engineering organizations enough data to either deprecate the wiki feature or invest in it. | DB querying, Git/Github, tech writing | @Julia Eskew (Deactivated) | @Julia Eskew (Deactivated) @Jeremy Bowman (Deactivated) @Jazib Humayun (Deactivated) | Y |
Picture-in-Picture (PIP) for videos on mobile devices | Mobile team from lahore will implement PIP for the video blocks in our Android & iOS mobile apps. | Mobile App development, Mobile UI / UX | @Moin Omer Habib | Axinite (Mobile) (@Moin Omer Habib @Farhan Arshad @Hamza Israr @Mian Khalid @Muhammad Umer (Deactivated) @Bilal Awan ) | Y |
Video background playback support(iOS) | As a learner I’ll be able to listen the videos while the app is in background or the device is locked. | Mobile App development | @Saeed Bashir | @Hamza Israr | Y |
Masters Partner-Facing Documentation | We deliver some documents to partners who’re integrating with our system to support Master’s programs. We’d like to overhaul these documents so they’re more comprehensible & less reliant on specific people on the partner’s end being at a kickoff meeting (or those specific people remaining on the project through the future). (Open edX users may not be super interested in this unless they’re interested in leveraging our platform to run for-credit programs with external partners, which is pretty niche for not-edX.) | Fresh eyes | @Matt Hughes (Deactivated) | @Julia McCormack | Y |
Frontend Documentation Cleanup | The “FEDX” space on the wiki includes a bunch of outdated pages, as well as a number of pages that probably belong in the developer documentation. This project involves cleaning up the old stuff and marking it as such and moving technical documentation to ReadTheDocs. Differentiating between frontend documentation in general, docs related to frontend working group, and docs related to edX’s internal FedX meeting would also be great. | Frontend knowledge (what’s current, what’s outdated?) and organizational skillllllsss | @David Joy |
| N |
More discoverable search for docs.edx.org | docs.edx.org is, theoretically, our entrypoint for documentation. We also have a universal search feature but you’d have to know to go to docs.edx.org/search . Simple upgrade: make it easier to find search, either by adding a search box to the main page AND/OR having a link from the main page that directs you to the search page. | HTML/JS | @Nathan Sprenkle | @Awais Jibran (Deactivated) @Leangseu Kim (Deactivated) | Yes |
Django Admin cleanup | We have a lot of functionality in Django admin, but the permissions groups are confusing and there are many undocumented pieces. Do some cleanup of this. | Someone from support to bounce questions off of? | @Dave Ormsbee (Deactivated) |
| Y |
Guide to Developing Content Features | There are many parts of content feature development that are not immediately obvious, particularly when it comes to managing the lifecycles of various entities–plugins, course re-runs, the content publish cycle, import/export, etc. There are also a wide variety of ways to fetch content-related data, further adding to the confusion. Write up a guide on best practices. I think I know where I would like to go with this, but would appreciate reviewers. |
| @Dave Ormsbee (Deactivated) |
|
|
Caching Guide | When should you use caching, what kinds of caching do we have, best practices, etc. Reviewers would be appreciated. |
| @Dave Ormsbee (Deactivated) |
|
|
Authentication Clean-up | Cleaner auth would require less documentation. I’m also interested in fixing some mysterious bugs. If you are interested in learning a little bit about auth, come and join. Also, see the auth section of Arch and Engineering Challenges (2020+) |
| @Robert Raposa | @Saad Yousaf (Deactivated)? | Y |