Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

A glossary of edX variables and other commonly used lingo, with a focus on edX-specific terms. The intention is to be able to refer to a non-human resource when trying to find an explanation for a word you may not know and web/wiki search doesn't help. Feel free to expand, add, or request a definition. Also feel free to suggest a definition format.

...

Additional content created here as well: https://docs.google.com/a/edx.org/document/d/1ASZAi4uEuDwQLKjgCqrVT4uWh7yCk4h7G7K8JtOTo1s/edit?usp=sharing

Term

Area

Definition

ABM

Marketing

[industry] Account Based Marketing (link)

ACE

edX

“Automated Communication Engine”: a facility for sending emails and other notifications. https://github.com/edx/edx-ace

ADR

edX Eng

[Industry] “Architectural Decision Record”. A short document describing a technical design decision.

[edX] They are stored alongside the code they describe. https://open-edx-proposals.readthedocs.io/en/latest/oep-0019-bp-developer-documentation.html#adrs is the OEP describing our ADR process.

Alton

Eng

[edX] A bot which sits on Slack and can run management commands for us via @alton tag. Can be useful to find out what code is live in prod.

AMI

Eng

[Wikipedia] “Amazon Machine Image”. An Amazon Machine Image (AMI) is a special type of virtual appliance that is used to instantiate (create) a virtual machine within the Amazon Elastic Compute Cloud ("EC2"). It serves as the basic unit of deployment for services delivered using EC2.

An AMI represents all the software that needs to run on an Amazon Cloud machine. ‘Building an AMI’ means creating a full stack, from operating system and services all the way up to apps, in order to start it running on a new AWS server.

[edX] We use AMIs to deploy most of the applications served by edX to power edx.org

Ansible

Eng

[Industry] Ansible is an automation tool used in our continuous delivery / release pipeline. A tool to automatically run scripts to build up a new server.

APAC

Marketing

[industry] Asia Pacific (wikipedia)

AOV

Finance

[industry] Average Order Value tracks the average $ amount spent each time a customer places an order. (link)

ARR

Finance

[industry] Annual Recurring Revenue

ASG

Eng

[Industry] “Auto-Scaling Group” A collection of machines at Amazon (our cloud) that grows and shrinks as needed to meet demand.

ASP

Finance

[Industry] Average Selling Price (link)

AWS

[Industry] “Amazon Web Services”.

[edX] It’s where we host all of our applications and servers in the cloud.

Blended Development

Eng

[edX] A project style with edX direction and funding, and a blend of edX and external engineering.

Branch

Eng

[Industry] A git term: A set of related code files that represents a version of a software package. The main branch of a repo is usually called “master” or “main”. Each branch represents a set of changes relative to that master or another branch. Branches can be tiny (a single developer working on a single file) or huge (each community release of the Open edX platform is represented as a branch with thousands of files).

If the branch is really big, and someone else is taking over the new branch, this is called a ‘Fork'

BST

? “Buy-Sell-Trade”?

CAB

edX

[edX] Corporate Advisory Board

CAC

Finance

[industry] Customer Acquisition Cost is the cost of winning a customer to purchase a product/service. As an important unit economic, customer acquisition costs are often related to customer lifetime value (CLV or LTV). (link)

CAPA

edX Eng

“Computer-Assisted Personalized Approach”. A "CAPA problem" usually refers to a common problem type (like multiple choice) which has features like hints, reset, and show answer. The name comes from the LON-CAPA system (an open source learning platform from MSU), which we copied much of the file format from.

CMS

Learning

[Wikipedia] “Content Management System” A content management system (CMS) is a computer application that allows publishingediting and modifying content, organizing, deleting as well as maintenance from a central interface. Such systems of content management provide procedures to manage workflow in a collaborative environment. These procedures can be manual steps or an automated cascade. CMSs have been available since the late 1990s.

[edX] CMS usually refers to edX Studio or http://studio.edx.org

Codejail

edX Eng

[edX] The service that executes instructor-written or student-written Python code for Python-graded problems. It provides security so that untrusted code can be executed safely.

Codejail errors are errors that occur in the Python evaluated input problem in the LMS. If you're seeing this error it means that students are attempting this class of problems but the python code that the instructor wrote to evaluate the answer is failing in some way. If the problem uses too much real time (runs too long), it ends with a status of -9, and there is a clear log message indicating that we are killing it. If it runs out of memory, it ends with a status of 1 or -9, depending on how quickly the process hits the limit. In that case, AppArmor kills the process.

Cohort

Learning

[Industry] A group of learners who participate in a class together. Learners who are in the same cohort can communicate and share experiences in private discussions.

Cohorts are an optional feature of courses on the edX platform. 

Common Cartridge

Learning

[Industry] An IMS standard for course content.

