BEETLE

BEETLE is the Batch Engine for Encapsulating Tutorials for Learning Environments. I created this as a side project when I was in the Product Planning group because it was taking a long time to have legacy learning modules converted to various learning object formats (SCORM, AICC, etc.) by hand. I would have to request someone in our Production group to hand code hundreds of text files to convert just one course. Often we'd have to convert dozens of courses at one time. This process was very time consuming and error prone.

It occurred to me that most of the information necessary to generate learning object metadata was already contained in our Microsoft Access Tutorials database. So I wrote this application to "mine" the metadata from the Tutorials database, and from that data to construct metadata files and HTML/Javascript "wrapper" files in whatever format we needed.

To make BEETLE extensible, I provided it with the ability to read template files, and to be driven from its own scripting language, which I named (of course) BEETLEScript.

 

BEETLE was the Batch Engine for Encapsulating Tutorials for Learning Environments. I created this as a side project when I was in the Product Planning group because it was taking a long time to have legacy learning modules converted to various learning object formats (SCORM, AICC, etc.) by hand. I would have to request for someone in our Production group to hand code hundreds of text files to convert just one course. Often we'd have to convert dozens of courses at one time.

It occurred to me that most of the information necessary to generate learning object metadata was already contained in our Microsoft Access Tutorials database. So I wrote this application to "mine" the metadata from the Tutorials database, and from that data to construct metadata files and HTML/Javascript "wrapper" files in whatever format we needed.

 

To make BEETLE extensible, I provided it with the ability to read template files, and to be driven from its own scripting language, which I named (of course) BEETLEScript. Here is a screen showing a fragment of BEETLEScript.

Because some learning object formats required us to create complicated manifests and metadata (XML), HTML, and INI files, I had to give BEETLE a robust scripting capability. BEETLEScript was capable of looping and recursion.

Once a script was written and templates developed, relatively unskilled operators could use BEETLE to convert courses simply and quickly. What used to take a production coder weeks to do by hand could be done in just minutes.

I created BEETLE before I became acquainted with XSLT. Had the technology been available to me at the time, I probably would have used XSLT as the basis for BEETLE scripting.

I was asked to demonstrate BEETLE at the first SCORM PlugFest, as an example of how legacy content could be converted to a SCORM-ready format through an automated tool. Unfortunately, some of the attendees perceived this tool as a magic cure-all for legacy content conversion. After the presentation I was approached by several members of the attendees, who wanted to have a copy of BEETLE that they could use to convert their content to a SCORM format. I had to explain that much of the hard work was already done for us at Element K because our content was already modular, and most of the required metadata was already contained within our Tutorials database. Nonetheless, I handed out several copies of the product that day, along with the C++ Builder source code. I wonder if anyone actually figured out how to use it for their own conversion needs!

 

Close this window