Picture of Chris Jones
Initial code review - Feedback
by Chris Jones - Friday, 13 September 2013, 10:49 AM

After going trough the Adapt source and the sample 'vanilla' course we got a good feel for the framework and understood how to produce new courses and how we could customise the course to fit with own own unique designs.


  • SCORM support - this didn't appear to be enabled in the vanilla course and we couldn't see how to enable it. Spoor.js never seemed to get initialised, so I assume that it is just not included in the sample. It would be good to see an example with SCORM enabled.
  • ID are a pain as they are required and need to be in alphabetical order. Would be good if they are auto-generated if not specified.


  • Article and block level, locking/unlocking based on the completion status of previous (or possible specified by ID) block/article. I'll try to post a thread on this and some of the ideas we discussed with Daryl the other day.
  • Topic level seems unneccessary, would be good if it was optional.
  • Would be good if there were CSS classes for module, page, topic etc applied to views so we can hook into them for styling.
  • It would be good if we could change the colour of the icons, using a font-based icon library like Font-Awesome would make this real easy.
  • Layout values should default to full width or left if they are omitted.
  • Use SASS
  • Option to install multiple themes and pick one to apply.


 Generally it was a good experience and the code was clean and easy to understand. Given that locking is (re)introduced and SCORM enabled then  we could theoretically start using it in production very soon.

Picture of Daryl Hedley
Re: Initial code review - Feedback
by Daryl Hedley - Friday, 13 September 2013, 11:26 AM
  • CSS classes for page already exist. But you're right. It would be nice for menus (modules/topics) to have classes too.
  • We had all of our icons as fonts. But we found as a business our Art Directors would prefer detailed icons. Also font icons are not accessible in older browsers (Mainly thinking IE7...). But we could argue that IE7 is actually that accessible. Completely up for debate and maybe this is something that Themes can control?
  • I agree with layout defaults should default unless specified.
  • SASS is going to be used for all core CSS files. Themes, Menus can use plain CSS.

In terms of unlocking - We're currently developing something similar so will keep you updated with this.

Scorm needs to be initialized in the body tag of the HTML.

When we build a course we normally start from the highest level of modules, topics or pages. So if we have two levels we create a Topic Menu and make Adapt navigate there instead of going to a Module Menu.

Something like below will need to be added to the index page after Adapt is created.


Adapt.on('dataReady', function(){
Adapt.Router.navigate('#/m05/t05', {trigger:true});

Picture of Chris Jones
Re: Initial code review - Feedback
by Chris Jones - Friday, 13 September 2013, 12:14 PM

Cool Thanks for that. I'll have a play later.

Font Awesome boasts IE7 support, but I haven't personally tested how good the support is. I totally agree that control for that kind of visual should be handed off to the Theme. 

Picture of Daryl Hedley
Re: Initial code review - Feedback
by Daryl Hedley - Friday, 13 September 2013, 1:24 PM

What's nice about the new folder structure is that no templates sit in core. So the page, article, block, nav templates all sit in the themes folder to customisation is not limited. This will allow the developers to theme font icons or use a sprite sheet and even a combination.

With regards to font icons and IE7. Support is there but the way font icons are implemented is through using the css 'content' attribute. This hides it away from screen readers. IE7 I believe, actually puts the font symbol into the element so it's picked up in a screen reader. Also windows phones don't support @fontface or custom fonts. I know when we research the figure was around 15% usage in the UK.

This is probably something that would go in to the readme.txt or info file each theme will have.