[edX] We have a tool for importing Common Cartridge content into edX courses.

Contentful

Eng

[Industry] The CMS product that powers the edx.org homepage and marketing sites.

course_id

edX Eng

[edX] A unique identifier of a course. The course_id is the same as a course.id where course is a Course object. There are two types of course_ids. (Insert explanation of the two types split vs mongo).

Old course_id format: {school}/{course}/{run}

Example: edX/DemoX/Demo_Course

New course_id format: course-v{version number}:{school}+{course}+{run}

Example: course-v1:MITx+6.00.2x_3+1T2015

  • Commonly used in: edx-platform

course_key

edX Eng

[edX] Refers to base CourseKey object. Can be constructed via parsing a course_id (above).

For details on construction, see https://github.com/edx/edx-platform/wiki/Opaque-Keys-(Locators)

CPS

edX

“Content and Partner Support”: the edX department responsible for relationships with partner institutions, and content acquisition. Used to be called Ed Services.

CR

edX

Customer Request. For more info see Customer Request Process Documents

cs_comments_service

edX Eng

[edX] The cs_comments_service is a separately deployed service for the edX forums written in Ruby.

CSR

Business

[industry] Corporate Social Responsibility (link).

CSS

Eng

[Industry] The web language that defines the styling for web pages: fonts, colors, layouts, etc.

DDT

Eng

[Industry] DDT (data-driven tests) is a 3rd party Python library that edX uses to run the same unit tests repeatedly with different input data. It provides more readable output on failures to find errors than simply running the tests in a loop.

DE

edX

[edX] Data Engineering. See DE team wiki space

Django

Eng

[Industry] The web application framework that powers course delivery on edx.org.

django_comment_client

edX Eng

[edX] The django_comment_client is an application in the edx-platform repository responsible for communicating with the seperately deployed cs_comments_service. The discussion API and the browser forums send their forums requests to the django_comment_client which then in turn sends those requests to the cs_comments_service which is written in Ruby.

Drupal or Drupal Site

Eng

[Industry] Drupal is a CMS (content management system) software.

[edX] At edX, we used to use Drupal to run the http://edx.org website. It is separate from the courses.edx.org website where our LMS edx-platform is served. This separation enables the marketing side of the website to make updates that are not edx-platform related and unrestricted to the release cadence. Drupal was retired at edX in September 2020.

DS&A / DSA

edX

[edX] Data Science & Analytics. See DS&A team wiki space

DSL (Jenkins)

Eng

DSL in terms of the Jenkins world stand for "Domain Specific Language" which "allows users to write Job DSL scripts in a groovy-based language."

More details can be found here: https://github.com/jenkinsci/job-dsl-plugin/wiki/Jenkins-Job-DSL-Architecture  

Duck Punching

Eng

Duck punching is to change the default behavior of something. If it walks like a duck, and talks like a duck, then it's a duck – but if you don't like the sound it makes, you keep punching it until it makes the sound you want. In dynamic languages (such as Python) you can alter key components to make them do something different to make it appropriate for your code. See also Monkey Patch

Ed Services

edX

“Educational Services” the old name for the CPS department.

EDC

edX

“Environment, deployment, and cluster” A subsection of our AWS world to deploy to (for example, stage-edx-ecommerce)

edx_video_id 

edX Eng

A unique identifier for a video asset. A video can have multiple encodings but will have the same edx_video_id. An edx_video_id is assigned when a video is uploaded through the video pipeline. Course authors can then use this edx_video_id to select videos in studio.

  • Commonly used in: edx-platform, edx-val

  • Examples: RICADENVT314-V002700

ESRE

edX

[edX] The “Embedded Site Reliability Engineering” team.

Framework

Eng

[Industry] A publicly available code library or platform that implements common behavior needed by many applications. For example, Django is a web application framework that underpins many web sites.

GA (Google Analytics)

Eng

[Industry] GA is the acronym for Google Analytics. Google Analytics is a freemium web analytics service offered by Google that tracks and reports website traffic.

git

Eng

[Industry] A tool for storing and versioning files, usually program source code.

GitHub

Eng

[Industry] A website where many open source projects keep their code. edX uses GitHub to store, update, distribute, maintain, review, and document all of its software, including its private code. GitHub provides git services.

GoCD

Eng

[Industry] A continuous deployment tool. An automation tool that allows code packages to be built and deployed to Amazon automatically.

[edX] The service that deploys code to production. “The GoCD pipeline” is a series of steps for packaging and deploying the code.

GTA

edX

[edX] Grades, Teams and Assignments – a squad in the Programs theme.

HLS

Eng

