You can use a series of XML files to import goals to Blackboard Learn. Create an XML file for each goal set, zip the XML files together, and upload the package.
Don't use the native "compress" function on a Mac to create a ZIP file to import your goals. Use the compress command in the Terminal instead.
An XML file must not contain more than one goal set. You can have unlimited categories and goals within that goal set.
Each file contains this information:
- Goal set information.
- Category information. You must duplicate and edit this code for each category in the goal set. Copy this code and paste it on a line before the </standard_document> line at the end of the file.
- Goal information. You must duplicate and edit this code for each goal in the category. Copy this code and paste it on a line before the </standard> line near the end of the file.
Upload files
On the Administrator Panel in the Tools and Utilities section, select Goals. On the Goals page, move your mouse pointer over Add goal set to access the menu and select Import Goal Set. Blackboard Learn will process all files at once.
XML template of a goal set, including categories and goals
<?xml version="1.0" encoding="UTF-8"?>
<!-- Define a goal set -->
<!-- Create a separate XML file for each goal set -->
<standard_document year="ENTER RELEVANT YEAR HERE" revision_date="ENTER REVISION DATE AND TIME HERE" uid="ENTER DOCUMENT ID HERE. Do not uses spaces."
uid_provider="ENTER 2 CHARACTER PROVIDER CODE HERE" status="ENTER A, I, or R" editable="ENTER TRUE OR FALSE">
<!-- Define the organization that is the source for this goal set -->
<organization org_code="ENTER A SOURCE CODE HERE (UP TO 256 CHARACTERS)" country_code="US">
ENTER FULL TEXT OF GOAL SOURCE HERE.
</organization>
<!-- Define the name of the goal set -->
<subject code="ENTER ID FOR GOAL SET HERE. Do not use spaces.">
ENTER GOAL SET NAME HERE</subject>
<!-- Define the goal set type -->
<document_set uid="ENTER ID FOR GOAL SET TYPE HERE. Do not use spaces.">
ENTER FULL TEXT OF GOAL SET TYPE HERE</document_set>
<!-- Define the categories -->
<!-- Create one <grade_range> element and one <standard> element for each category -->
<grade_range lo="ENTER LOWEST POSITION IN CATEGORY LIST" hi="ENTER HIGHEST POSITION IN CATEGORY LIST"
code="ENTER ID FOR CATEGORY HERE. Do not use spaces.">ENTER FULL TEXT OF CATEGORY NAME HERE</grade_range>
<standard uid="ENTER ID FOR CATEGORY HERE. Do not use spaces.">
<title>ENTER FULL TEXT OF CATEGORY NAME HERE</title>
<grade_range_ref code="ENTER CATEGORY ID HERE"/>
<!-- Define the Goals -->
<!-- Create one <item> element for each goal in the category -->
<item uid="ENTER UNIQUE ID OF GOAL HERE. Do not use spaces." parent_uid="ENTER ID OF PARENT GOAL HERE OR LEAVE BLANK" label="ENTER FULL TEXT OF GOAL TYPE HERE" linkable="ENTER Y OR N"
stem="ENTER ANY LEADING TEXT FOR THE GOAL HERE OR LEAVE BLANK" doc_num="ENTER THE ID OF THE GOAL HERE OR LEAVE BLANK">
<statement>ENTER THE FULL TEXT OF THE GOAL STATEMENT HERE</statement>
</item>
</standard>
</standard_document>
Example
<?xml version="1.0" encoding="UTF-8"?>
<standard_document year="2013" revision_date="2013-12-20 13:40:00" uid="PHYS101" uid_provider="PS" status="A" editable="true">
<organization org_code="BB" country_code="US">Blackboard College</organization>
<subject code="PHYSLAB01">Physics Lab Goals</subject>
<document_set uid="INTRO">Introductory Goals</document_set>
<grade_range lo="1" hi="1" code="MEASURE">The Measurement Category</grade_range>
<standard uid="1">
<title>Measurement</title>
<grade_range_ref code="MEASURE"/>
<item uid="001" parent_uid="" label="Instrumentation Type" linkable="Y" stem="The student will:" doc_num="MEASURE_001">
<statement>learn how to use a micrometer</statement>
</item>
<item uid="002" parent_uid="001" label="Instrumentation Type" linkable="N" stem="The student will:" doc_num="MEASURE_002">
<statement>understand the uncertainty in measurements</statement>
</item>
</standard>
<grade_range lo="2" hi="2" code="NOTEBOOK">The Lab Notebook Category</grade_range>
<standard uid="2">
<title>Lab Notebooks</title>
<grade_range_ref code="NOTEBOOK"/>
<item uid="003" parent_uid="" label="Documentation Type" linkable="Y" stem="The student will:" doc_num="NOTE_001">
<statement>record lab results in detail</statement>
</item>
</standard>
</standard_document>
Other examples
You can find other examples of XML files by logging in to Behind the Blackboard and going to Article Number 13668, "Blackboard Learn and CE/Vista Standards Documents."
Element/attribute descriptions
Edit the relevant attributes and values in the template.
Element/Attribute | Description |
---|---|
standard_document | The <standard_document> element describes the goal set properties. There must be one, and only one, <standard_document> element in the file. |
year | The year, using the YYYY format. For example, "2013". |
revision_date | The revision date and time using the YYYY-MM-DD HH:MM:SS format. For example, "2013-12-20 13:40:00". |
uid | The Document ID. Use no more than 37 characters. Don't use spaces. |
uid_provider | A two-character identifier for the provider of the goal set. For example, "PS". |
status | A single character status value. This element is optional. If it is present, it must be one of these:
This value is overridden by the choice of the Status button in the UI when you import the XML file. |
editable | Either "true" or "false". This element is optional. If this is true, the goal set can be edited in the UI. If it is false, it can't be edited (except for setting items to be Active, Inactive, or Restricted). |
organization | The <organization> element describes the organization that is the source of the goal. There must be one, and only one, <organization> element in the file.
Replace the "ENTER FULL TEXT OF GOAL SOURCE HERE" placeholder text. For example, replace it with "Blackboard College". |
org_code | An identifier for the source. It can be up to 256 characters. For example, "BB". |
country_code | A two-character identifier for the source's country. For example, "US". |
subject | The <subject> element specifies the goal set's name. There must be one, and only one, <subject> element in the file.
Replace the "ENTER GOAL SET NAME HERE" placeholder text. For example, replace it with "Physics Lab Goals". This name is shown in the UI in these places:
|
code | An identifier for the goal set. Use no more than five characters. Don't use spaces. |
document_set | The <document_set> element describes the goal set type. There must be one, and only one, <document_set> element in the file.
Replace the "ENTER FULL TEXT OF GOAL SET TYPE HERE" placeholder text. Use no more than 101 characters. For example, replace it with "Introductory Goals". This text is shown in the UI in these places:
|
uid | An identifier for the goal set type. Don't use spaces. |
grade_range | The <grade_range> element describes a category. There must be one or more <grade_range> elements in the file. The number of <grade_range> elements must match the number of <standard> elements.
Replace the "ENTER FULL TEXT OF CATEGORY NAME HERE" placeholder text. Use no more than 101 characters. This text isn't shown in the UI. |
lo, hi | Specifiers for the lowest and highest places this category should appear in the list.
Typically, these are used to override the default alphabetization of categories. For example, these lines force the "Kindergarten" category to the top of the list: <grade_range lo="1" hi="1" code="K">Kindergarten</grade_range> |
code | An identifier for the category. Don't use spaces.
This must match a code attribute in one the <grade_range_ref> elements. This is used to link the <grade_range> element with <grade_range_ref> element. |
standard | The <standard> element describes the set of goals for a category.
There must be one or more <standard> elements in the file. The number of <standard> elements must match the number of <grade_range> elements. |
uid | An identifier for the goals. For example, "001". Each <standard> must have a unique ID.
This identifier is shown in the UI in the Unique ID field on the Edit Goal screen. |
title | The category's title. For example, "Measurement". There must be one, and only one, <title> element in each <standard> element in the file.
This title is shown in the UI in these places:
|
grade_range_ref | The <grade_range_ref> element links the set of goals to the category. There must be one, and only one, <grade_range_ref> element inside each <standard> element in the file. |
code | Enter the code attribute of the <grade_range> element for the corresponding category. |
item | The <item> element describes a goal. There must be one or more <item> elements inside each <standard> element in the file. |
uid | A unique identifier for the goal. Use no more than 257 characters. |
parent_uid | The ID of the parent goal. If no parent goal exists, delete the placeholder text and leave this attribute blank. |
label | The goal type. For example, "Instrumentation Type". This text is shown in the UI in the Goal Type expandable list on the Discover Goals screen. |
linkable | One of these:
Restricted goals are only visible to courses that are explicitly associated with the category. In the Goals screen, these goals have an arrow icon beside them to show that they can be opened in a new window. To associate a course with a category, open a category's menu, and choose Associate to Courses. |
stem | The leading text for the goal. For example, "The student will:". If no leading text exists, delete the placeholder text and leave this attribute blank.
This text is shown in the UI in these places:
|
doc_num | The goal identifier. For example, "MEASURE_001". Use no more than 101 characters. If you do not want a goal ID to appear, delete the placeholder text and leave this attribute blank.
This text is shown in the UI in these places:
|
Schema
The following is an XML schema for these XML files:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- ================================== -->
<!-- Standard Document -->
<xs:element name="standard_document">
<xs:complexType>
<xs:sequence>
<xs:element ref="organization"/>
<xs:element ref="subject"/>
<xs:element ref="document_set"/>
<xs:element ref="grade_range" maxOccurs="unbounded"/>
<xs:element ref="standard" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="year" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\d\d\d\d"/>
<!-- For example, "2014" -->
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="uid_provider" use="required">
<xs:simpleType>
<xs:restriction base="ST_two-character_code">
<!-- For example, "PS" -->
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="uid" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\S{1,37}"/>
<!-- For example, "PHYS101" -->
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="status" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="A"/>
<xs:enumeration value="I"/>
<xs:enumeration value="R"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="revision_date" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d"/>
<!-- For example, "2014-01-30 09:15:00" -->
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="editable" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<!-- ================================== -->
<!-- Organization -->
<xs:element name="organization">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="ST_non_blank_string">
<xs:attribute name="org_code" type="ST_256-character_code" use="required"/>
<xs:attribute name="country_code" type="ST_two-character_code" use="required"/>
</xs:extension>
<!-- For example, "Blackboard College" -->
<!-- For example, "BB" -->
<!-- For example, "US" -->
</xs:simpleContent>
</xs:complexType>
</xs:element>
<!-- ================================== -->
<!-- Subject -->
<xs:element name="subject">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="ST_non_blank_string">
<xs:attribute name="code" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\S{1,5}"/>
<!-- For example, "LAB01" -->
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
<!-- For example, "Physics Lab Goals" -->
</xs:simpleContent>
</xs:complexType>
</xs:element>
<!-- ================================== -->
<!-- Document Set -->
<xs:element name="document_set">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="ST_1_to_101_characters">
<xs:attribute name="uid" type="ST_string_with_no_spaces" use="required"/>
</xs:extension>
<!-- For example, "Introductory Goals" -->
<!-- For example, "INTRO" -->
</xs:simpleContent>
</xs:complexType>
</xs:element>
<!-- ================================== -->
<!-- Grade Range -->
<xs:element name="grade_range">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="ST_1_to_101_characters">
<xs:attribute name="lo" type="xs:integer" use="required"/>
<xs:attribute name="hi" type="xs:integer" use="required"/>
<xs:attribute name="code" type="ST_string_with_no_spaces" use="required"/>
</xs:extension>
<!-- For example, "The Measurement Category" -->
<!-- For example, "1" -->
<!-- For example, "1" -->
<!-- For example, "NOTEBOOK" -->
</xs:simpleContent>
</xs:complexType>
</xs:element>
<!-- ================================== -->
<!-- Standard -->
<xs:element name="standard">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:element ref="grade_range_ref"/>
<xs:element ref="item" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="uid" type="ST_non_blank_string" use="required"/>
</xs:complexType>
</xs:element>
<!-- ================================== -->
<!-- Title -->
<xs:element name="title" type="ST_non_blank_string"/>
<!-- For example, "Lab Notebooks" -->
<!-- ================================== -->
<!-- Grade Range Ref -->
<xs:element name="grade_range_ref">
<xs:complexType>
<xs:attribute name="code" type="ST_string_with_no_spaces" use="required"/>
</xs:complexType>
</xs:element>
<!-- ================================== -->
<!-- Item -->
<xs:element name="item">
<xs:complexType>
<xs:sequence>
<xs:element ref="statement"/>
</xs:sequence>
<xs:attribute name="uid" type="ST_goal_uid" use="required"/>
<xs:attribute name="stem" type="xs:string" use="required"/>
<xs:attribute name="parent_uid" type="ST_parent_goal_uid" use="required"/>
<xs:attribute name="linkable" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="N"/>
<xs:enumeration value="Y"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="label" type="ST__string" use="required"/>
<xs:attribute name="doc_num" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value=".{0,101}"/>
<!-- 0 to 101 characters -->
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<!-- For example, "The student will:" or blank -->
<!-- For example, "Instrumentation Type" -->
</xs:complexType>
</xs:element>
<!-- ================================== -->
<!-- Statement -->
<xs:element name="statement" type="ST_non_blank_string"/>
<!-- For example, "understand the uncertainty in measurements" -->
<!-- ================================== -->
<!-- Simple Data Types -->
<!-- ================================== -->
<!-- String with no spaces -->
<xs:simpleType name="ST_string_with_no_spaces">
<xs:restriction base="xs:string">
<xs:pattern value="\S+"/>
</xs:restriction>
</xs:simpleType>
<!-- Two-character code -->
<xs:simpleType name="ST_two-character_code">
<xs:restriction base="xs:string">
<xs:pattern value="\S\S"/>
</xs:restriction>
</xs:simpleType>
<!-- 256-character code -->
<xs:simpleType name="ST_256-character_code">
<xs:restriction base="xs:string">
<xs:pattern value="\S{1,256}"/>
</xs:restriction>
</xs:simpleType>
<!-- Goal UIDs -->
<xs:simpleType name="ST_goal_uid">
<xs:restriction base="xs:string">
<xs:pattern value=".{1,257}"/>
<!-- 1 to 257 characters -->
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_parent_goal_uid">
<xs:restriction base="xs:string">
<xs:pattern value=".{0,257}"/>
<!-- 0 to 257 characters -->
</xs:restriction>
</xs:simpleType>
<!-- No more than 101 characters -->
<xs:simpleType name="ST_1_to_101_characters">
<xs:restriction base="xs:string">
<xs:pattern value=".{1,101}"/>
<!-- 1 to 101 characters -->
</xs:restriction>
</xs:simpleType>
<!-- Non-blank string -->
<xs:simpleType name="ST_non_blank_string">
<xs:restriction base="xs:string">
<xs:pattern value=".{1,}"/>
<!-- At least 1 character -->
</xs:restriction>
</xs:simpleType>
<!-- Possibly blank string -->
<xs:simpleType name="ST__string">
<xs:restriction base="xs:string">
<xs:pattern value=".{0,}"/>
<!-- Can be empty-->
</xs:restriction>
</xs:simpleType>
<!-- ================================== -->
</xs:schema>
How these files affect the UI
The diagrams below show how items in the XML file appear in the user interface.
The images are available in English only.
The Goals screen
This diagram shows how the XML file maps to items in the Goals screen.
The Edit Goal screen
This diagram shows how the XML file maps to items in the Edit Goal screen. This screen appears if you open the menu to the right of a goal on the Goals screen and choose Edit Goal. The Edit Goal command isn't available if the editable attribute in the <standard_document> element is set to "false".
The Edit Goal Set screen
This diagram shows how the XML file maps to items in the Edit Goal Set screen. This screen appears if you open the menu to the right of a goal set on the Goals screen and choose Edit.) The Set Name and Set Type files fields aren't editable if the editable attribute in the <standard_document> element is set to "false".)
The Content screen
This diagram shows how the XML file maps to items in the Content screen.
The Discover Goals screen
This diagram shows how the XML file maps to items in the Discover Goals screen. This screen appears when you choose Add Alignments on the Content screen.
Delete items
You can't delete items by uploading new files. To delete items, use the user interface.
Add and replace items
The simplest way to add or replace items is to delete the existing items (through the user interface) and then upload a file which contains the updated information.
If you need to add or replace items without using the user interface, the sections below describe the process.
The hierarchy of UIDs
- The set of UIDs for each goal (in other words, the set of UIDs for <standard_document>, <document_set>, <standard>, and <item>) must be unique across all files.
- These UIDs form a hierarchy:
- <standard_document>
- <document_set>
- <standard>
- <item>
The UID of the <standard> element also interacts with the code attribute of the <grade_range> element, as described below.
Adding new items
You can add new items, or replace old items, by keeping the items higher in the hierarchy the same and using different UIDs for items that are lower in the hierarchy.
Example
- Suppose you first upload a file with following attributes. This will create a goal set, category, and goal.
<standard_
document>
UID<document_set>
UID<grade_range>
CODE<standard>
UID<item>
UIDSTANDARD_DOC_1 DOCS_SET_1 CATEGORY_1 STANDARD_1 ITEM_1 <?xml version="1.0" encoding="UTF-8"?>
<standard_document year="2013" revision_date="2013-12-20 13:40:00" uid="STANDARD_DOC_1" uid_provider="PS" status="A" editable="true">
<organization org_code="BB" country_code="US">Blackboard College</organization>
<subject code="SUBJECT_1span>">Goal Set 1</subject>
<document_set uid="DOC_SET_1">Goal Set Type 1</document_set>
<grade_range lo="1" hi="1" code="CATEGORY_1">Category 1</grade_range>
<standard uid="STANDARD_1">
<title>Category 1</title>
<grade_range_ref code="CATEGORY_1"/>
<item uid="ITEM_1" parent_uid="" label="" linkable="Y" stem="" doc_num="DOC_NUM_1">
<statement>This is the goal.</statement>
</item>
</standard>
</standard_document> - If you then upload a file with the following attributes, this will create a new category and a new goal.
<standard_
document>
UID<document_set>
UID<grade_range>
CODE<standard>
UID<item>
UIDSTANDARD_DOC_1 DOCS_SET_1 CATEGORY_A STANDARD_A ITEM_A <?xml version="1.0" encoding="UTF-8"?>
<standard_document year="2013" revision_date="2013-12-20 13:40:00" uid="STANDARD_DOC_1" uid_provider="PS" status="A" editable="true">
<organization org_code="BB" country_code="US">Blackboard College</organization>
<subject code="SUBJECT_1">Goal Set 1</subject>
<document_set uid="DOC_SET_1">Goal Set Type 1</document_set>
<grade_range lo="1" hi="1" code="CATEGORY_A">Category A</grade_range>
<standard uid="STANDARD_A">
<title>Category A</title>
<grade_range_ref code="CATEGORY_A"/>
<item uid="ITEM_A" parent_uid="" label="" linkable="Y" stem="" doc_num="DOC_NUM_1">
<statement>This is the goal.</statement>
</item>
</standard>
</standard_document>If you change the UID of the <standard> element, you must also change the code attribute of the <grade_range> element. If you only change the UID of the <standard> element, the import will fail.
- If you then upload a file with the same attributes but with different content, the goal statement will be updated.
<?xml version="1.0" encoding="UTF-8"?>
<standard_document year="2013" revision_date="2013-12-20 13:40:00" uid="STANDARD_DOC_1" uid_provider="PS" status="A" editable="true">
<organization org_code="BB" country_code="US">Blackboard College</organization>
<subject code="SUBJECT_1">Goal Set 1</subject>
<document_set uid="DOC_SET_1">Goal Set Type 1</document_set>
<grade_range lo="1" hi="1" code="CATEGORY_A">Category A</grade_range>
<standard uid="STANDARD_A">
<title>Category A</title>
<grade_range_ref code="CATEGORY_A"/>
<item uid="ITEM_A" parent_uid="" label="" linkable="Y" stem="" doc_num="DOC_NUM_1">
<statement>This is the new goal.</statement>
</item>
</standard>
</standard_document>
Change names
If you upload information with the same set of UIDs but with different code attributes, the items will be renamed.
Example
- Suppose you first upload a file with following attributes. This will create a goal set, category, and goal.
<standard_
document>
UID<subject>
CODE<document_
set>
UID<grade_
range>
CODE<standard>
UID<item>
UIDSTANDARD_DOC_1 SUBJECT_1 DOCS_SET_1 CATEGORY_1 STANDARD_1 ITEM_1 <?xml version="1.0" encoding="UTF-8"?>
<standard_document year="2013" revision_date="2013-12-20 13:40:00" uid="STANDARD_DOC_1" uid_provider="PS" status="A" editable="true">
<organization org_code="BB" country_code="US">Blackboard College</organization>
<subject code="SUBJECT_1">Goal Set 1</subject>
<document_set uid="DOC_SET_1">Goal Set Type 1</document_set>
<grade_range lo="1" hi="1" code="CATEGORY_1">Category 1</grade_range>
<standard uid="STANDARD_1">
<title>Category 1</title>
<grade_range_ref code="CATEGORY_1"/>
<item uid="ITEM_1" parent_uid="" label="" linkable="Y" stem="" doc_num="DOC_NUM_1">
<statement>This is the goal.</statement>
</item>
</standard>
</standard_document> - If you then upload a file with the following attributes, the goal set will be renamed (from "Goal Set 1" to "Goal Set B").
<standard_
document>
UID<subject>
CODE<document_
set>
UID<grade_
range>
CODE<standard>
UID<item>
UIDSTANDARD_DOC_1 SUBJECT_B DOCS_SET_1 CATEGORY_1 STANDARD_1 ITEM_1 <?xml version="1.0" encoding="UTF-8"?>
<standard_document year="2013" revision_date="2013-12-20 13:40:00" uid="STANDARD_DOC_1" uid_provider="PS" status="A" editable="true">
<organization org_code="BB" country_code="US">Blackboard College</organization>
<subject code="SUBJECT_B">Goal Set B</subject>
<document_set uid="DOC_SET_1">Goal Set Type 1</document_set>
<grade_range lo="1" hi="1" code="CATEGORY_1">Category 1</grade_range>
<standard uid="STANDARD_1">
<title>Category 1</title>
<grade_range_ref code="CATEGORY_1"/>
<item uid="ITEM_1" parent_uid="" label="" linkable="Y" stem="" doc_num="DOC_NUM_1">
<statement>This is the goal.</statement>
</item>
</standard>
</standard_document>
This procedure also works for renaming the code attribute of the <grade_range> element.
Add or change items higher in the hierarchy
You will receive an error, and the file will not be uploaded if the UIDs for elements that are lower in the hierarchy have already been used but with different UIDs for elements higher in the hierarchy.
Example
- Suppose you first upload a file with following attributes. This will create a goal set, category, and goal.
<standard_
document>
UID<document_
set>
UID<grade_
range>
CODE<standard>
UID<item>
UIDSTANDARD_DOC_1 DOC_SET_1 CATEGORY_1 STANDARD_1 ITEM_1 <?xml version="1.0" encoding="UTF-8"?>
<standard_document year="2013" revision_date="2013-12-20 13:40:00" uid="STANDARD_DOC_1" uid_provider="PS" status="A" editable="true">
<organization org_code="BB" country_code="US">Blackboard College</organization>
<subject code="SUBJECT_1">Goal Set 1</subject>
<document_set uid="DOC_SET_1">Goal Set Type 1</document_set>
<grade_range lo="1" hi="1" code="CATEGORY_1">Category 1</grade_range>
<standard uid="STANDARD_1">
<title>Category 1</title>
<grade_range_ref code="CATEGORY_1"/>
<item uid="ITEM_1" parent_uid="" label="" linkable="Y" stem="" doc_num="DOC_NUM_1">
<statement>This is the goal.</statement>
</item>
</standard>
</standard_document> - If you then try to upload a file with the following attributes, the upload will fail.
<standard_
document>
UID<document_
set>
UID<grade_
range>
CODE<standard>
UID<item>
UIDSTANDARD_DOC_C DOC_SET_1 CATEGORY_1 STANDARD_1 ITEM_1 <?xml version="1.0" encoding="UTF-8"?>
<standard_document year="2013" revision_date="2013-12-20 13:40:00" uid="STANDARD_DOC_C" uid_provider="PS" status="A" editable="true">
<organization org_code="BB" country_code="US">Blackboard College</organization>
<subject code="SUBJECT_1">Goal Set 1</subject>
<document_set uid="DOC_SET_1">Goal Set Type 1</document_set>
<grade_range lo="1" hi="1" code="CATEGORY_1">Category 1</grade_range>
<standard uid="STANDARD_1">
<title>Category 1</title>
<grade_range_ref code="CATEGORY_1"/>
<item uid="ITEM_1" parent_uid="" label="" linkable="Y" stem="" doc_num="DOC_NUM_1">
<statement>This is the goal.</statement>
</item>
</standard>
</standard_document>
If you want to add or change items higher in the hierarchy, you must use different UIDs for items lower in the hierarchy.