Picture of Suresh Kumar
How to work with the framework?
by Suresh Kumar - Monday, 13 March 2017, 2:01 PM
 

I have installed the authoring tool (using developer’s installation server). I can work with the authoring tool, creating courses, download or export them. 

I am wondering how to work with the framework? I can download a course and view the output, I hope this downloaded package is not the one that can be used if i need to do any custom work. I hope that the exported version is the one needs to be used for customization. 

So, I have exported a course from the authoring tool, unzipped the folder and run the course after the following steps are done.

  1. npm install
  2. grunt build
  3. grunt server

Now, there are two course copies in the unzipped folder. One from build/course and another is src/course. If i need to customize the course (for example adding/editing the look and feel of the component/theme updates) using this exported version, how/which folder should I need to do this in the exported package? Is this the right way to customize the course? Please suggest. Thanks.

Picture of Matt Leathes
Re: How to work with the framework?
by Matt Leathes - Monday, 13 March 2017, 2:56 PM
 

Hi Suresh

Hopefully the Exporting Course Source Code wiki page should tell you all you need to know...

Picture of Suresh Kumar
Re: How to work with the framework?
by Suresh Kumar - Monday, 13 March 2017, 5:31 PM
 

Thanks Matt.

Picture of Suresh Kumar
Re: How to work with the framework?
by Suresh Kumar - Friday, 17 March 2017, 8:10 AM
 

Hi Matt,

I am wondering how to make use of the framework as a developer.

Does a developer use the framework just to develop/modify the plugins/components/themes? OR also build courses/pages from scratch? How does it work?

My understanding so far is that,

1. Create course and pages using the authoring tool hosted on a server.
2. Export the course and work on the local copy to make edits to the components/themes. 
3. Test if the modifications work fine on the course. (Using grunt build / grunt server)
4. Finally, zip the components/themes which are modified and upload it on the authoring tool. So that, the customized plugins are available to the content editors who use the authoring tool primarily. 

Please suggest if the above understanding and the work flow is correct. Thanks. 

Picture of Matt Leathes
Re: How to work with the framework?
by Matt Leathes - Friday, 17 March 2017, 10:01 AM
 
Does a developer use the framework just to develop/modify the plugins/components/themes? OR also build courses/pages from scratch?

Both of those. Here at Kineo we do quite a lot of bespoke e-learning so we generally work directly with the framework when building courses as it's far easier to customise functionality that way. The authoring tool is most efficient if you are using plugins out-of-the-box.

We also build a lot of courses that have multiple modules (SCOs) based on the same source - something that is significantly easier to do with the framework although you need to use our RUB buildkit rather than the one that comes with Adapt to enable this.

And, as things stand, using the framework directly is better if you're using version control.

The workflow you describe sounds good to me. Two things I would mention:

  1. Remember you need to increment the version number in bower.json in order to be able to upload a new version into the authoring tool
  2. If you have file access to the authoring tool server you can just amend the plugin/theme files directly. You only need to upload updates through the plugin manager when you have amended the plugin's properties.schema - and, I would guess, if you're adding a new plugin
Picture of Suresh Kumar
Re: How to work with the framework?
by Suresh Kumar - Friday, 17 March 2017, 12:10 PM
 

Thanks Matt. That is helpful. A few more clarifications.

1. When you say “work directly with the framework when building courses”, in case the course will be managed by a content editor (who does not aware about the framework) in the future, how does it work? Should the course updates be managed only by using the framework? OR would there be any ways to manage the course updates using the authoring tool end by a content editor?

2. Just would like to confirm about the framework:
We get the following folder after the successful installation of the authoring tool and the framework.

/Users/suresh/AdaptProjects/adapt_authoring-master/adapt_authoring/adapt_framework

So, this is the framework that i need to use to build courses directly. Is this correct?
Is this the folder that needs to be used with version control?

3. The folder path (mentioned in #2) and the one that we get when export a course from the authoring tool have the same file structure. Is there any significant difference between these two?

Picture of Matt Leathes
Re: How to work with the framework?
by Matt Leathes - Friday, 17 March 2017, 1:46 PM
 

Hi Suresh

No problem

1. for the moment, if you build a course in the framework directly it has to stay in the framework. however, I know 'course import' is on the roadmap for the authoring tool.

2. Whilst you might be able to use that folder to build courses directly, you certainly shouldn't do it from that location (possibly you could copy it and then use it). Typically if you want to start building a course in the framework you do $ adapt create course from the command line. If you want to take a course that you've started in the authoring tool and switch to using the framework only, follow the instructions here. In terms of version control, you would typically put all the files and folders except the node_modules folder into version control. For example, here's a course I built to use as a demo at the recent Adapt Meetup; I have highlighted those files & folders that I would put under version control:

screenshot of files showing which should be under version control

3. I don't think so but you are reaching the limits of my knowledge of the authoring tool here. As I mentioned we mainly use the framework directly so although I have used the authoring tool on a couple of projects I was not involved in the setup and have certainly never been involved in the coding of the AT so I'm little more than a beginner user really!

Picture of Suresh Kumar
Re: How to work with the framework?
by Suresh Kumar - Monday, 20 March 2017, 1:51 PM
 

Thanks Matt! 

Any suggestions on the version control software? I am very new to this though. I read that you had mentioned about Subversion in one of the other forum questions. Would Subversion be a better option than others?

Picture of Matt Leathes
Re: How to work with the framework?
by Matt Leathes - Monday, 20 March 2017, 3:06 PM
 

It's really about what works best for you and for the project. We use Subversion for in-house projects primarily because we find it's much easier to explain how it works to non-technical folks. Also, we keep pretty much ALL our project files in there - not just the Adapt src and build - and Subversion is a little better at dealing with very large repositories containing some very large files. Our project repositories are typical several GB in size and can go as large as 20 - 50GB and, in one case, 90GB!

Even though it was written quite a while ago, there's quite a good summary of Git vs SVN here.