Let's use this time to work together on creating the materials we need to onboard developers and provide the necessary reference material to develop on our platform.
Reference
Goals
- Onboarding
- Onboarding new developers (internal and external)
- Onboarding current developers - to new areas - reference material
- A more approachable structure/direction than the current Onboarding wiki
- Dogfooding our product(s)!
- Keep up-to-date and maintainable
- Refine OEP-19 (Dev Doc) based on actually practicing
- Open edX
- Keep the content generic (for Open edX), but call out edX-cohort-specific details.
- Content
- Current and future architecture state.
- Without overloading with too much information.
- Main content + "aside" with further detail
- Assessments - for some things - not necessarily all
Non-Goals
- Not duplicating documentation
- No videos - since hard to maintain and update.
Cohorts
- edX employees (only if private info is required)
- developers
- non-developers
edX Course
Here are some tasks that can be parallelized and worked on independently. We can break into groups or pair up during the meeting.
High-level Tasks
Task | Who | Notes/Links/etc. |
---|---|---|
Overall structure of course | Brittney Exline (Deactivated), Robert Raposa, Jeremy Bowman (Deactivated), Christopher Lee (Deactivated), Greg Sham (Deactivated) | See below. |
Review the slides in the current presentation and see what's missing | ||
Create edX course in Studio and enable integration with Git | ||
Add speaker notes to current slides (?) |
Content-specific Tasks
Create or transfer content to the course - export diagram, add wording, create assessments, etc.
Task | Who | Notes/Links/etc. |
---|---|---|
Core value proposition and product vision | ||
High-level system diagrams | ||
Devops | ||
Analytics | ||
Courseware and Course Structure | ||
Scalability | ||
DDD | ||
Reactive Manifesto | ||
SOLID | ||
FED | Ari Rizzitano (Deactivated), Nimisha Asthagiri (Deactivated), Douglas Hall (Deactivated) |
|
Possible Outline
Crowd-sourced outline:
- (Section) Introductory
- (Subsection) edx.Org Intro
- Mission, Themes
- (Subsection) Parts of course.
- (Subsection) edx.Org Intro
- (Section) High-level architectural overview
- (Subsection)
- (Subsection) Scale
- (Subsection) Mobile Strategy?
Outline from Current Presentation
- Part 1: High-level overview
- edx Themes
- DDD principles/overview - slides 5-9
- edX.org Core
- Diagram of Core + Customers
- Subdomains high-level diagram
- Subdomains + bounded contexts diagram
- ??? Subdomain interactions
- edx.org Services
- Content diagram
- User diagram
- Data Sources of Truth
- Content Data Flow
- User Data Flow
- edx.org External Services
- LMS/Course Content mini-dive
- Course Structure
- LMS Screenshots
- Content Size (# xblocks per course)
- XBlock Types
- XBlock details
- Course Content Extensions
- Part 2: Scale
- edx.org Usage Growth
- edx.org Content Growth
- Developer Growth
- Web Usage
- Mobile Usage
- Web Performance (New Relic screenshots)
- Reactive Manifesto
- Message Driven (future)
- Scaling in Devops
- Intro to environments, deployments, clusters
- Autoscaling groups and other infrastructure
- Part 3: Technical Details
- edx-platform components
- LTI slides
- Grades slides
- Analytics slides
- Schedules
- XQueue
- XQWatcher Pull Model
- XServer Push Model
- eCommerce
- Forums
- Server-side to Front-end templating
- TODO
- Devops
- SSO & OAuth
- JSInput
- CAPA
- Part 4: Technical Development
- edx.org Server Environments
- Tools & Technology (slides)
- Monitoring and Data Analysis
- Coding Standards
- Testing
- Security and Security Attacks
- API Design
- Part 5: Sustainability
- Case for Architecture
- Developer Documentation