Forum .LRN Q&A: Intellum OpenCore

Posted by Jack Ramsey on
My company, Intellum, has been utilizing an old version of the ACS for many years to run our corporate training site. We recently have migrated over to OpenACS 5.0 and updated our LMS to import, launch, and track AICC & SCORM courseware. Although we have achieved AICC & SCORM compatibility with courseware that we currently run, there is still work to be done before we start the AICC and SCORM certification processes.

Also, we recently re-branded our company from Complysite to Intellum and launched our own little community for OpenCore, which is the new LMS package that runs on the OpenACS.

I am not sure if we handled all of the licensing issues correctly, but we did copyright the code and bundle the package with the GPL license. If anyone is interested in our project or would like to hold our hand through the process of becoming useful to the OpenACS / .LRN community, please feel free to contact me directly by email.
2: Re: Intellum OpenCore (response to 1)
Posted by Carl Robert Blesius on
Welcome! Congratulations on the port and the standards integration. This sounds really interesting.

Do you have a demo up somewhere of the LMS parts?

3: Re: Intellum OpenCore (response to 1)
Posted by Dario Roig on

Could Opencore be good us to care courses in format SCORM to our. LRN 2.0.1?


Dario (University of valencia)

4: Re: Intellum OpenCore (response to 2)
Posted by Jack Ramsey on

I have setup a small community over at I will soon get some courses and test accounts up for people to demo the system. I will post that information in the forums section of the site as soon as I get that finished up.

Thank you for your interest.
5: Re: Intellum OpenCore (response to 3)
Posted by Jack Ramsey on
I have been speaking to a few people with .LRN about integrating this functionality into .LRN. I am sure that we could integrate our piece in some way, but I know that Ernie Ghiglione is also working on implementing SCORM for the community. At this point, I have a suspicion that combining our administrative functionality for managing employees, assigning courses, and creating reports with Ernie's work and .LRN 2.0.1 could create a very robust implementation of an LMS and LCMS.

If you are interested in speaking to me about this in more depth, I would be more than happy to discuss it with you.

My Email

Thanks, Chip
6: Re: Intellum OpenCore (response to 1)
Posted by Don Baccus on
This looks like it ran originally on an pre-ACS 4x version?  I see no evidence of use of the objects/permissions system or more than a very simple use of the template system (hardwired rather than templated forms, for instance).

I mean no criticism whatsoever, just curious about the heritage.

So far Ernie's work is pretty much all "guts" and no "skin" (UI) from what I've seen thus far so I think your comment above is pretty much right - perhaps your UI work could be combined with Ernie's SCORM stuff and .LRN work.

Thanks an awful lot for sharing this!

7: Re: Intellum OpenCore (response to 6)
Posted by Jack Ramsey on
You are correct about migration from pre-ACS 4x and that the package lacks object/permissions system integration. I am new to the object concept in OpenACS and still need some time to digest it. At first glance, it does not look as if it would be overwhelmingly difficult to implement in our package.

As for the template system, I seemed to have missed some of the functionality that should be applied to our package. Is there any documentation for using templates with forms? Also, what other template features do you recommend that I have neglected to use?

Thank you for taking the time to inspect and comment on our code.
8: Re: Intellum OpenCore (response to 1)
Posted by Don Baccus on
There's nothing difficult about object integration.  The key is to not blindly decide to make every table in your datamodel  an object but rather to think about which items in your datamodel need to be integrated with other elements of OpenACS.

Three very quick guidelines ...

1. If you want to control access by user on a per-row basis for something in your datamodel, it certainly should be an object and permissions should be used to do the access control.

2. Integration with an OpenACS service package requires whatever part of your datamodel gets "hooked in" be an object.  For instance if you want someone to be able to sign up for notifications (which at the moment means "e-mail alert") when something new is added to your package - say a class has been imported - that "something" needs to be an object.  general-comments, general-ratings (when someone writes it :( ) and various other similar system-wide services work on objects.

3. If you want an audit trail of changes to something in a datamodel that "something" should probably be not only an object, but a content repository object (these are versioned objects, i.e. past versions of content are kept around).

Take a good look at the "notes" package - which is really meant as to be a demo more than a practical, useful package - for a simple introduction to how we generate forms using the template system and a wrapper procedure named "ad_form" (see www/add-edit.tcl+adp)...this package also defines and manipulates a simple "note" object type.

You and Ernie should definitely compare datamodel notes, my guess is that there's some overlap in how the two of you mapped SCORM XML structures to a datamodel ...

9: Re: Intellum OpenCore (response to 8)
Posted by Ernie Ghiglione on

Surprisingly enough the datamodels that we have don't overlap 😊 The reason for this is that Jack's datamodel deals mostly with the management of courses, students, managers, etc whereas the one I've been working on deals with the way course materials and learning objects get managed internally on the system.

I'll try to explain how this has happened as it might sound quite unbelievable for some of you 😉.  [Jack please correct me if there's anything wrong in the following explanation as understood what I read on your code]

Jack's implementation was designed to deploy SCORM courses tracking the progress of students. OpenCore is meant to be implemented mostly at companies that want to deploy courses for their employees. So you first add your company, then your users, your managers, etc, and so on. Then to add an SCORM course, you first add the course to xyz/packages/opencore/www/data/course1 directory. Then the admin user goes to the course-import page (thru the UI) and the page scans for new courses added to the data directory. When found, it tells the admin to add the course. The course is added and assigned to students to be taken. The students go thru the course and the managers sees the reports based on the student's performance.

Now, the work I've been doing deals with the management of the course content and the standards that SCORM encompases rather than the delivery. So the work I've done (let's call it LORS for the sake of simplicity) let you upload SCORM/IMS compliant packages from a web interface straight into the content repository (and this might be one of the few things we overlap, but by the same token, it's not critical). Also, LORS handles the administration of the course resources and metadata: a course needs to be part of a .LRN class/community, search learning objects, browse/edit metadata, share learning objects across classes, .LRN export courses, etc.

As you very well said Don, I think LORS is more guts and OpenCore's UI... so I do see a lot of opportunities to work with Jack on a robust SCORM/LMS implementation that not only fulfils the needs of corporations, but also the academic world.

Although, as Don has pointed to Jack and myself (on another email) some adjustments to the implementation must be done to fully take advantage of OpenACS resources, there are other that have to do with functionality... fully compliance with SCORM runtime environment, search metadata capabilites, export content, etc... but we are getting there 😊

I must say as well, that it is great to have another person to work with... no more lonely coding!


10: Re: Intellum OpenCore (response to 1)
Posted by Don Baccus on
Thanks for the info, Ernie ... I hope the two of you can figure out a way to leverage each other's work, this is potentially very exciting stuff.
11: Re: Intellum OpenCore (response to 1)
Posted by Nima Mazloumi on
Hi Jack,

I am also very much interested to learn more about your bundle. A collaboration with Ernie would be excellent. I am sure that many universities are interested in that. Maybe you can also come to the .LRN Spring Meeting in Heidelberg, 23 April 2004.

The meeting would be a great opportunity gather all developers and interested parties and create a united vision on how to make .LRN a leading learning management content system on the market,