THE STORY OF AN API 
Bertrand Marron, CTO 2014.11.18 @tusbar
• IONIS Education Group 
• Leader of private education in France 
• 20 schools (Technology, Business, Art…) 
• More than 62,000 alumni 
• Inside startup of 10 people 
• Full production (content, pedagogy & platform)
• IONISx launched in Jan 2014 
• Jan 2014: First SPOC (Python for college prep Math teachers) 
• Feb 2014: First blended private course (Math) 
• Mar 2014: First MOOC (Data Science) 
• Now running more than 20 courses
• Active Open edX contributor 
• Responsive theme ( IONISx/edx-theme) 
• XBlocks ( IONISx/xblock-taggedtext) 
• Multiple contributions to the core code
FACT 
More and more people use and setup Open edX 
(different people, businesses, etc.)
TWO ASPECTS Front-end: branding, online presence, … 
Back-end: custom needs, productivity, …
Front-end Back-end 
• Not enough info 
• Not accessible (mobile) 
• No control over what’s 
displayed
Front-end Back-end 
• Not enough info 
• List too long 
• Hard to find a course
Front-end Back-end 
• Not customizable 
• Not actively developed 
• Not very optimized for 
search engines
Front-end Back-end 
• Designed for developers 
• Not actively developed
SOLUTION 
(at least for the front side of things)
ENABLE_MKTG_SITE 
• wiki/Alternate-site-for-marketing-links 
• This is what edx.org uses (I believe)
IN THE END… 
Great platform for education content 
Not for marketing/text content
BROWSE YOUR MODULESTORE 
“how do I list my courses on my website?” 
“what content do I have?”
MODULESTORE API 
• REST API, currently exposing 
• /courses 
• /chapters 
• /sequentials 
• /modules (location based)
MODULESTORE API 
• Built in node.js, on top of IONISx/edx-modulestore 
• Component for browsing and editing modulestores 
• No user management 
• No access control 
• Not designed to replace Studio
DEMO 
A few usage examples 
http://localhost:5000/
HOW WE USE IT 
• Analytics (external lookups, coupled with tracking logs) 
• Reporting (generate course trees, etc.) 
• Administration app: 
• List courses, filter them, link them with other entities 
• Create a course, then give me a link to Studio 
• Front app (list courses with extreme flexibility)
RELEASED TODAY 
Everything is available on Github 
https://github.com/ionisx
WHY EXTERNAL? WHY NOT A PR? 
• Following UNIX philosophy… 
• “Small is beautiful” 
• “Make each program do one thing well” 
• If it needs other data, it communicates with another with text 
• Easier to maintain (really)
@IONISx MERCI ! 
fb.me/IONISx 
IONISx 
IONISx 
Bertrand Marron, CTO 2014.11.18 @tusbar

IONISx – The Story of an API

  • 1.
    THE STORY OFAN API Bertrand Marron, CTO 2014.11.18 @tusbar
  • 2.
    • IONIS EducationGroup • Leader of private education in France • 20 schools (Technology, Business, Art…) • More than 62,000 alumni • Inside startup of 10 people • Full production (content, pedagogy & platform)
  • 3.
    • IONISx launchedin Jan 2014 • Jan 2014: First SPOC (Python for college prep Math teachers) • Feb 2014: First blended private course (Math) • Mar 2014: First MOOC (Data Science) • Now running more than 20 courses
  • 4.
    • Active OpenedX contributor • Responsive theme ( IONISx/edx-theme) • XBlocks ( IONISx/xblock-taggedtext) • Multiple contributions to the core code
  • 5.
    FACT More andmore people use and setup Open edX (different people, businesses, etc.)
  • 6.
    TWO ASPECTS Front-end:branding, online presence, … Back-end: custom needs, productivity, …
  • 7.
    Front-end Back-end •Not enough info • Not accessible (mobile) • No control over what’s displayed
  • 8.
    Front-end Back-end •Not enough info • List too long • Hard to find a course
  • 9.
    Front-end Back-end •Not customizable • Not actively developed • Not very optimized for search engines
  • 10.
    Front-end Back-end •Designed for developers • Not actively developed
  • 11.
    SOLUTION (at leastfor the front side of things)
  • 12.
    ENABLE_MKTG_SITE • wiki/Alternate-site-for-marketing-links • This is what edx.org uses (I believe)
  • 13.
    IN THE END… Great platform for education content Not for marketing/text content
  • 14.
    BROWSE YOUR MODULESTORE “how do I list my courses on my website?” “what content do I have?”
  • 15.
    MODULESTORE API •REST API, currently exposing • /courses • /chapters • /sequentials • /modules (location based)
  • 16.
    MODULESTORE API •Built in node.js, on top of IONISx/edx-modulestore • Component for browsing and editing modulestores • No user management • No access control • Not designed to replace Studio
  • 17.
    DEMO A fewusage examples http://localhost:5000/
  • 18.
    HOW WE USEIT • Analytics (external lookups, coupled with tracking logs) • Reporting (generate course trees, etc.) • Administration app: • List courses, filter them, link them with other entities • Create a course, then give me a link to Studio • Front app (list courses with extreme flexibility)
  • 19.
    RELEASED TODAY Everythingis available on Github https://github.com/ionisx
  • 20.
    WHY EXTERNAL? WHYNOT A PR? • Following UNIX philosophy… • “Small is beautiful” • “Make each program do one thing well” • If it needs other data, it communicates with another with text • Easier to maintain (really)
  • 21.
    @IONISx MERCI ! fb.me/IONISx IONISx IONISx Bertrand Marron, CTO 2014.11.18 @tusbar

Editor's Notes

  • #21 - edX is not a fork => too many things in edX - contribution is difficult => too many things in edX - need more stable APIs => too many things in edX