This is a subpage of http://wiki.oasis-open.org/dita/LearningSubcommittee. See the terms of use there.
This is a working page of a design in progress.
A DITA Map Domain for learning and training content
A DITA map domain to represents the structure of topics for a learning object, using the topic types we have developed.
Doing this as a map domain instead of a map type basically makes it possible to use these learning-object map structures within any DITA map, not just a learning-specific DITA map.
Basic design pattern for a learning object
<map>
<!-- learningObject clusters can appear anywhere in a map hierarchy but always
follow a consistent information pattern within the LO -->
<learningObject collection-type="sequence" href="top_Overview.dita" type="learningOverview">
<learningPlanRef href="learningPlan_topic.dita" type="learningPlan" />
<learningOverviewRef href="lo_Overview.dita" type="learningOverview"/>
<learningContentRef href="lo_Content.dita" type="learningContent"/>
<learningAssessmentRef href="lo_Assess.dita" type="learningAssessment"/>
<learningSummaryRef href="lo_Summary.dita" type="learningSummary"/>
</learningObject>
</map>
What these things mean
learningObject
- A container to introduce and group the topic references for a learning object. May include a topic reference to a top-level learningOverview topic.
learningPlanRef (zero or one)
- A topic reference to a learning plan topic.
learningOverviewRef (zero or one)
- A topic reference to the learning overview topic, which introduces the learning object.
learningContentRef (zero or more)
- A topic reference to one or more learning content topics, or one or more topic, task, concept, or reference topics.
learningSummaryRef (zero or one)
- A topic reference to a learning summary topic.
learningAssessmentRef (zero or more)
- A topic reference to a learning assessment topic.
Grouping learning objects with learningGroup
A learning object represents the lowest level organization of learning content.
Learning objects combine to form higher-level groupings, such as course-level, module-level, or lesson-level.
A learningGroup element in the DITA learning map domain facilitates the organization of learning objects into such higher-level groupings.
learningGroup (zero or more)
- A container to introduce and group learning objects into higher-level organizations, such as course-level, module-level, or lesson-level. May include a topic reference to a top-level learningOverview topic.
A <learningGroup> can contain other <learningGroup> elements, allowing you to organize learning content at course, module, or other higher-levels of hierarchy.
- A container to introduce and group learning objects into higher-level organizations, such as course-level, module-level, or lesson-level. May include a topic reference to a top-level learningOverview topic.
The basic design pattern for a learningGroup is as follows:
<map>
<map>
<!-- a learningGroup can appear anywhere in a map hierarchy but always
follows a consistent information pattern -->
<!------------------------------------------------------------------->
<!-- a course=level learning group -->
<learningGroup href="course_top_Overview.dita" type="learningOverview">
<!------------------------------------------------------------------->
<learningPlanRef href="course_Plan_topic.dita" type="learningPlan" />
<learningOverviewRef href="course_Overview.dita" type="learningOverview"/>
<!------------------------------------------------------------------->
<!-- module-level learning groups -->
<learningGroup href="module1_ Overview.dita" type="learningOverview">
<!------------------------------------------------------------------->
<learningOverviewRef href="module1_Overview.dita" type="learningOverview"/>
<!------------------------------------------------------------------->
<!-- This module has two lesson-level groups of learning objects -->
<learningGroup href="lesson1_ Overview.dita" type="learningOverview">
<!------------------------------------------------------------------->
<learningOverviewRef href="lesson1_Overview.dita" type="learningOverview"/>
<!-- learning objects in lesson1 -->
<learningObject collection-type="sequence" href="lo1_Overview.dita" type="learningOverview">
. . .
</learningObject>
<learningObject collection-type="sequence" href="lo2_Overview.dita" type="learningOverview">
. . .
</learningObject>
<learningAssessmentRef href="lesson1_Assessment.dita" type="learningAssessment"/>
<learningSummaryRef href="lesson1_Summary.dita" type="learningSummary"/>
</learningGroup>
<!------------------------------------------------------------------->
<learningGroup href="lesson2_ Overview.dita" type="learningOverview">
<!------------------------------------------------------------------->
<learningOverviewRef href="lesson1_Overview.dita" type="learningOverview"/>
<!-- learning objects in lesson2 -->
<learningObject collection-type="sequence" href="lo3_Overview.dita" type="learningOverview">
. . .
</learningObject>
<learningObject collection-type="sequence" href="lo4_Overview.dita" type="learningOverview">
. . .
</learningObject>
<learningAssessmentRef href="lesson2_Assessment.dita" type="learningAssessment"/>
<learningSummaryRef href="lesson2_Summary.dita" type="learningSummary"/>
</learningGroup>
</learningGroup>
<!------------------------------------------------------------------->
<learningGroup href="module2_ Overview.dita" type="learningOverview">
<!------------------------------------------------------------------->
<learningOverviewRef href="module1_Overview.dita" type="learningOverview"/>
<!-- learning objects in module 2 (no lesson-level groups) -->
<learningObject collection-type="sequence" href="loA_Overview.dita" type="learningOverview">
. . .
</learningObject>
<learningObject collection-type="sequence" href="loB_Overview.dita" type="learningOverview">
</learningObject>
. . .
<learningObject collection-type="sequence" href="loC_Overview.dita" type="learningOverview">
</learningObject>
<learningAssessmentRef href="module2_Assessment.dita" type="learningAssessment"/>
<learningSummaryRef href="module2_Summary.dita" type="learningSummary"/>
</learningGroup>
<!------------------------------------------------------------------->
<learningAssessmentRef href="course_Assessment.dita" type="learningAssessment"/>
<learningSummaryRef href="course_Summary.dita" type="learningSummary"/>
</learningGroup>
<!------------------------------------------------------------------->
</map>
</map>=== Making assessments available for use as both pre-test and post-test ==
- Assessments need to be available for use as either a pre-test, post-test, or both.
To enable that, a learningGroup and learningObject can include a one or more learningAssessmentRef's before or after the learningOverviewRef and before or after the learningSummaryRef.
Including references to learningGroup or learningObject defined in other ditamaps
You can include reference to a learningGroup of learningObject defined in another ditamap in two ways.
a) Directly reference the map by href
You can include target maps directly by referencing the map with the href and setting the format attribute to ″ditamap″.
For example, this learningGroup includes the learningGroup defined in the learning_lo1.ditamap.
<learningGroup href="learning_lo1.ditamap" format="ditamap">
</learningGroup>
b) Referencing a specific learningGroup or learningObject by conref
If you associate a learningGroup or learningObject with an ID, you can pull the contents of that learningGroup into another map by using conref.
For example, this learningGroup pulls in the lesson1 learningGroup from learning_lo1.ditamap.
<learningGroup conref="learning_lo1.ditamap#lesson1">
</learningGroup>
Summary of learningGroup design pattern
A *learningGroup* consists of:
- topicmeta (optional)
- learningPlanRef (optional)
- learningOverviewRef or learningAssessmentRef (one or more, in any order)
- learningObject or learningGroup (one or more, in any order)
- learningAssessment or learningSummary (one or more, in any order)
Summary of learningObject design pattern
A *learningObject* consists of:
- topicmeta (optional)
- learningPlanRef (optional)
- learningOverviewRef or learningAssessmentRef (one or more, in any order)
- learningContentRef (one or more)
- learningAssessment or learningSummary (one or more, in any order)
What a DTD for this looks like
Here's some DTD fragments that describe such a thing. Based on our discussion, I'll add to the plugin for all to try out. Note - not all attributes listed below.
<!ELEMENT learningObject ((%topicmeta;)?,
(%learningPlanRef;)?,
((%learningOverviewRef;) | (%learningAssessmentRef;))*,
(%learningContentRef;)*,
((%learningAssessmentRef;) | (%learningSummaryRef;))*)
>
<!ELEMENT learningGroup ((%topicmeta;)?,
(%learningPlanRef;)?,
((%learningOverviewRef;) | (%learningAssessmentRef;))*,
((%learningObject;) | (%learningGroup;))*,
((%learningAssessmentRef;) | (%learningSummaryRef;))*
)
>
More background on discussion about the Learning Map domain
For additional background, see Background discussion about learning map.
And see Paul Barley's term comparisons - http://lists.oasis-open.org/archives/dita-learningspec/200609/msg00009.html.
Dita Wiki