/
Developer Summit 2019

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 experienceE: Operations and Remote Config
10:15-11:00N: Authoring Experiences on Open edXJ: Micro-frontend theming and customization
11:00-11:45A: Develop a plugin system for Tutor
11:45-12:30G: API DocumentationQ: Open edX Analytics
12:30-1:30

Lunch & Pinata!  Yay!

1:30-2:15C: Credentials & Badges: Now / Next

H: Frontend Pluggability



2:15-3:00F: XBlock Sandboxing

3:00-3:45B: Open edX Mobile: Now / NextK: What Comes After XBlock?

3:45-4:30

Proposed Topics

List proposed topics here.  For each topic, please provide:

IDTopicLeader

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:
First of all, we need to collect configuration and deployment requirements for 3rd-party applications. Then, we would demo a proof-of-concept with a simple project, such as Figures or a popular XBlock.

Install should be as simple as:

$ tutor plugin install https://github.com/regisb/tutor-figures-addon

$ tutor plugin enable figures

  1. Expected Outcome on the day: Integration of a 3rd-party feature as a plugin in Tutor.
  2. Expected activity after the day: write and publish the plugin specification as well as a plugin example.

Régis Behmo

Nate Aune - more interested in getting Figures into Tutor, which should be ready for Hawthorn by the time of the conference. /cc John Baldwin

Carol Willing

Ivo Branco

BOpen edX Mobile: Now / Next

Description:
What is the future of learning on the go with the Open edX platform? How can we as a community make progress toward the mobile team’s mission and goal: "
Through its mobile applications, Open edX delivers lightning fast, full courses to your pocket so you can learn on the go, offline, and with others."

Session Schedule: 
The plan for this 1.5 hour session is to discuss active development efforts, top technology barriers to expanded contributions, etc. The majority of the time is set aside for community topics & discussions. 

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.

Community Topics
message Marco in Slack to suggest topics / sub-groups! 

  1. Topics TBD

CCredentials & Badges: Now / Next

Description:
What is the future of badging and credentials on the Open edX Platform? How can we collaborate on achieving the current product direction for this part of the platform, and how can we improve this thinking by incorporating in perspectives on credentials from the Open edX community? 

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! 


DDesigning the Authoring Experience for an Adaptive Platform on Open edX

Dale Johnson - ASU,
Greg Sham (Deactivated) - edX Product,
Nimisha Asthagiri (Deactivated) - edX Chief Architect

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.


Braden MacDonald

Xavier Antoviaque

Nate Aune

Kshitij Sobti

Dean Jay Mathew

Giulio Gratta

Stefania Trabucchi

John Baldwin

Attin Cheng



EOperations and Remote ConfigFred 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



Braden MacDonald

Bill DeRusha (Deactivated)

Nate Aune

Kshitij Sobti

Dean Jay Mathew

Seamus Johnston

Giovanni Cimolin da Silva

Felipe Montoya

Jeremy Bowman (Deactivated)

Ivo Branco

FXBlock SandboxingBraden 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.

Kshitij Sobti

Peter Pinch
Pooja Kulkarni

Ivo Branco

GAPI DocumentationBraden MacDonald - OpenCraftA 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.

Kshitij Sobti

Seamus Johnston

Giovanni Cimolin da Silva

Pooja Kulkarni

Jeremy Bowman (Deactivated)

Ivo Branco

HFrontend Pluggability

Nimisha Asthagiri (Deactivated) - edX
David Joy (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:

  • Frontend plugins on various pages, such as learner and instructor dashboards, that are specific to an open edX instance.
  • Frontend plugins provided by a course team, to execute within learner or instructor pages within that course.
  • Frontend plugins that run within courseware pages.
  • Frontend plugins that require a backend may have the backend executing on an external site.

Braden MacDonald

Daniel Clemente Laboreo

Xavier Antoviaque

Nate Aune

Kshitij Sobti

Laurent David

Felipe Montoya

Ivo Branco

IMicro-frontends and Deployment on Open edXNimisha 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.


Nate Aune - could this be combined w/ the next session?

Kshitij Sobti

Laurent David

JMicro-frontend theming and customizationDavid 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.

  • Look and feel theming
    • Bootstrap overrides
    • Custom CSS
    • Assets (images, fonts, other static media)
  • Copy customization (text resource overrides)
  • Layout customization
  • Feature configuration
  • Other customizations


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.

George Babey (Deactivated)

Braden MacDonald

Daniel Clemente Laboreo

Nimisha Asthagiri (Deactivated)

Xavier Antoviaque

Nate Aune

Kshitij Sobti

Seamus Johnston

John Swope

Giulio Gratta

Giovanni Cimolin da Silva

Felipe Montoya

Stefania Trabucchi

John Baldwin

KWhat 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