6.4 Data Model Task Force

Click here for non-normative background/supplementary documentation from this group.

6.4.1 SIF_Metadata

Metadata is commonly referred to as data about data and includes information such as author, grade level, or keywords relating to a learning object, as examples. Metadata can be used to structure and contain any of this kind of information in a consistent manner. In the context of SIF, SIF_Metadata provides a consistent structure to appropriate SIF objects for the purpose of cataloging and object discovery, as well as other metadata functions and purposes. One recurring use case within the SIF data model is the requirement for some form of temporal constraints and tagging on objects (see TimeElement). Other metadata elements are based on needs brought to the Data Model Task Force.

IMPORTANT NOTE ON PERSISTENCE

This data is not designed to be permanent. It is designed to frame an object instance and could dissolve as soon as it leaves the SIF framework for the application space. A data warehouse could be used to store metadata for later tracking.

IMPORTANT NOTE ON USAGE

Any usage of metadata is optional unless made a requirement within individual SIF objects, or if a SIF or local profile or zone installation mandates it. SIF_Metadata allows for the usage of metadata in agents and applications that choose to support it.

This element is designed to operate much like SIF_ExtendedElements. It is an approved common element that is part of any data object.

SIF_Metadata
Figure 6.4.1-1: SIF_Metadata SIF_Metadata TimeElements TimeElement LifeCycle RightsElements RightsElement EducationFilter
 Element/@AttributeCharDescriptionType
 SIF_Metadata 

A commonly defined container for metadata elements defined within SIF.

 
 
 TimeElementsO List
 TimeElements/TimeElementOR TimeElement
 LifeCycleO LifeCycle
 RightsElementsO List
 RightsElements/RightsElement
     
OR RightsElement
 EducationFilterO EducationFilter
Table 6.4.1-1: SIF_Metadata
<SIF_Metadata> <TimeElements> <TimeElement> <Type>Full school year</Type> <Code>01</Code> <Name>2004/2005 School Year</Name> <Value>2004-2005</Value> <StartDateTime>2004-09-01T08:00:00-05:00</StartDateTime> <EndDateTime>2005-06-30T15:00:00-05:00</EndDateTime> <SpanGaps> <SpanGap> <Type>Holiday</Type> <Code>02</Code> <Name>2005 Winter Break</Name> <Value>2005 Winter Break</Value> <StartDateTime>2005-02-21T15:00:00-05:00</StartDateTime> <EndDateTime>2005-02-25T08:00:00-05:00</EndDateTime> </SpanGap> </SpanGaps> <IsCurrent>true</IsCurrent> </TimeElement> </TimeElements> </SIF_Metadata>
Example 6.4.1-1: SIF_Metadata

6.4.2 TimeElement

A common metadata element designed to contain time data, both self-defined and by type.

TimeElement
Figure 6.4.2-1: TimeElement TimeElement Type Code Name Value StartDateTime EndDateTime SpanGaps SpanGap Type Code Name Value StartDateTime EndDateTime IsCurrent
 Element/@AttributeCharDescriptionType
 TimeElement 

A common metadata element designed to contain time data, both self-defined and by type.

 
 
 TypeM

This element is designed to contain the time period attached to an object. Very long periods (school year, quarter, etc.) and very small periods (second, millisecond, etc.) can be defined. This element provides a scoping description of the time metadata enclosed.

Because the educational environment varies so greatly we are including here a suggested but not prescriptive list of values. Although there may be unique needs for values not covered here—and we may have missed a major one—a best practice would be to utilize the examples here to enhance interoperability.

Examples
Full school year
Mini-term
Long session
Other
Semester
Trimester
Quarter
Spring Vacation
Summer Term
Intercession
Holiday

xs:normalizedString
 CodeM This element provides a place for the application to send structured data (code values, unique identifier, timestamps). This code value can, depending upon the use case agreement between agents, be used to qualify the data in the Value element.

Examples
2007SY
2006.FallConferences

xs:token
 NameM Contains a human-readable description of the value in Value.

Examples
Class of '07
Fall 2007 Parent-Teacher Conferences

xs:normalizedString
 ValueMContains the human-readable value.

Examples
2007
Evening of 10/12/06

