Level A
Prev | Chapter 4. Data Model | Next

## Level A

Next, the tables necessary for Level A are draw in the form of an E-R diagram

- imsld_imslds: This table is used to store all the units of learning. This is the high level in the hierarchy. Each IMS-LD file loaded in .LRN will generate a row in this table. This table contains all the different units of learning. Each unit of learning will contain global information and also references to other tables, in order to represent completely the information represented by the unit of learning.

  - imsld_id - identifier

  - version - version number

  - level - A, B or C. It is the level of the IMS-LD file that arrive

  - sequence_used_p - sequence used, true or false. True means simple sequencing is being used. Defaults to false

  - learning_objective_itemmodel_id - references imsld_itemmodels and contains the objectives of the unit of learning

  - title

  - method_id - references imsld_methods

  - prerequisite_itemmodel_id - references imsld_itemmodels and contains the prerequisites for the unit of learning

  - component_id - references imsld_components

  - when_property_value_is_set** - references imsld_when_property_value_is_set. Treated with more detail in level B

- imsld_components: Used to store all the components of the IMS-LD (which are: roles, acitivities and environments. The activities references this table)

  - component_id

  - role_id - references imsld_roles

  - environment_id - references imsld_environments

  - property_id ** - references imsld_properties

- imsld_roles. This table contains all the defined roles

  - role_id - references imsld_roles

  - role_type

  - create_new_p - multopleoccurrences of this role may be created during runtime?

  - match_persons - exclusively-in-roles, not-exclusively

  - max_persons. Maximum number of persons for this role

  - min_persons. Minimum number of persons for this role

  - role_name. The name of the role

  - information_itemmodel_id - references imsld_items

  - parent_role_id. The parent role. This allows a hierarchy of roles. The root of the hierarchy are learner and stuff, which has not a parent role

- imsld_learning_activities. This table stores all the learning activities of IMS-LD

  - learning_activity_id - references imsld_activities

  - title

  - component_id - references imsld_components

  - isvisible_p - initial visibility attribute. Initial value: true

  - learning_objective_itemmodel_id - references imsld_itemmodels

  - time_limit_id - references imsld_time_limits

  - prerequisite_itemmodel_id - references imsld_itemmodels

  - parameter_value

  - activity_description_itemmodel_id - references imsld_itemmodels

  - on_completion_id - references imsld_on_completions

  - identifier - unique identifier of the activity

- imsld_support_activities. This table stores all the support activities of IMS-LD

  - support_activity_id - references imsld_activities

  - component_id - references imsld_components

  - isvisible_p - initial visibility attribute. Initial value: true

  - title. The name of the support activity

  - parameter_value

  - activity_description_itemmodel_id - references imsld_itemmodels

  - user_choice - The user decides when the activity is completed

  - time_limit_id - If user_choice is null, the activity will be completed until the time referenced by this id has been expired.

  - on_completion_id - references imsld_on_completions

  - identifier - unique identifier of the acrivity

- imsld_activity_structures. This table contains all the activity structures of IMS-LD. Each entry is one activity structure.

  - activity_structure_id - references imsld_activities

  - component_id - references imsld_components

  - number_to_select - if not null, the activity structure is completed when the number of activities completed equals the number set

  - sort - possible values: as-is, visibility-order

  - structure_type - sequence or selection

  - title. The name of the activity structure

  - information_itemmodel_id - references imsld_itemmodels

  - identifier

- imsld_environments. This table contains the environments of the unit of learning. An environment consists of learning objects, services and other environments, and it can be referentiated by some other tables too.

  - environment_id

  - parent_environment_id

  - title

- imsld_learning_objects

  - learning_object_id

  - class

  - isvisible_p - the user decides when the activity is completed?

  - parameter_value

  - type - knowledge-object, tool-object, test-object, etc. (learning resource type from the IEEE LTSC LOM)

  - environment_id - references imsld_environments

  - schema_version

- imsld_email_services. It describes all the email services

  - email_service_id

  - select - all-persons-in-role, persons-in-role

  - title

  - is_visible_p

- imsld_email_data

  - sendmail_service_id - references imsld_email_services

  - role_id - references imsld_roles

  - email_data

  - email_property_id - references imsld_properties **

  - username_property_id - references imsld_properties **