[Industry] HTTP Live Streaming breaks down the overall stream into a sequence of small HTTP-based file downloads, each download loading one short chunk at a time. As the stream is played, the client may select from a number of different alternate streams containing the same material encoded at a variety of data rates. (e.g., Quality settings in a youtube video: 480p, 720p, 1080p)

IDA

Eng

Independently Deployable Applications. IDAs are separate applications that make the edX platform into a set of micro-services. The top-level application has a different code repository than other IDAs. Its top-level code can be changed and deployed without effecting other IDAs. An IDA typically shares base Python modules with other IDAs, yet it remains separate from other IDAs.

IMS

Learning

[Industry] “IMS Global Learning Consortium”. The technical organization behind ed-tech standards like LTI and Common Cartridge.

[edX] edX is a member of IMS.

Jenkins

Eng

[Industry] An automation tool which allows standard tests or actions to be run at the click of a button or an API call. For instance, some of our code tests are run on Jenkins once a pull request is opened on GitHub. We also use it to create new sandboxes and other devops needs.

KPI

Finance

Key performance indicators (KPIs) refer to a set of quantifiable measurements used to gauge a company’s overall long-term performance. KPIs specifically help determine a company's strategic, financial, and operational achievements, especially compared to those of other businesses within the same sector. (link)

LMS

Learning

[Wikipedia] “Learning Management System” A learning management system (LMS) is a software application for the administration, documentation, tracking, reporting and delivery of electronic educational technology (also called e-learning) education courses or training programs.

[edX] LMS in our case usually refers to the edX platform or http://courses.edx.org

LTI

Learning

[Industry] “Learning Tools Interoperability” An IMS specification that connects learning systems, such as a learning management system (LMS), with external service tools in a standard way across learning systems. Learn more at IMS Global, the consortium that supports this standard and certifies products leveraging LTI. (e.g., leveraging a Blackboard collaboration tool in an edX course.)

LTV

edX

[edX] Lifetime Value

Mako

Eng

[Industry] Mako is a 3rd party Python template language that edX uses in a variety of different ways.

MAU

Finance

[industry] “Monthly Active Users” is a key performance indicator (KPI) used by social networking and other companies to count the number of unique users who visit a site within the past month. Websites generally recognize monthly active users via an identification number, email address, or username. (link)

MFE

Eng

[Industry] Micro-frontend (link1, link2)

MQL

Marketing

[industry] Marketing Qualified Lead (link)

Milestones

edX Eng

A feature in which there are milestones that are set to be 'required' that will do a certain action (such as blocking content) if that milestone has not been 'fulfilled'. You can either set a milestone to either `require` or `fulfill`, thus milestones that are required can be fulfilled. More documentation here https://github.com/edx/edx-milestones. An example would be an entrance exam which uses the milestones feature. A course will 'require' an entrance exam and unless the student 'fulfills' the entrance exam, the student is blocked from viewing the course content.

moat

Finance

An economic moat is a distinct advantage a company has over its competitors which allows it to protect its market share and profitability. It is often an advantage that is difficult to mimic or duplicate (brand identity, patents) and thus creates an effective barrier against competition from other firms. (link)

Monkey Patch

Eng

[Wikipedia] A Monkey Patch is a way for a program to extend or modify supporting system software locally (affecting only the running instance of the program). See also Duck Punching

MVP

Product Delivery

[Industry] A “Minimum Viable Product” has just those core features sufficient to deploy the product, and no more.

New Relic

Eng

[Industry] Accessible at newrelic.com, this website is an SasS for software analytics. Analytics information can be obtains from the website such as response times, CPU load, transaction data, error logs, and more. New Relic for edX is connected to production, stage, edge, and loadtest environments for monitoring their status.

Details on how to gain access are on the developer onboarding page.

OEP

edX Eng

[edX] “Open edX Proposal” See http://open-edx-proposals.readthedocs.io/en/latest/oep-0001.html for a full description. Summary: OEP (pronounced “oh-epp”) stands for Open edX (Enhancement) Proposal. An OEP is a document that details a specific technology decision being made by the Open edX community, in the form of a best practice, architecture design, or process adjustment. An OEP should provide the use cases and rationales that surround that choice. OEPs are not the only way for a change to be made to Open edX, however, the goal is to create a collection of OEP documents as a repository or knowledge archive of large and broadly relevant choices made for the platform.

Opaque keys

edX Eng

Opaque-keys provides the ability to create and introspect course and xblock identities through a clear and consistent API. See the code's docstrings for more information.

See the edx-platform wiki documentation for more detail.

OSPR

Eng

“Open Source Pull Request” A pull request that is submitted by someone that is a part of the broader open source community and not an employee of edX.

Piñata

edX Eng

[edX] (just a real piñata) We have a tradition of celebrating the removal of major obsolete components with a piñata.

PM

edX

[edX] In Ed Services this means Partner Manager - used to mean Program Manager