xs:normalizedString
 StartDateTimeO xs:dateTime
 EndDateTimeO xs:dateTime
 SpanGapsOA container element for holding multiple possible span gaps. List
 SpanGaps/SpanGapOR This structure duplicates much of the structure of TimeElement and is designed to represent a gap in the parent time period defined by StartDateTime and EndDateTime above.   
 SpanGaps/SpanGap/TypeM xs:normalizedString
 SpanGaps/SpanGap/CodeM xs:token
 SpanGaps/SpanGap/NameM xs:normalizedString
 SpanGaps/SpanGap/ValueM xs:normalizedString
 SpanGaps/SpanGap/StartDateTime
     
O xs:dateTime
 SpanGaps/SpanGap/EndDateTime
     
O xs:dateTime
 IsCurrentM This element allows for the system to tag an object as being explicitly current. Although the baseline assumption in SIF is that objects are always current (default value is typically true), there are use cases when that is not the case.  xs:boolean
Table 6.4.2-1: TimeElement
<TimeElement> <Type>Full school year</Type> <Code>01</Code> <Name>2004/2005 School Year</Name> <Value>2004-2005</Value> <StartDateTime>2004-09-01T08:00:00-05:00</StartDateTime> <EndDateTime>2005-06-30T15:00:00-05:00</EndDateTime> <SpanGaps> <SpanGap> <Type>Holiday</Type> <Code>02</Code> <Name>2005 Winter Break</Name> <Value>2005 Winter Break</Value> <StartDateTime>2005-02-21T15:00:00-05:00</StartDateTime> <EndDateTime>2005-02-25T08:00:00-05:00</EndDateTime> </SpanGap> </SpanGaps> <IsCurrent>true</IsCurrent> </TimeElement>
Example 6.4.2-1: TimeElement

6.4.3 LifeCycle

This common metadata element describes the life cycle of the object it represents, based on the IEEE LOM LifeCycle element [LOM].

LifeCycle
Figure 6.4.3-1: LifeCycle LifeCycle Created DateTime Creators Creator Name ID ModificationHistory Modified By DateTime Description TimeElements TimeElement
 Element/@AttributeCharDescriptionType
 LifeCycle 

This common metadata element describes the life cycle of the object it represents, based on the IEEE LOM LifeCycle element [LOM].

 
 
 CreatedO When the object was created by whom. This is a more persistent creation date than the date/time in the object's SIF_Header. Depending on the use case being implemented, this value could contain the date the data in the object first entered the zone or was actually created.   
 Created/DateTimeM xs:dateTime
 Created/CreatorsO List
 Created/Creators/CreatorMR  
 Created/Creators/Creator/
     Name
M Human-readable name of the data's creator. If the object contains system-generated data, the name should identify the creating service or application.  xs:normalizedString
 Created/Creators/Creator/
     ID
MUnique identifier of the creator. An email address or URI could be used here. xs:normalizedString
 ModificationHistoryO An ordered set of Modified elements describing which system modified the data, when the modification took place, and a brief description of the modification.  List
 ModificationHistory/Modified
     
ORA single modification event.  
 ModificationHistory/Modified/
     By
MIdentifier of the system or person that modified the data. xs:normalizedString
 ModificationHistory/Modified/
     DateTime
MThe date/time the modification occurred. xs:dateTime
 ModificationHistory/Modified/
     Description
OHuman readable description of the data modifications. xs:string
 TimeElementsO List
 TimeElements/TimeElementOR TimeElement
Table 6.4.3-1: LifeCycle
<LifeCycle> <Created> <DateTime>2006-08-13T09:00:00-05:00</DateTime> <Creators> <Creator> <Name>Alphonse Berdonosi</Name> <ID>http://www.edugeeks.com/aberdonosi</ID> </Creator> </Creators> </Created> <ModificationHistory> <Modified> <By>http://www.edugeeks.com/aberdonosi</By> <DateTime>2006-08-17T09:30:00-05:00</DateTime> </Modified> </ModificationHistory> </LifeCycle>
Example 6.4.3-1: LifeCycle

6.4.4 RightsElement

A common metadata element designed to carry any intellectual property or copyright information, based on the IEEE LOM Rights element [LOM].