- imsld_conference_services

  - conference_id

  - conference_type - synchronous, asynchronous or announcement

  - title

  - item_id - references imsld_items

  - is_visible_p

- imsld_index_search_services

  - search_service_id

  - title

  - index_class - this element selects the calss to make the index on

  - index_element - this element selects the element to make the index on

  - index_type_of_element - type of element to index on

  - search_type - type of search facility that is expected at runtime: free-text-search, index-with-reference, index-without-reference

  - is_visible_p

- imsld_methods

  - method_id

  - time_limit_id - references imsld_time_limits. If not null, the method is completed when this time has been completed, otherwise, the method is completed when all the plays mapped to this method through the imsld_plays_to_complete_method are completed

  - on_completion_id - references imsld_on_completions

  - condition_id ** - references imsld_conditions

- imsld_plays

  - play_id

  - method_id - references imsld_methods

  - is_visible_p - the user decides when the activity is completed?

  - title

  - when_last_act_completed the play is completed until the act referenced by this field is completed

  - time_limit_id - references time_limits. If when_last_act_completed is null, the play is completed when the time indicated here has been completed

  - on_completion_id - references imsld_on_completions

- imsld_acts

  - act_id

  - play_id - references imsld_plays

  - title

  - time_limit_id - if there are no role_parts mapped to this act throug the mapping table (explained later), the act is completed until the the time indicated here has been completed

  - on_completion_id - references on_completion

  - when_property_value_is_set ** - references imsld_when_property_value_is_set

- imsld_role_parts

  - role_part_id - references imsld_part_id

  - act_id - references imsld_acts

  - role_id

  - unit_of_learning_id - references imsld_imslds

  - environment_id - references imsld_environments

- imsld_on_completion

  - on_completion_id

  - feedback_description_id - references imsld_itemmodels

  - change_property_value_id ** - references imsld_change_property_value

  - notification_id - references imsld_notifications ***

- imsld_itemmodels. This is a table that contains a text and an id. In conjunction with the tables imsld_itemmodel and imsld_itemmodel_items_map allow to associate several items to the same itemmodel.

  - title

  - itemmodel_id

- imsld_items. Items are used for multiple purposes in other tables. For example it can describe objectives, prerequisites, references to files, etc.

  - item_id

  - identifier. Unique identifier for the IMS-LD

  - is_visible_p

  - title: A text that can represent a prerequisite, an objective, the name of a file, etc.

- imsld_time_limits

  - time_limit_id

  - time_limit - amount of time in a specific format

  - property_id ** - references imsld_properties

- imsld_parameters

  - parameter_id

  - parameter_value

- imsld_imsld_objects_map. This is a very importan table in this data model, because it is used to map almost every imsld_* to every imsld_*. For instance, the activities that are part of a component are mapped by this table, and the acts to complete play are also mapped using this table. This is just a representation of the acs_rels table, because at the implementation phase, acs_rels will be used with different rel_types

  - imsld_object_one_id - references imsld_* (acs_objects)

  - imsld_object_one_type - wich can be: learning_object, imsld_item, imsld_role, support_activity, etc

  - imsld_object_two_id - references imsld_* (acs_objects)

  - imsld_object_two_type - same as imsld_object_one_type

IMPORTANT NOTES:

1. The last table will use acs_rels. The rel_types will be completely defined in the implementation phase. By now we can think of: parent_item_rel, role_parts_activites_rel, component_service_rels, service_roles_rel, learning_object_item_rel, plays_to_complete_method_rel and role_parts_to_complete_act.

2. There are some important IMS-LD tags (learning objectives, for instance) that does not have a table for themselves, but this is because such tags consist only of a reference to a itemmodel or another table, so there is no need to create a table just for that.

3. This data model can (and it is 99% sure) change in the implementation phase, but we will base the development on this data model.

4. There are some tables in this data model that will be related to some others of other .LRN packages. For instance, the table imsld_conferences will be used to store the synchronous type (forums) and asynchronous type (chats) of conferences. Also, we will use acs_objects for the imslds, activities, services, learning_objects, components, and for every case we find it useful. We can make use of the cr_items too. But that is something that we will know better in the implementation phase.

Prev | Up | Next
Chapter 4. Data Model | Home | Level B