[edX] In Product or Engineering this means Project Manager or Product Manager

prod / production

Eng

The set of servers running our live sites, edx.org

Pull Request

Eng

[Industry] A request to ‘pull’ a set of code changes (a commit) from one branch to another. When a developer wants to change code, they create a pull request, which can then be reviewed, approved, and merged into the master branch.

RCA

Agile

[Wikipedia] “Root Cause Analysis” - a method of problem solving used for identifying the root causes of faults or problems.

RFM

Marketing

[industry] “Recency, Frequency, Monetary Value” (link)

ROW

Finance

[industry] “Rest of World”

Sass

Eng

[Industry] A more convenient language than CSS for defining web page styling.

SCORM

Learning

[Industry] “Sharable Content Object Reference Model” An ed-tech interoperability standard created by the US government: https://adlnet.gov/projects/scorm/ It includes a standard for course content.

SFE

edX Eng

[edX] “Studio Frontend” A new React/Redux repo for an updated front end for Studio

Repo: https://github.com/edx/studio-frontend

Course Hierarchy:
Section (also Chapter in OLX)

Subsection (also Sequential in OLX, Learning Sequence in other places)

Unit (also Vertical in OLX, also Learning Content Page in other places)

Component (also xBlocks in OLX)

edX

Section: The highest organizational wrapper for content in edX courses. (ex: Week 1)

Subsection: A second structural grouping for content in edX courses that can be marked as being graded and having a due date. (ex: Week 1 > Learning Sequence A) We have also used in various places the term “Learning Sequence” to convey this.

A subsection can be accessed by clicking on the selectable outline items in the Course Home page. While viewing a given learning content page you are able to see all other selectable pages int the subsection / learning sequence.

Unit: A unit is a specific single page in a learning sequence / subsection. These can have type of: Read (Text) , Watch (Videos), Do (Problems). If a page has only text it shows the read icon, but video and problems override this icon if either if present on the page.

Component: An individual block of content (ex: video, problem, text, etc), added to unit pages in a course.

SLO

Eng

“Service Level Objectives”

SQL

Marketing

[industry] “Sales Qualified Lead” (link)

SQL

Eng

[Industry] “Structured Query Language” A programming language used to write database queries.

stage / staging

A set of servers we use to test versions of software before they go to production.

Tableau

Eng

[Industry] Tableau is edX’s primary enterprise reporting tool. Tableau has two sub-tools: Tableau Server is an online tool that allows sharing of visualizations and some data exploration, and Tableau Desktop is a desktop-based tool for power users. More info: Tableau license policy

Toggle

Eng

A flippable switch in our code that we can use for enabling and disabling a feature or behavior at run-time.

Also known as: Feature Toggle
See also: Waffle

TTM

Finance

[industry] Trailing 12 Months (link)

usage_id 

edX Eng

[edX] An identifier (unique?) for an XBlock. 

Format: i4x://{course_id}/{block_type}/{block_id?}

Example: i4x://edX/DemoX/problem/c554538a57664fac80783b99d9d6da7c

  • Commonly used in: edx-platform

USP

Marketing

[industry] Unique Selling Point or Unique Selling Proposition (link)

VAT

Finance

[industry] Value-Added Tax (link)

VideoLocker

edX

[edX] The original name for the mobile application which was outsourced to Clarice. The original mobile application only allowed a student to view the videos in a course.

VUD

edX

[edX] Verified Upgrade Deadline

Waffle

Eng

[Industry] A Python library for implementing run-time flippable switches.

See also: Toggle

Xblock

[edX] EdX’s component architecture for writing course components: XBlocks are the components that deliver course content to learners. Third parties can create components as web applications that can run within the edX learning management system.

rca


Terms Needing Definition & Addition: 

  • Alton

  • FBE

  • Modulestore

  • loncapa / capa

  • Contentstore

  • Org/Course/Run

  • Acceptance Tests

  • Gevent

  • Eventlet

  • Greenlet

  • Co-routines

  • WSGI

  • EASE

  • CRUD

  • Upsert

  • Optimizely

  • JMeter

  • SEO

  • XModule

  • XModuleDescriptor

  • Memoize

  • AMD

  • require.js

  • Semantic Versioning

  • Acid XBlock

  • YAML

  • HAR file

  • Paver

  • Rake

  • Vagrant

  • Jenkins

  • BokChoy

  • GridFS

  • gunicorn

  • nginx

  • Jasmine

  • JSHint

  • IOPS

  • Splunk

  • New Relic

  • otto

  • RTL

  • FedX

  • Segment

  • HubSpot

  • ZenDesk

  • prod

  • snowflake

  • stitch

  • vertica

  • ubuntu

  • Kubernetes

  • Atlantis

  • Terraform