RightsElement
Figure 6.4.4-1: RightsElement RightsElement Cost FeesForUse FeeForUse UseType MeteringType MeteringURL PerUseCharge CopyrightStatement TermsOfUse
 Element/@AttributeCharDescriptionType
 RightsElement 

A common metadata element designed to carry any intellectual property or copyright information, based on the IEEE LOM Rights element [LOM].

 
 
 CostO xs:boolean
 FeesForUseOA container for fees for use of the content in the object. List
 FeesForUse/FeeForUseORDescription of one fee structure applying to the use of this resource.  
 FeesForUse/FeeForUse/UseType
     
M A description of the fee structure for this resource. Some resources may be licensed differently depending upon their context. For example, a content provider might charge one fee structure for resources used in the classroom and a separate fee for those resources available to parents from home.  xs:string
 FeesForUse/FeeForUse/MeteringType
     
M xs:token
 FeesForUse/FeeForUse/MeteringURL
     
O xs:anyURI
 FeesForUse/FeeForUse/PerUseCharge
     
O MonetaryAmountType
 CopyrightStatementO xs:string
 TermsOfUseO xs:string
Table 6.4.4-1: RightsElement
<RightsElement> <Cost>true</Cost> <FeesForUse> <FeeForUse> <UseType>UseType</UseType> <MeteringType>MeteringType</MeteringType> <MeteringURL>http://www.xmlspy.com</MeteringURL> <PerUseCharge Currency="USD">1.00</PerUseCharge> </FeeForUse> </FeesForUse> <CopyrightStatement>CopyrightStatement</CopyrightStatement> <TermsOfUse>TermsOfUse</TermsOfUse> </RightsElement>
Example 6.4.4-1: RightsElement

6.4.5 EducationFilter

Based on feedback from publishers, instructional management and system integrator vendors, EducationFilter was developed to provide the ability to tag objects with metadata that allows for categorization, sorting, and filtering, to empower teaching and learning SIF usage. There exist two main business cases:

The use cases for EducationFilter require a contract and choreography to be understood between both sides of the transaction as is the case with all SIF_Metadata.

EducationFilter
Figure 6.4.5-1: EducationFilter EducationFilter MediaTypes MediaType GradeLevels SubjectAreas SubjectArea InterestLevels InterestLevel LearningStandardItems LearningStandardItemRefId
 Element/@AttributeCharDescriptionType
 EducationFilter   
 MediaTypesOAllows an object or query to be tagged with MIME types. List
 MediaTypes/MediaTypeMR xs:token
 GradeLevelsOApplicable grade levels as defined by SIF. GradeLevels
 SubjectAreasOThis allows subject areas to be associated with an object or query. Although there could be overlap with LearningStandardItems, it is anticipated there will be use cases where LearningStandardItem objects may not exist or may not be available, and data may need to be tagged with high-level subject areas. List
 SubjectAreas/SubjectAreaMR SubjectArea
 InterestLevelsOInterestLevels is designed to represent the grade level for which the content is created. For example a tenth grader is at a third grade level in Algebra. You would want to present the content at a third grade level, but in a tenth grade context or interest level. List
 InterestLevels/InterestLevel
     
MR GradeLevel
 LearningStandardItemsOAllows any SIF object to be correlated to learning standards. List
 LearningStandardItems/LearningStandardItemRefId
     
MR IdRefType
Table 6.4.5-1: EducationFilter
<EducationFilter> <MediaTypes> <MediaType>x-application/pdf</MediaType> </MediaTypes> <GradeLevels> <GradeLevel> <Code>10</Code> </GradeLevel> </GradeLevels> <SubjectAreas> <SubjectArea> <Code>02</Code> <OtherCodeList> <OtherCode Codeset="Text">Algebra and Geometry</OtherCode> </OtherCodeList> </SubjectArea> </SubjectAreas> <InterestLevels> <InterestLevel> <Code>03</Code> </InterestLevel> </InterestLevels> <LearningStandardItems> <LearningStandardItemRefId>502070339FA347B5B123BEF68D118332</LearningStandardItemRefId> </LearningStandardItems> </EducationFilter>
Example 6.4.5-1: EducationFilter

Valid XHTML 1.0 Transitional