Index: openacs-4/packages/imsld/www/doc/README.txt =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/imsld/www/doc/README.txt,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/imsld/www/doc/README.txt 30 Jun 2005 10:31:51 -0000 1.2 +++ openacs-4/packages/imsld/www/doc/README.txt 5 Jul 2005 16:13:45 -0000 1.3 @@ -2,15 +2,20 @@ You are welcome to edit this specification, but please do it following the next steps: -1. Edit the specification using any xml editor you want (we use docbook) +1. This specification has been written in DocBook format, so edit the specification + using any xml editor you want (we use xmlmind) -2. Edit the specification version number in the imsld-spex.xml file +2. Edit the specification version number in the imsld-spec.xml file -3. Generate the html. We use xsltproc like this: +3. Generate the html. Note that the document has been chunked into several files, with + two hierarchy levels. Please keep this organization. We use xsltproc like this: xsltproc -o out_dir/ --xinclude stylesheets_dir/mychunk.xsl imsld-spec.xml (you can download the stylesheets from http://sourceforge.net/project/showfiles.php?group_id=21935&package_id=16608 + + where mychunk.xsl is a customized file where we have just followed the instructions given in the downloaded stylesheets 4. Commit it -5. Notify the autors and the corresponding package mantainer about the changes +5. Notify the autors and the corresponding package mantainer about the changes +Thanks!!! Index: openacs-4/packages/imsld/www/doc/ch04s01.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/imsld/www/doc/ch04s01.html,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/imsld/www/doc/ch04s01.html 30 Jun 2005 10:43:20 -0000 1.4 +++ openacs-4/packages/imsld/www/doc/ch04s01.html 5 Jul 2005 16:13:45 -0000 1.5 @@ -5,114 +5,103 @@ if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;} settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no'; win=window.open(mypage,myname,settings);} -

Level A

+ references to files, 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.

    Index: openacs-4/packages/imsld/www/doc/ch04s02.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/imsld/www/doc/ch04s02.html,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/imsld/www/doc/ch04s02.html 30 Jun 2005 10:43:20 -0000 1.4 +++ openacs-4/packages/imsld/www/doc/ch04s02.html 5 Jul 2005 16:13:45 -0000 1.5 @@ -5,7 +5,7 @@ if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;} settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no'; win=window.open(mypage,myname,settings);} -

    Level B

    Level B extends the table email_data and add: username_property_id +

    Level B

    Level B extends the table email_data and add: username_property_id and email_property_id (**) Next is shown the E-R diagram for these tables

    • imsld_properties (add a reference to properties from imsld_components and time_limits **)

      • property_id

    • imsld_loc_locpers_locrole_properties: Combined table for the Index: openacs-4/packages/imsld/www/doc/ch04s03.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/imsld/www/doc/ch04s03.html,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/imsld/www/doc/ch04s03.html 30 Jun 2005 10:43:20 -0000 1.4 +++ openacs-4/packages/imsld/www/doc/ch04s03.html 5 Jul 2005 16:13:45 -0000 1.5 @@ -5,7 +5,7 @@ if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;} settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no'; win=window.open(mypage,myname,settings);} -

      Level C

      Modify the imsld_email_data (***), add a reference to +

      Level C

      Modify the imsld_email_data (***), add a reference to imsld_notifications table from imsld_on_completion, imsld_thens and imsld_view_set_properties table (***). Next is shown the E-R diagram that adds Level C

      • imsld_notifications

        • notification_id

        • choice_id - references imsld_notifications_choice

        • subject

      • imsld_notification_emails_data_map

        • notification_id - references imsld_notifications

        • email_data_id - references imsld_email_data

      • imsld_notifications_choice

        • choice_id

        • learning_activity_id - references Index: openacs-4/packages/imsld/www/doc/ch04s04.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/imsld/www/doc/ch04s04.html,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/imsld/www/doc/ch04s04.html 30 Jun 2005 10:43:20 -0000 1.4 +++ openacs-4/packages/imsld/www/doc/ch04s04.html 5 Jul 2005 16:13:45 -0000 1.5 @@ -5,7 +5,7 @@ if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;} settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no'; win=window.open(mypage,myname,settings);} -

          Run Tables

          The previous tables are referred to the IMS-LD specifications level +

          Run Tables

          The previous tables are referred to the IMS-LD specifications level A, B and C. They have all the information necessary to map an XML compliant IMS-LD document to the tables in the .LRN platform. But also, for the ims-ld package to interact with real users, we need additional Index: openacs-4/packages/imsld/www/doc/xmlfiles/imsld-data-model.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/imsld/www/doc/xmlfiles/imsld-data-model.xml,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/imsld/www/doc/xmlfiles/imsld-data-model.xml 30 Jun 2005 10:31:51 -0000 1.1 +++ openacs-4/packages/imsld/www/doc/xmlfiles/imsld-data-model.xml 5 Jul 2005 16:13:45 -0000 1.2 @@ -33,14 +33,24 @@

          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 an entrance in this table. This table + 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 - for having all the required information of a 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. @@ -52,22 +62,19 @@ - uri - uri of the imsld - - - level - A, B or C. It is the level of the IMS-LD file that arrive - sequence_p - sequence used, true or false. True means + sequence_used_p - sequence used, true or false. True means simple sequencing is being used. Defaults to false - learning_objective_id - references - imsld_learning_objectives + learning_objective_itemmodel_id - references + imsld_itemmodels and contains the objectives of the unit of + learning @@ -79,55 +86,26 @@ - prerequisite_id - references imsld_itemmodel + prerequisite_itemmodel_id - references imsld_itemmodels + and contains the prerequisites for the unit of learning component_id - references imsld_components - complete_unit_of_learning_id - references - complete_unit_of_learning + when_property_value_is_set** - references + imsld_when_property_value_is_set. Treated with more detail in + level B - imsld_complete_unit_of_learning. This tables describes the - actions to do when a unit of learning is completed - - - - complete_unit_of_learning_id - - - - when_property_value_is_set_id ** - references - imsld_when_property_value_is_set - - - - - - imsld_prerequisites. It has all the prerequisites of a unit of - learning. These are the previous knolowdges that are required for - doing the unit of learning - - - - prerequisite_id - - - - prerequisite_item - references imsld_items - - - - - imsld_components: Used to store all the components of the - IMS-LD + IMS-LD (which are: roles, acitivities and environments. The + activities references this table) @@ -139,10 +117,6 @@ - activity_id - references imsld_activities - - - environment_id - references imsld_environments @@ -161,7 +135,7 @@ - role_types - references role_types_id + role_type @@ -170,7 +144,7 @@ - match_n_persons - exclusively-in-roles, + match_persons - exclusively-in-roles, not-exclusively @@ -189,36 +163,18 @@ - information_id - references imsld_items + information_itemmodel_id - references imsld_items - role_parent_id. The parent role. This allows a hierarchy + 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_activities. This table defines the three types of - activities in IMS-LD: learning activities, support activities and - structure activities. These three tables references to this - table - - - - activity_id - - - - activity_structure_id - references - imsld_activity_structures - - - - - imsld_learning_activities. This table stores all the learning activities of IMS-LD @@ -232,82 +188,48 @@ - isvisible_p - initial visibility attribute. Initial value: - true + component_id - references imsld_components - learning_objective_id - references - imsld_learning_objectives + isvisible_p - initial visibility attribute. Initial value: + true - prerequisite_id - references imsld_itemmodel + learning_objective_itemmodel_id - references + imsld_itemmodels - parameter_id - references imsld_parameters + time_limit_id - references imsld_time_limits - activity_description_id - references imsld_items + prerequisite_itemmodel_id - references + imsld_itemmodels - complete_activity_id - references - complete_activities + parameter_value - on_completion_id ** - references - imsld_on_completions + activity_description_itemmodel_id - references + imsld_itemmodels - - - - imsld_complete_activities. This is a table where for each - entry is specified when an activity is considered completed - - - complete_activity_id + on_completion_id - references imsld_on_completions - user_choice - the user specifies that this activity is - completed + identifier - unique identifier of the activity - - - time_limit - references imsld_time_limits. The activity is - completed when the time is completed - - - - when_property_value_is_set_id ** - references - imsld_when_property_value_is_set - - imsld_learning_activity_environments_map This table maps - learning activities with environments - - - - learning_activity_id - references - imsld_learning_activities - - - - environment_id - references imsld_environments - - - - - imsld_support_activities. This table stores all the support activities of IMS-LD @@ -330,49 +252,32 @@ - activity_description_id - references imsld_items + parameter_value - complete_activity_id - references - imsld_complete_activities + activity_description_itemmodel_id - references + imsld_itemmodels - on_completion_id - references imsld_on_completions + user_choice - The user decides when the activity is + completed - - - - imsld_support_activity_roles_map. This table maps a support - role to an activity - - - support_activity_id - references - imsld_support_activities + time_limit_id - If user_choice is null, the activity will + be completed until the time referenced by this id has been + expired. - role_id - references imsld_roles + on_completion_id - references imsld_on_completions - - - - imsld_support_activity_environments_map. This table maps - support activities with environments - - - support_activity_id - references - imsld_support_activities + identifier - unique identifier of the acrivity - - - environment_id - references imsld_environments - @@ -387,6 +292,10 @@ + 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 @@ -405,139 +314,38 @@ - information_id - references imsld_items + information_itemmodel_id - references + imsld_itemmodels - - - - imsld_activity_structure_choices - - - choice_id + identifier - - - learning_activity_id - references - imsld_learning_activities - - - - support_activity_id - references - imsld_support_atcivities - - - - unit_of_learning_id - references imsld_imslds - - - - activity_structure_id - references - imsld_activity_structures - - imsld_activity_structure_choices_map + 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. - activity_structure_id - references - imsld_activity_structures - - - - choice_id - references - imsld_activity_structure_choices - - - - - - imsld_activity_structure_environments_map - - - - activity_structure_id - references - imsld_activity_structures - - - - environment_id - references imsld_environments - - - - - - imsld_environments - - - environment_id - - - - imsld_environmnent_instances - - - environment_id - references imsld_environments + parent_environment_id - environmen_instance_id - - - title - imsld_environment_instance_choices - - - - choice_id - - - - learning_object_id - references - imsld_learning_objects - - - - service_id - references imsld_services - - - - environment_id - references imsld_environments - - - - - - imsld_environment_instances_environment_instance_choices_map - - - - choice_id - references - imsld_environment_instance_choices - - - - environment_instance_id - references - imsld_environmnent_instances - - - - - imsld_learning_objects @@ -555,7 +363,7 @@ - parameter_id - references imsld_parameters + parameter_value @@ -564,164 +372,56 @@ - item_sequence_id - references - ims_leanring_object_item_sequences - - - - schema_sequence_id - references - ims_learning_object_schema_sequences - - - - item_id - references imsld_items - - - environment_id - references imsld_environments - - - - imsld_learning_object_item_sequences: First sequence of the - learning objects - - - sequence_id + schema_version - - - title - - ims_learning_object_schema_sequences: Second sequence of the - learning objects + imsld_email_services. It describes all the email + services - sequence_id + email_service_id - schema + select - all-persons-in-role, persons-in-role - schemaversion + title - - - - imsld_learning_object_item_sequence_items_map - - - sequence_id - references - imsld_learning_object_item_sequences + is_visible_p - - - item_id - references imsld_items - - imsld_parameters: Table for holding the parameter values. This - table will possible dissapear, depending if in the development phase - there is the need of storing more information about the - parameters + imsld_email_data - parameter_id - - - - parameter_value - - - - - - imsld_services. It contains all the services - - - - service_id - - - - class - - - - identifier - - - - isvisible_p - - - - parameter_id - - - - email_service - (send_mail) references + sendmail_service_id - references imsld_email_services - conference_service_id - references - imsld_conference_services + role_id - references imsld_roles - index_search_id - refernces - imsld_index_search_services + email_data - - - - imsld_email_services. It describes all the email - services - - - email_id - references imsld_services - - - - select - all-persons-in-role, persons-in-role - - - - title - - - - - - imsld_email_data - - - - email_data_id - - - - role_id - references imsld_roles - - - email_property_id - references imsld_properties ** @@ -733,20 +433,6 @@ - imsld_email_service_email_data_map - - - - email_id - references imsld_email_services - - - - email_data_id - references imsld_email_data - - - - - imsld_conference_services @@ -764,31 +450,12 @@ - conference_manager_id - references imsld_roles - - - - moderator_id - references imsld_roles - - - item_id - references imsld_items - - - - imsld_conference_participants_or_observers_map - - - conference_id - references - imsld_conference_services + is_visible_p - - - role_id - references imsld_roles - @@ -819,31 +486,14 @@ - search - how a user can access the indexed entities - - - search_type - type of search facility that is expected at runtime: free-text-search, index-with-reference, index-without-reference - - - - imsld_learning_objectives. This table contains all the - different objectives of the different unit of learning and - activities. Each entry of this table is a set of objectives. A set - of objectives is symbolized by an itemmodel_id - - - learning_objective_id + is_visible_p - - - itemmodel_id - references imsld_itemmodels - @@ -874,31 +524,19 @@ - imsld_plays_to_complete_method. It contains all the plays that - has a method. Each play can be selected in parallel by an user - during the delivering of a unit of learning + imsld_plays - method_id - - - play_id - - - - imsld_plays - - - play_id + method_id - references imsld_methods - isvisible_p - the user decides when the activity is + is_visible_p - the user decides when the activity is completed? @@ -907,202 +545,83 @@ - complete_play_id - references imsld_complete_play + when_last_act_completed the play is completed until the + act referenced by this field is completed - on_completion_id - references imsld_on_completions + 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 - - - - imsld_complete_play - - - complete_play_id + on_completion_id - references imsld_on_completions - - - when_last_act_completed - references imsld_acts. The play - is completed when this act is completed - - - - time_limit_id - references imsld_time_limits. The play is - completed when this time is completed - - - - when_property_value_is_set_id * - references - imsld_when_property_value_is_set - - imsld_method_plays_map + imsld_acts - method_id - references imsld_methods + act_id play_id - references imsld_plays - - - - imsld_play_acts_map - - - play_id - references imsld_plays - - - - act_id - references imsld_acts - - - - - - imsld_acts - - - - act_id - - - title - complete_act_id - references imsld_complete_acts + 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_condition_true ** - references - imsld_when_condition_true - - - - - - imsld_complete_acts - - - - complete_act_id - - - - time_limit_id - references imsld_complete_acts. When not - null, the act is completed when this time has been completed, - otherwise, the act is completed until all role parts mapped to - this complete_act_id trhoug the imsld_act_role_parts are - completed - - - - when_property_value_is_set_id ** - references + when_property_value_is_set ** - references imsld_when_property_value_is_set - imsld_act_role_parts + imsld_role_parts - complete_act_id - references imsld_acts - - - role_part_id - references imsld_part_id - - - - imsld_act_role_parts_map - - - role_part_id - references imsld_role_parts - - - act_id - references imsld_acts - - - - imsld_role_part_choices - - - choice_id + role_id - learning_activity_id - references - imsld_learning_activities - - - - support_activity_id - references - imsld_support_activities - - - unit_of_learning_id - references imsld_imslds - activity_structure_id - references - imsld_activity_structures - - - environment_id - references imsld_environments - imsld_role_parts - mapping table between acts and roles - - - - role_part_id - - - - title - - - - role_id - references imsld_roles - - - - choice_id - references imsld_role_part_choices - - - - - imsld_on_completion @@ -1145,83 +664,131 @@ - imsld_itemmodel_items_map + imsld_items. Items are used for multiple purposes in other + tables. For example it can describe objectives, prerequisites, + references to files, etc. - item_id - references imsld_items + item_id - itemmodel_id - references imsld_itemmodels + 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_items. Items are used for multiple purposes in other - tables. For example it can describe objectives, prerequisites, - references to files, etc. + imsld_time_limits - item_id + time_limit_id - identifier. Unique identifier for the IMS-LD + time_limit - amount of time in a specific format - identifierref. It references the IMS CP + property_id ** - references imsld_properties + + - - isvisible_p. - + + imsld_parameters + parameter_id - title: A text that can represent a prerequisite, an - objective, the name of a file, etc. + parameter_value - - - parent_item - references imsld_items. An item can - reference to another item, which is a sub-item or child of the - one referencing it. - - imsld_time_limits + 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 - time_limit_id + imsld_object_one_id - references imsld_* + (acs_objects) - time_limit - amount of time in a specific format + imsld_object_one_type - wich can be: learning_object, + imsld_item, imsld_role, support_activity, etc - property_id ** - references imsld_properties + imsld_object_two_id - references imsld_* + (acs_objects) + + + imsld_object_two_type - same as + imsld_object_one_type + - Next, the tables necessary for Level A are draw in the - form of an E-R diagram + - - - - - + IMPORTANT NOTES: + + + + 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. + + + + 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. + + + + This data model can (and it is 99% sure) change in the + implementation phase, but we will base the development on this data + model. + + + + 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. + +
          Index: openacs-4/packages/imsld/www/doc/xmlfiles/imsld-spec.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/imsld/www/doc/xmlfiles/imsld-spec.xml,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/imsld/www/doc/xmlfiles/imsld-spec.xml 30 Jun 2005 10:31:51 -0000 1.1 +++ openacs-4/packages/imsld/www/doc/xmlfiles/imsld-spec.xml 5 Jul 2005 16:13:45 -0000 1.2 @@ -3,7 +3,7 @@ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> - IMS-LD: Integration with .LRN Specification (v 1.1) + IMS-LD: Integration with .LRN Specification (v 1.1.2)