ionisx – the story of an api
DESCRIPTION
Talk I’ve given at #openedxcon on November 18th 2014.TRANSCRIPT
THE STORY OF AN API
Bertrand Marron, CTO @tusbar2014.11.18
• 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
FACTMore and more people use and setup Open edX
(different people, businesses, etc.)
TWO ASPECTSFront-end: branding, online presence, …
Back-end: custom needs, productivity, …
• 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
Front-end Back-end
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
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)
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)
MERCI !@IONISx
fb.me/IONISx
IONISx
IONISx
2014.11.18Bertrand Marron, CTO @tusbar