Description / Desired Outcome
1. Expected Outcome On the Day
2. Expected Activities After the Day
Develop a plugin system for Tutor
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.
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
- Expected Outcome on the day: Integration of a 3rd-party feature as a plugin in Tutor.
- Expected activity after the day: write and publish the plugin specification as well as a plugin example.
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|
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."
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.
message Marco in Slack to suggest topics / sub-groups!
- Topics TBD
|C||Credentials & Badges: Now / Next|
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?
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,
Greg Sham (Deactivated) - edX Product,
Nimisha Asthagiri (Deactivated) - edX Chief Architect
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.
Dean Jay Mathew
|E||Operations and Remote Config||Fred Smith (Deactivated)|
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.
Bill DeRusha (Deactivated)
Dean Jay Mathew
Giovanni Cimolin da Silva
|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.
Giovanni Cimolin da Silva
Nimisha Asthagiri (Deactivated) - edX
David Joy - 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.
Daniel Clemente Laboreo
|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 - 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.
Daniel Clemente Laboreo
Nimisha Asthagiri (Deactivated)
Giovanni Cimolin da Silva
|K||What comes after XBlock?||Dave Ormsbee (Do Not Use) (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 types -- videos, peer assessments, simulators of all sorts, etc. As Open edX's first and arguably most successful plugin mechanism, it is the backbone of today's courseware experience.
Yet XBlock has problems. The runtime it uses in edx-platform is difficult to work with because of tight coupling to storage and various compatibility shims. But even if that code is cleaned up, we will still only be achieving an architectural pattern set down in 2012. Front end technology has advanced considerably since then.
The vision for XBlock was to provide a pluggable, composable system that would enable developers to create amazing courseware experiences. It should take care of the boring problems at scale (grading queues, student state, etc.) and allow developers to focus on the interesting pedagogical problems instead.
How would we approach this problem if we were starting over today? Web components? Does it need to be tied to storage or a server runtime at all (or only optionally)? If it was a set of front end components with optional backend services, what would some of those basic pieces look like and how would they interact? Can we reuse low level edx-platform services while bypassing the existing Modulestore and XBlock runtime?
Expected Outcomes On the Day
- Brainstorming ideas
- Gathering requirements, pain points
- Forming an interest group
Expected Outcomes After the Day
- A new plugin framework for courseware?
|L||Governance models||Nate Aune - Appsembler|
There was a governance workshop on 4/2/2015 to discuss the Open edX Governance Policy and related issues with the goal of bettering governance processes.
The next time we discussed governance was at a session at the DevSummit last year (2018) in which we discussed various governance models for Open edX. John Mark's notes from that session.
One of the outcomes of that discussion was that . Maybe this openedx github account or friendsofopenedx is where these could live?
Since the new open.edx.org site was launched, the pages on governance seem to be 404ing.
My hope for this session is that we could rectify these missing governance pages, and create a definitive doc on Open edX's governance policy, or if one doesn't exist, form a working group among Open edX community members to draft one.
See the Docker Governance Advisory Board as an example of what I would hope would come out of this. And the notes, DGAB charter, presentations and action items.
|M||Open edX developer onboarding experience||Nate Aune - Appsembler|
Jono Bacon gave the keynote Building a Community Exoskeleton at the Open edX conference 2016 at Stanford, and he talked a lot about making a smooth onramp for people new to the community.
I'd like for us to use his model to create a user-centered approach to make Open edX more accessible, less intimidating, and as a result, grow the community with more developers and contributors.
I gave a workshop at last year's conference "Getting Started with Open edX Development", and I'm repeating this workshop again this year. Nimisha has also been spearheading an Open edX Architecture Course.
I'd like for us to put our heads together and provide a smooth onboarding for developers new to Open edX who want to learn the platform for use at their own organization and potentially become contributors.
My desired outcome is that we would have 1) a roadmap for someone new to Open edX, and the steps they would go through to become proficient and 2) an outline for an introductory course, that we could then go home and start putting together the content, exercises and other materials.
This course could be offered under a Creative Commons license to spread the knowledge about Open edX development.
|N||Authoring Experiences on Open edX|
Shelby Quinn (Deactivated) - edX Product,
Albert (AJ) St. Aubin (Deactivated)- edX Engineering
(This is currently planned as a double long 3hour session organized into two sections, allowing others to join one or both parts depending on their schedule.)
The goal of this session is to get feedback and input on the primary challenges authors face, helping us advance the platform direction and development speed for authoring improvements as a community. To start each of the two summit sections the edX product team will share current data or representations of the authoring and product challenges we have seen to help organize our discussion on how to move forward.
Half 1: Authoring Challenges and Community Breakouts
The first hour and a half is focused on key authoring challenges at the course & program levels, with the majority of time set aside to work in smaller groups on a few areas within authoring.
Authoring Concept Areas and Breakouts:
- Speed of Authoring
- Quality Content
- Embedded Best Practices
- Feedback Loops
- Collaboration & Community
- Supporting Learners @ Scale
- Integrations & Extensions
- Course Level
- Program Level
Half 2: Platform Conceptual and Architectural Review
The second half of the summit is focused on how we can evolve our authoring experiences on Open edX to incorporate the latest product and architectural thinking. We hope to take advantage of the discussions, use cases, and ideas from part one in this discussion.
(More details here soon)
|O||Piloting a MOOC using EdX available reports - from the teacher's standpoint how easily get usable analytics||Laurent David|
Although there are other several data source that can be used to see what is happening on a course, we would like to concentrate on what is currently available to a Teacher/Staff through the instructor Dashboard (grade report, list of students, cohorts...).
From this standpoint, participants will be asked to contribute ideas into new visual ways for available data either inside edX or outside (as an standalone tool).
• Session 1 (1 hour): Discussion on what can be done with available data and type of information one can easily retrieve
• Session 2 (30 mins): How to integrate efficiently additional dashboards or similar analytics tools in the edX ecosystem.
- Useful set of graphical representation of available data (starting from existing ones provided by MOOC Pilot for example)
- Ways to extend edX instructor Dashboard for such analytics and other similar needs
|P||Multi-tenancy in Open edX using ||Nate Aune||Maxi gave a talk at Open edX Conference 2018 called Challenges of Multi-tenant Open edX (see video recording and slides). I'd like to get people together who are using the microsites framework in Open edX (Appsembler, eduNEXT, Proversity, Learning Tribes), or want to use it, to discuss challenges and how we can work together to overcome them in a collaborative fashion, rather than each company reinventing the wheel.||Stefania Trabucchi|
|Q||Open edX Analytics Collaboration||John Baldwin||We had some good discussions at Open edX Conference 2018 Developer Summit on analytics. I'd like to get people together to talk about needs, what folks have developed or are developing, using this knowledge to help build analytics as a community collaborative effort.|
- We learn what other community members needs are that not currently met and what others have developed or are working on for analytics tools
- Ideally we begin more collaboration in growing and evolving analytics for Open edX
|R||Diving into edX end to end tests as an external contributor||Silvio Tomatis|
edX automatic tests are currently run on a Jenkins instance run by edx on https://build.testeng.edx.org/.
It's currently hard for an external contributor to run these tests.
The end to end tests at https://github.com/edx/edx-e2e-tests could potentially be very useful to test deployments of edX. The tutor project, for instance, could benefit from a test suite that exercises all the moving parts it assembles (e.g. elasticsearch/celery).
The current documentation is very terse on this matter.
Automated tests have a great potential to make it easier to contribute to the project, but in their current state they're hard to run unless you're very familiar with them.
I'd like to chat with the people involved in test development and CI setup to understand the challenges and current shortcomings, and propose a travis (or some other widely available free CI system) solution to
allow external contributors to easily run them.
|Have some edx browser tests running on a public CI provider (like travis-ci) and/or produce documentation|
about how they should be run.