SCORM 2004 Packaging Guidelines
The following package validation rules are applied by Trebia to all packages prior to being accepted as
deliveries for BBC Jam.
Trebia will be made available to test your packages prior to delivery.
Validation Packaging Guideline
P1 All files referenced in the manifest must be in the zip file under BBC_DC.
P2 Filenames may only contain characters a-z, 0-9 , „_‟ and „.‟
P3 The manifest id must reflect the commission path ie BBC_DC-7_11-fr
P4 All metadata xml files and the manifest.xml must validate using the following
and the following aliases:
P5 All metadata files in manifest must validate using the following schemas:
and the following aliases:
P6 Every file extension must be lower case and the zip package file extension must
be .zip (lowercase)
P8 The top level directory of packages must be BBC_DC
P9 Folder names (excluding BBC_DC) must contain only a-z, 0-9 and '_'
R1 A dependency idertifierref (element used to call a resource) in a resource must
refer to a resource in the package
R2 If a resource‟s adlcp:scormType is „asset‟, then it must be referenced by another
resource using „dependency identifierref=‟ (unless adlcp:scormType=”topicality”
eg it is a world)
R3 If adlcp:socrmType is “sco”, it must be referenced by an identifierref or a
bbccp:externalThumbnailResource (unless it has type=topicality)
R5 If adlcp:scormType is “sco” it means that the resource is launchable and
therefore it must have an href=”” referring to an item (usually an index.html
file) in the resource and visa versa (ie if a resource has an href then the
adlcp:scormType must be set to „sco‟)
R6 All files in a resource must be below the resource path. Convert – to /
Eg BBC_DC-7_9-sc-bugs-creatures would become
Then make sure each href starts with BBC_DC/7_9/sc/bugs/creatures.
R7 Each resource can only contain one „adlcp:location‟ which is a link to the
metadata file associated with that resource. Resource level metadata will be
R8 Each resource can only contain 1 collab:CollaborationDefinitionElement, and if a
resource has this element then it cannot be empty.
R9 Collab:CollaborationDefinitionElement must have an xmlns attribute in the
manifest header and this must be set to
R14 If you have an empty resource node it may not use the <resource></resource>
notation but must be <resource…../>.
If a resource element has child „file‟ elements then the „href‟ attribute of the
resource must be within the set of „href‟ attributes of the children „file‟ elements.
R17 All resource id's for resources that contain file nodes must reflect commission
path ie BBC_DC-5_7-ma-…
0S1 A package must have a default organization defined ie
0S2 A default organisation must have more than one item
0S3 A package must contain at least one organization
0S4 In a package with only resources (a subject world), the organization tag must be
empty eg <organizations />
01 An organisation must contain at least one item
02 If an organisation has metadata, it must also have externalthumbnailresource
and externalthumbnail defined.
03 The externalthumbnail must be a file within the externalthumbnailresource path
05 If an organization contains more than one item, it must also have sequencing
06 An organization must have adlseq:objectivesGlobalToSystem=”false”
07 Each externalthumbnailresource must refer to resource identifier that has a
resource type of „sco‟
11 If an item has an identifierref (an attribute that calls a resource)it must
reference a resource that is a sco. An item can either have an identifierref or a
child item. Can never have both (because if it has a child, then the child will
have the identifierref instead)
12 An item cannot have metadata
13 The maximum length of the adlcp:dataFromLMS is 256 (this is in the
I4 If an item has child items, it must not have an identifierref attribute. If an item
does not have child items, it must have an identifierref attribute.