Developer Summit 2019
The fourth day of the Open edX 2019 conference is our annual Developer Summit, on March 29th. It's a chance for the community to come together and collaborate in-depth on topics of interest. The structure of the day is determined ahead of time by the participants.
- Thanks to IBM, this year's developer summit sponsor
We are looking for sessions that have clear deliverables, either by the end of the day, or with plans to continue working together after the conference. The goal is to advance work with a path to completion.
You can participate either as a Session Leader or as a Participant.
Session Leaders: add a topic below. Please be specific about the goal of the day, and how work will progress afterward.
Participants: feel free to add your name in the "Interested" section of any topics below. You can also suggest a topic in the Desired Topics section.
We'll choose a set of topics for the day based on community interest. We can't promise that everything will be included. We'd love to help groups that want to work outside of the Dev Summit, get in touch.
Schedule
The day is mostly divided into 45-minute slots, though some sessions will span a few time slots. Topic leaders: you can add your session to a slot.
Time | ||||
---|---|---|---|---|
9:30-10:15 | D: Designing the Authoring Experience for an Adaptive Platform on Open edX | M: Open edX developer onboarding experience | E: Operations and Remote Config | |
10:15-11:00 | N: Authoring Experiences on Open edX | J: Micro-frontend theming and customization | ||
11:00-11:45 | A: Develop a plugin system for Tutor | |||
11:45-12:30 | G: API Documentation | Q: Open edX Analytics | ||
12:30-1:30 | Lunch & Pinata! Yay! | |||
1:30-2:15 | C: Credentials & Badges: Now / Next | H: Frontend Pluggability | ||
2:15-3:00 | F: XBlock Sandboxing | |||
3:00-3:45 | B: Open edX Mobile: Now / Next | K: What Comes After XBlock? | ||
3:45-4:30 |
Proposed Topics
List proposed topics here. For each topic, please provide:
ID | Topic | Leader | Description / Desired Outcome | 1. Expected Outcome On the Day 2. Expected Activities After the Day | Interested Participant |
---|---|---|---|---|---|
A | Develop a plugin system for Tutor | Description: There are many 3rd-party features that could be added to Tutor: Figures (by Appsembler), Sentry (for error monitoring) or xblocks are example that come to mind. However, these projects should not have to be maintained by the tutor developers. Thus, we would like to include an plugin system for Tutor with which 3rd-party developers could propose extra features. For instance, an xblock plugin would automatically add the appropriate settings and urls to the Open edX platform. Desired Outcome: Install should be as simple as:
|
| Nate Aune - more interested in getting Figures into Tutor, which should be ready for Hawthorn by the time of the conference. /cc John Baldwin | |
B | Open edX Mobile: Now / Next | Description: Session Schedule: We have been doing this summit format for Mobile every quarter for a year and a half or so, but skipped Q2 due to holidays / scheduling issues.
| |||
C | Credentials & Badges: Now / Next | Description: Session Schedule The plan for this 1.5 hour session is to discuss the product direction document for credentials on the platform and get input from the community. In particular, a number of groups have expressed interested in development contributions to this part of the platform so our goal for this session is to provide an opportunity for these groups to connect, discuss and improve the direction document, and collaborate on next steps! message Marco in Slack to suggest topics / sub-groups for this! | |||
D | Designing the Authoring Experience for an Adaptive Platform on Open edX | Dale Johnson - ASU, | Description: In order to deliver personalized lesson recommendations, Open edX will need an information architecture that enables us to serve the right lesson to the right student at the right time. That is in contrast to the current model where instructional resources are placed in static courses that serve the same lesson to all students the same way. In this session, we will focus on designing the architecture for a platform to deliver dynamic instructional resources that can be structured and served in different ways to meet the needs of individual learners and the requirements of instructors. Participants will be asked to contribute ideas and insights into ways to make Open edX a platform that can support adaptive lesson delivery in the future. | ||
E | Operations and Remote Config | Fred Smith (Deactivated) | Description: How will OpenEdx move into the world of containers and service discovery. What are improvements that we're working on, and what are we hoping to achieve for OpenEdx operators in the near future. Session Schedule | ||
F | XBlock Sandboxing | Braden MacDonald - OpenCraft | As part of our work on LabXchange, we have developed the technology to wrap XBlocks in a responsive IFrame so that it runs in an isolated browser context (has no access to Open edX cookies, sessions, etc.) but does so transparently to the user (no visible frame, scroll traps, etc.) and without requiring any changes to the XBlocks themselves. This is essential if your Open edX instance ever allows public/untrusted users to create content (in Studio), or if there's any risk of trusted users intentionally or unwittingly putting dangerous content into courses via Studio. If enough people are interested, I'd like to do an informal session explaining the rationale for this work, the technical implementation details (vs. alternatives), and discuss moving to using this for all XBlocks in all frontends in the future. | Expected outcome: group consensus on where/how to apply this work moving forward. | |
G | API Documentation | Braden MacDonald - OpenCraft | A short (15 min?) session on how we've used drf-yasg to auto-generate OpenAPI spec files for APIs, along with openapi-generator to produce API clients, why this is awesome, how you can use it, and how it will work when Django REST framework version 4 lands. | Nate Aune - I'm interested in publishing better documentation about existing APIs. | |
H | Frontend Pluggability | Nimisha Asthagiri (Deactivated) - edX | Following SOLID design principles, including Dependency Inversion, will take us a long way toward enabling our platform for extensibility and customization. Last year, we provided a framework for Django App Plugins, which supports pluggability on the backend. Several Open edX developers have successfully made use of that framework for their own development and innovations. This year, let's come together and brainstorm on ideas for supporting pluggability on the frontend. Desired use cases include:
| ||
I | Micro-frontends and Deployment on Open edX | Nimisha Asthagiri (Deactivated) - edX | As part of edX's re-platforming effort, we are implementing micro-frontends as statically hosted single-page apps written in React. The Open edX Juniper release will include our first set of rewritten core platform pages. Tuesday's workshop would have provided folks an opportunity to get hands-on experience with creating an open edX micro-frontend using our cookie-cutter. For this session, let's determine how we can support micro-frontends in Open edX deployments. | ||
J | Micro-frontend theming and customization | David Joy (Deactivated) - edX | The edX re-platforming effort is putting a focus on modern, React-based micro-frontends, which has significant implications for the future of theming the Open edX platform. Theming, historically, has meant the ability to comprehensively modify the user interface via styling and content (template) overrides. What does this look like in a React-based world? How can we isolate and firm up our understanding of theming as separate from micro-frontend pluggability and deployment? For this session, we'd like to gather example user stories and use cases to help inform the requirements and rollout plan for theming of our new micro-frontends, and, time permitting, brainstorm high-level implementation approaches. There are a number of different types and levels of theming and customization that we'd like to focus on individually.
| 1. Expected outcome on the day: A list of user stories and use cases around Open edX theming and customization, which will be directly applicable to the requirements definition process. Understanding of community expectations around how such theming might be accomplished. 2. Expected activities after the day: With the aid of the theming advisory group, the creation of a concrete plan for the implementation and rollout of theming capabilities for micro-frontends. | |
K | What comes after XBlock? | Dave Ormsbee (Deactivated) - edX | Description: (TLDR: What would a modern replacement to XBlock look like?) The XBlock framework was created to empower developers to deliver a richer courseware experience for students. Over the last six years, it's been used to implement many different types of content type |