SlideShare a Scribd company logo
Mike Bifulco
Open edX Conference 2016
TUTORIAL
THEME CUSTOMIZATION USING EDX’S
NEW COMPREHENSIVE THEMING
I’m Mike.
I build www.thgymnasium.com.
Not an OpenEdX expert (but dangerous).
Not a python expert (yet).
Completely normal amounts of self-esteem.
Hello.
Advanced Rapid Prototyping with Axure
DON’T FORGET THE
SHAMELESS PLUG
livecoding.tv/mbifulco
1. Open edX
2. Devstack on vagrant
3. Dogwood.3
4. We are all on the same team
5. You are smarter than me
Assumptions For This Session
1. State of the Union (as I see it)
2. Talk a bit about theming on Open edX
• Stanford theming
• Comprehensive theming
3. Commiserate
4. Experiment
What We’ll Do Today
WRITE THESE THINGS DOWN
RESOURCES FOR HELP
1. #theming (http://bitly.com/openedx)
2. Edx-code Google Group (groups.google.com/forum/#!forum/edx-code)
3. Readthedocs (edx.readthedocs.io)
4. https://openedx.atlassian.net/wiki/display/SOL/Comprehensive+Theming
5. edX on GitHub (http://github.com/edx/edx-platform/)
6. edX Pattern Library (http://ux.edx.org )
Where To Go When You Need Help
BUT FIRST
What the heck is theming?
IT ALL STARTED
WITH STANFORD.
1. Searches your theme directory for matching template files
2. Renders your templates instead of defaults in /[theme]/templates/* if they
exist
3. Combines your custom SASS with existing SASS
What It Does:
Stanford theming
THEN THINGS GOT
A BIT
COMPLICATED
COMPREHENSIVE
THEMING
1. Searches your theme directory for matching template files
2. Renders your templates instead of defaults in /[theme]/lms/templates/* if they
exist
3. Combines your custom SASS with existing SASS
What It Does:
1. Searches your theme directory for
matching template files
2. Renders your templates instead of
defaults in /[theme]/templates/* if
they exist
3. Combines your custom SASS with
existing SASS
Stanford Comprehensive
1. Searches your theme directory for
matching template files
2. Renders your templates instead of
defaults in /[theme]/lms/
templates/* if they exist
3. Combines your custom SASS with
existing SASS
I PROMISE 

THIS IS A GOOD
THING
THERE ARE SOME
DIFFERENCES
1. Directory structure is slightly changed
2. Relative paths are interpreted differently
3. SASS story slightly changed
4. Comprehensive theming enabled through different feature flags
Differences
SO, HOW DOES IT WORK?
LET’S DO THE THING
Setting up devstack for theming
THEME AT YOUR
OWN RISK
This part of the slide is merely a distraction
1. Stand up devstack
2. Clone [or create] your theme repo
3. Configure devstack to point to your theme
4. Run devstack, debug, slam fists on keyboard, etc.
5. $$$
Steps To Have Had Themed Comprehensively
Stand up Devstack
curl -L https://raw.githubusercontent.com/edx/configuration/master/vagrant/release/
devstack/Vagrantfile > Vagrantfile
vagrant plugin install vagrant-vbguest
vagrant up
vagrant ssh
1. edxapp@:
• paver update_assets lms --settings=devstack
• paver devstack lms
• paver devstack lms --fast
2. vagrant@:
• sudo rm -rf /tmp/*
Useful Commands
https://github.com/edx/edx-platform/pull/12620
THERE ARE MORE CHANGES COMING
edx-platform PR #12620
WL-416: Multi-site comprehensive theming
THAT’S ABOUT IT
Any questions?
IT’S
DEMO TIME

More Related Content

Viewers also liked

Open edX vs Moodle
Open edX vs MoodleOpen edX vs Moodle
Open edX vs Moodle
BeDjango
 
Open edX, first steps
Open edX, first stepsOpen edX, first steps
Open edX, first steps
BeDjango
 
Open edX Overview
Open edX OverviewOpen edX Overview
Open edX Overview
Amish Gandhi
 
Starters with Django
Starters with Django Starters with Django
Starters with Django
BeDjango
 
Open edX: the open and flexible Learning Management System
Open edX: the open and flexible Learning Management SystemOpen edX: the open and flexible Learning Management System
Open edX: the open and flexible Learning Management System
Marc Lijour, OCT, BSc, MBA
 
Guide 2016 : LMS & MOOC "Comment choisir sa plateforme ?"
Guide 2016 :  LMS & MOOC "Comment choisir sa plateforme ?"Guide 2016 :  LMS & MOOC "Comment choisir sa plateforme ?"
Guide 2016 : LMS & MOOC "Comment choisir sa plateforme ?"
FFFOD
 
Fonctionnalités Open edX - LMS et CMS
Fonctionnalités Open edX - LMS et CMSFonctionnalités Open edX - LMS et CMS
Fonctionnalités Open edX - LMS et CMS
Yvain Demollière
 
#OpenEd13 - Pushing EdX to be Open
#OpenEd13 - Pushing EdX to be Open#OpenEd13 - Pushing EdX to be Open
#OpenEd13 - Pushing EdX to be Open
Willem van Valkenburg
 
Formation continue mooc
Formation continue moocFormation continue mooc
Formation continue mooc
Alexandra CODINA
 
Bedjango talk about Git & GitHub
Bedjango talk about Git & GitHubBedjango talk about Git & GitHub
Bedjango talk about Git & GitHub
BeDjango
 
eMadrid 2015 27 01(UC3M) Michael Amigot - Digital badges and latest innovatio...
eMadrid 2015 27 01(UC3M) Michael Amigot - Digital badges and latest innovatio...eMadrid 2015 27 01(UC3M) Michael Amigot - Digital badges and latest innovatio...
eMadrid 2015 27 01(UC3M) Michael Amigot - Digital badges and latest innovatio...
eMadrid network
 
Increasing content reuse and user engagement on Open edX
Increasing content reuse and user engagement on Open edXIncreasing content reuse and user engagement on Open edX
Increasing content reuse and user engagement on Open edX
Jane Park
 
What's new: Open edX Dogwood release
What's new: Open edX Dogwood releaseWhat's new: Open edX Dogwood release
What's new: Open edX Dogwood release
Appsembler
 
Projet MOOC - Formation - Organisation du tutorat et de l'accompagnement
Projet MOOC - Formation - Organisation du tutorat et de l'accompagnementProjet MOOC - Formation - Organisation du tutorat et de l'accompagnement
Projet MOOC - Formation - Organisation du tutorat et de l'accompagnement
Leslie HUIN
 
Presentación "Análisis: Open edX vs. Moodle"
Presentación "Análisis: Open edX vs. Moodle"Presentación "Análisis: Open edX vs. Moodle"
Presentación "Análisis: Open edX vs. Moodle"
INTEF
 
Eucalyptus Release of Open edX
Eucalyptus Release of Open edXEucalyptus Release of Open edX
Eucalyptus Release of Open edX
Appsembler
 
Les MOOC - Education 2.0
Les MOOC - Education 2.0Les MOOC - Education 2.0
Les MOOC - Education 2.0
Eric LEGER
 
Les LMS
Les LMSLes LMS
Les LMS
aligot
 
Open edX Conference 2016 Review
Open edX Conference 2016 ReviewOpen edX Conference 2016 Review
Open edX Conference 2016 Review
Appsembler
 
Former à l'ère numérique
Former à l'ère numériqueFormer à l'ère numérique
Former à l'ère numérique
FFFOD
 

Viewers also liked (20)

Open edX vs Moodle
Open edX vs MoodleOpen edX vs Moodle
Open edX vs Moodle
 
Open edX, first steps
Open edX, first stepsOpen edX, first steps
Open edX, first steps
 
Open edX Overview
Open edX OverviewOpen edX Overview
Open edX Overview
 
Starters with Django
Starters with Django Starters with Django
Starters with Django
 
Open edX: the open and flexible Learning Management System
Open edX: the open and flexible Learning Management SystemOpen edX: the open and flexible Learning Management System
Open edX: the open and flexible Learning Management System
 
Guide 2016 : LMS & MOOC "Comment choisir sa plateforme ?"
Guide 2016 :  LMS & MOOC "Comment choisir sa plateforme ?"Guide 2016 :  LMS & MOOC "Comment choisir sa plateforme ?"
Guide 2016 : LMS & MOOC "Comment choisir sa plateforme ?"
 
Fonctionnalités Open edX - LMS et CMS
Fonctionnalités Open edX - LMS et CMSFonctionnalités Open edX - LMS et CMS
Fonctionnalités Open edX - LMS et CMS
 
#OpenEd13 - Pushing EdX to be Open
#OpenEd13 - Pushing EdX to be Open#OpenEd13 - Pushing EdX to be Open
#OpenEd13 - Pushing EdX to be Open
 
Formation continue mooc
Formation continue moocFormation continue mooc
Formation continue mooc
 
Bedjango talk about Git & GitHub
Bedjango talk about Git & GitHubBedjango talk about Git & GitHub
Bedjango talk about Git & GitHub
 
eMadrid 2015 27 01(UC3M) Michael Amigot - Digital badges and latest innovatio...
eMadrid 2015 27 01(UC3M) Michael Amigot - Digital badges and latest innovatio...eMadrid 2015 27 01(UC3M) Michael Amigot - Digital badges and latest innovatio...
eMadrid 2015 27 01(UC3M) Michael Amigot - Digital badges and latest innovatio...
 
Increasing content reuse and user engagement on Open edX
Increasing content reuse and user engagement on Open edXIncreasing content reuse and user engagement on Open edX
Increasing content reuse and user engagement on Open edX
 
What's new: Open edX Dogwood release
What's new: Open edX Dogwood releaseWhat's new: Open edX Dogwood release
What's new: Open edX Dogwood release
 
Projet MOOC - Formation - Organisation du tutorat et de l'accompagnement
Projet MOOC - Formation - Organisation du tutorat et de l'accompagnementProjet MOOC - Formation - Organisation du tutorat et de l'accompagnement
Projet MOOC - Formation - Organisation du tutorat et de l'accompagnement
 
Presentación "Análisis: Open edX vs. Moodle"
Presentación "Análisis: Open edX vs. Moodle"Presentación "Análisis: Open edX vs. Moodle"
Presentación "Análisis: Open edX vs. Moodle"
 
Eucalyptus Release of Open edX
Eucalyptus Release of Open edXEucalyptus Release of Open edX
Eucalyptus Release of Open edX
 
Les MOOC - Education 2.0
Les MOOC - Education 2.0Les MOOC - Education 2.0
Les MOOC - Education 2.0
 
Les LMS
Les LMSLes LMS
Les LMS
 
Open edX Conference 2016 Review
Open edX Conference 2016 ReviewOpen edX Conference 2016 Review
Open edX Conference 2016 Review
 
Former à l'ère numérique
Former à l'ère numériqueFormer à l'ère numérique
Former à l'ère numérique
 

Similar to EdX Comprehensive Theming Tutorial

Evaluating Base Themes
Evaluating Base ThemesEvaluating Base Themes
Evaluating Base Themes
Emma Jane Hogbin Westby
 
Drupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with ZenDrupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with Zen
Japo Domingo
 
Drupal theming 101
Drupal theming 101Drupal theming 101
Drupal theming 101Exove
 
Scalable CSS You and Your Back-End Coders Can Love - @CSSConf Asia 2014
Scalable CSS You and Your Back-End Coders Can Love - @CSSConf Asia 2014Scalable CSS You and Your Back-End Coders Can Love - @CSSConf Asia 2014
Scalable CSS You and Your Back-End Coders Can Love - @CSSConf Asia 2014Christian Lilley
 
Levelling up your WordPress development workflow
Levelling up your WordPress development workflowLevelling up your WordPress development workflow
Levelling up your WordPress development workflow
daraskolnick
 
BathCamp #32 - CMS Smackdown! - Plone
BathCamp #32 - CMS Smackdown! - PloneBathCamp #32 - CMS Smackdown! - Plone
BathCamp #32 - CMS Smackdown! - Plone
Matt Hamilton
 
Modeling Rich Narrative Content
Modeling Rich Narrative ContentModeling Rich Narrative Content
Modeling Rich Narrative Content
Jeff Eaton
 
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
Tara King
 
Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1
Max De Marzi
 
Child Theme Frameworks
Child Theme FrameworksChild Theme Frameworks
Child Theme Frameworks
ryngrn
 
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 ThemeMinimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Suzanne Dergacheva
 
Adobe DITA World: Templates, DITA, and FrameMaker 2015
Adobe DITA World: Templates, DITA, and FrameMaker 2015Adobe DITA World: Templates, DITA, and FrameMaker 2015
Adobe DITA World: Templates, DITA, and FrameMaker 2015
Publishing Smarter
 
Cis336 (introduction to database w lab – oracle) complete class
Cis336 (introduction to database w lab – oracle) complete classCis336 (introduction to database w lab – oracle) complete class
Cis336 (introduction to database w lab – oracle) complete class
Walter Bartlett
 
Front-end developers - build Magnolia sites faster
Front-end developers - build Magnolia sites fasterFront-end developers - build Magnolia sites faster
Front-end developers - build Magnolia sites faster
Magnolia
 
Cis336 (introduction to database w lab oracle) complete class
Cis336 (introduction to database w lab   oracle) complete classCis336 (introduction to database w lab   oracle) complete class
Cis336 (introduction to database w lab oracle) complete class
bestwriter
 
WordPress Child Theme Workshop
WordPress Child Theme WorkshopWordPress Child Theme Workshop
WordPress Child Theme Workshop
Carme Mias
 
TEI ODD based development
TEI ODD based developmentTEI ODD based development
TEI ODD based development
Eduard Drenth
 
Sample Absolute beginners guide
Sample Absolute beginners guideSample Absolute beginners guide
Sample Absolute beginners guide
sivaprasad balamara
 
How java works
How java worksHow java works
How java works
RaxTonProduction
 

Similar to EdX Comprehensive Theming Tutorial (20)

Evaluating Base Themes
Evaluating Base ThemesEvaluating Base Themes
Evaluating Base Themes
 
Drupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with ZenDrupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with Zen
 
Drupal theming 101
Drupal theming 101Drupal theming 101
Drupal theming 101
 
Scalable CSS You and Your Back-End Coders Can Love - @CSSConf Asia 2014
Scalable CSS You and Your Back-End Coders Can Love - @CSSConf Asia 2014Scalable CSS You and Your Back-End Coders Can Love - @CSSConf Asia 2014
Scalable CSS You and Your Back-End Coders Can Love - @CSSConf Asia 2014
 
Levelling up your WordPress development workflow
Levelling up your WordPress development workflowLevelling up your WordPress development workflow
Levelling up your WordPress development workflow
 
BathCamp #32 - CMS Smackdown! - Plone
BathCamp #32 - CMS Smackdown! - PloneBathCamp #32 - CMS Smackdown! - Plone
BathCamp #32 - CMS Smackdown! - Plone
 
Modeling Rich Narrative Content
Modeling Rich Narrative ContentModeling Rich Narrative Content
Modeling Rich Narrative Content
 
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
 
Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1
 
Child Theme Frameworks
Child Theme FrameworksChild Theme Frameworks
Child Theme Frameworks
 
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 ThemeMinimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
 
Adobe DITA World: Templates, DITA, and FrameMaker 2015
Adobe DITA World: Templates, DITA, and FrameMaker 2015Adobe DITA World: Templates, DITA, and FrameMaker 2015
Adobe DITA World: Templates, DITA, and FrameMaker 2015
 
Cis336 (introduction to database w lab – oracle) complete class
Cis336 (introduction to database w lab – oracle) complete classCis336 (introduction to database w lab – oracle) complete class
Cis336 (introduction to database w lab – oracle) complete class
 
Front-end developers - build Magnolia sites faster
Front-end developers - build Magnolia sites fasterFront-end developers - build Magnolia sites faster
Front-end developers - build Magnolia sites faster
 
Cis336 (introduction to database w lab oracle) complete class
Cis336 (introduction to database w lab   oracle) complete classCis336 (introduction to database w lab   oracle) complete class
Cis336 (introduction to database w lab oracle) complete class
 
WordPress Child Theme Workshop
WordPress Child Theme WorkshopWordPress Child Theme Workshop
WordPress Child Theme Workshop
 
TEI ODD based development
TEI ODD based developmentTEI ODD based development
TEI ODD based development
 
Sample Absolute beginners guide
Sample Absolute beginners guideSample Absolute beginners guide
Sample Absolute beginners guide
 
How java works
How java worksHow java works
How java works
 
How java works
How java worksHow java works
How java works
 

Recently uploaded

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 

EdX Comprehensive Theming Tutorial

  • 1. Mike Bifulco Open edX Conference 2016 TUTORIAL THEME CUSTOMIZATION USING EDX’S NEW COMPREHENSIVE THEMING
  • 2. I’m Mike. I build www.thgymnasium.com. Not an OpenEdX expert (but dangerous). Not a python expert (yet). Completely normal amounts of self-esteem. Hello.
  • 3. Advanced Rapid Prototyping with Axure DON’T FORGET THE SHAMELESS PLUG livecoding.tv/mbifulco
  • 4. 1. Open edX 2. Devstack on vagrant 3. Dogwood.3 4. We are all on the same team 5. You are smarter than me Assumptions For This Session
  • 5. 1. State of the Union (as I see it) 2. Talk a bit about theming on Open edX • Stanford theming • Comprehensive theming 3. Commiserate 4. Experiment What We’ll Do Today
  • 6. WRITE THESE THINGS DOWN RESOURCES FOR HELP
  • 7. 1. #theming (http://bitly.com/openedx) 2. Edx-code Google Group (groups.google.com/forum/#!forum/edx-code) 3. Readthedocs (edx.readthedocs.io) 4. https://openedx.atlassian.net/wiki/display/SOL/Comprehensive+Theming 5. edX on GitHub (http://github.com/edx/edx-platform/) 6. edX Pattern Library (http://ux.edx.org ) Where To Go When You Need Help
  • 8. BUT FIRST What the heck is theming?
  • 10. 1. Searches your theme directory for matching template files 2. Renders your templates instead of defaults in /[theme]/templates/* if they exist 3. Combines your custom SASS with existing SASS What It Does:
  • 12. THEN THINGS GOT A BIT COMPLICATED
  • 14. 1. Searches your theme directory for matching template files 2. Renders your templates instead of defaults in /[theme]/lms/templates/* if they exist 3. Combines your custom SASS with existing SASS What It Does:
  • 15. 1. Searches your theme directory for matching template files 2. Renders your templates instead of defaults in /[theme]/templates/* if they exist 3. Combines your custom SASS with existing SASS Stanford Comprehensive 1. Searches your theme directory for matching template files 2. Renders your templates instead of defaults in /[theme]/lms/ templates/* if they exist 3. Combines your custom SASS with existing SASS
  • 16.
  • 17. I PROMISE 
 THIS IS A GOOD THING
  • 19. 1. Directory structure is slightly changed 2. Relative paths are interpreted differently 3. SASS story slightly changed 4. Comprehensive theming enabled through different feature flags Differences
  • 20. SO, HOW DOES IT WORK?
  • 21.
  • 22. LET’S DO THE THING Setting up devstack for theming
  • 23.
  • 25.
  • 26.
  • 27. This part of the slide is merely a distraction 1. Stand up devstack 2. Clone [or create] your theme repo 3. Configure devstack to point to your theme 4. Run devstack, debug, slam fists on keyboard, etc. 5. $$$ Steps To Have Had Themed Comprehensively
  • 28. Stand up Devstack curl -L https://raw.githubusercontent.com/edx/configuration/master/vagrant/release/ devstack/Vagrantfile > Vagrantfile vagrant plugin install vagrant-vbguest vagrant up vagrant ssh
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34. 1. edxapp@: • paver update_assets lms --settings=devstack • paver devstack lms • paver devstack lms --fast 2. vagrant@: • sudo rm -rf /tmp/* Useful Commands
  • 35.
  • 36. https://github.com/edx/edx-platform/pull/12620 THERE ARE MORE CHANGES COMING edx-platform PR #12620 WL-416: Multi-site comprehensive theming
  • 37. THAT’S ABOUT IT Any questions?