Adding the SCORM Engine Package Properties Control


What are SCORM Engine Package Properties?

Rustici Software's SCORM Engine provides a number of options for customized behavior above and beyond what's provided by the SCORM specification. These options span everything from SCO window sizes to score rollup behavior in SCORM 1.2 to client-side debugging options and various compatibility settings for poorly written SCORM courses. These SCORM Engine options are collectively called the SCORM Engine Package Properties. A web control has been provided to easily edit these properties.

What is the SCORM Engine Package Properties Editor?

The Package Properties Editor is a ASP.NET web control that can be embedded in a standard ASP.NET web page. The various properties are categorized into sections: Navigational Controls, Launch Behavior, Rudimentary Sequencing, Rudimentary Rollup, Compatibility Settings, Communication Settings and Debugger Options.. Each option contains associated help text which can be accessed as "hover over" text by moving the mouse cursor over the property name.

What configuration options are available for the Package Properties Editor?

The standard options can be seen by viewing the properties window (F4) in Visual Studio. Among these options are options for hiding individual sections of the package properties. For instance, a system may not care to expose the debugger options. Additionally, color properties are available.

Where is the control and how do I put it into a ASP.NET web page?

The PackagePropertiesEditor web control is part of the library RusticiSoftware.ScormContentPlayer.WebControls.dll. To embed this in a web page you can follow the following steps:

1. Find .aspx the web page which will host the control or create a new one (i.e., PackageProperties.aspx). Note: This is often placed in the same web application that contains SCORM import functionality.
2. In the containing Visual Studio project, add a reference to RusticiSoftware.ScormContentPlayer.WebControls as well as RusticiSoftware.ScormContentPlayer.Logic and RusticiSoftware.ScormContentPlayer.DataHelp.
3. Because the SCORM Engine API will be accessed, the AppSettings contained in the ScormEngineSettings.config file will need to be available to the hosting web application. As such, the web application's web.config will either need to directly contain the SCORM Engine AppSettings or have a reference to the shared config file – <appSettings file="../SCORMEngineSettings.config"/>
4. Now place the following code into the .aspx file (Attributes are examples):

<%@ Register TagPrefix="cc1" Namespace="RusticiSoftware.ScormContentPlayer.WebControls"
Assembly="RusticiSoftware.ScormContentPlayer.WebControls" %>

<cc1:scormenginepropertyeditcontrol id="ScormEnginePropertyEditControl1" runat="server"
BackColor="#FAFAD0" BorderWidth="1px" Font-Names="Arial" ShowRuntimeCommunications="False"
ShowPresets="False" ShowProgressBar="False"></cc1:scormenginepropertyeditcontrol>

5. And place the following code into the .aspx.cs code-behind file:

protected void Page_Load(object sender, EventArgs e)
if (!Page.IsPostBack)
string package = Request.QueryString["package"];
string configuration = Request.QueryString["configuration"];

if (package == null || package.Length == 0)
throw new ArgumentException("Expected querystring parameter 'package' as serialized external package id");

if (configuration == null || configuration.Length == 0)
throw new ArgumentException("Expected querystring parameter 'configuration' as serialized external configuration");

ExternalConfiguration config = Integration.Implementation.GetExternalConfigurationObject();
ScormEnginePropertyEditControl1.ExternalConfig = config;

ExternalPackageId externalPackageId = Integration.Implementation.GetExternalPackageIdObject();
ScormEnginePropertyEditControl1.ExternalPackageId = externalPackageId;

Now that the package properties web page is in place, how do I access a specific course's properties?

You will need to go to the .aspx page and provide two querystring paramters: package and configuration. These represent the serialized external configuration and external package id's. These are the same type values used to hit the SCORM Engine's launch page.


Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request
Powered by Zendesk