Index: openacs-4/packages/dotlrn-catalog/www/doc/ch01.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-catalog/www/doc/ch01.html,v diff -u -r1.1 -r1.2 --- openacs-4/packages/dotlrn-catalog/www/doc/ch01.html 5 Mar 2005 23:02:43 -0000 1.1 +++ openacs-4/packages/dotlrn-catalog/www/doc/ch01.html 10 Jul 2006 21:40:19 -0000 1.2 @@ -1,3 +1,3 @@ - Chapter 1. DESIGN

Chapter 1. DESIGN

Table of Contents

1. Data Model:
2. Content Folder
3. Roles
4. Relations
5. Privileges
6. Category Tree

The dotLRN-Catalog package make use of various packages like acs-content-repository, categories, assessment dotLRN. It makes use of acs-content-repositoy API to create the data-table and store the data in the database. It is designed to provide proffesors a way to create courses that can have different versions (revisions) and than can be associated to dotLRN classes and communities, categorized in different categories, and also associate one assessment that will provide a way to the users to register to the system, enroll to different dotlrn classes, make member of communities, etc.

\ No newline at end of file + Chapter 1. DESIGN

Chapter 1. DESIGN

Table of Contents

1. Data Model:
2. Content Folder
3. Roles
4. Relations
5. Privileges
6. Category Tree

The dotLRN-Catalog package make use of various packages like acs-content-repository, categories, assessment dotLRN. It makes use of acs-content-repository API to create the data-table and store the data in the database. It is designed to provide professors a way to create courses that can have different versions (revisions) and than can be associated to dotLRN classes and communities, categorized in different categories, and also associate one assessment that will provide a way to the users to register to the system, enroll to different dotlrn classes, make member of communities, etc.

\ No newline at end of file Index: openacs-4/packages/dotlrn-catalog/www/doc/ch01s01.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-catalog/www/doc/ch01s01.html,v diff -u -r1.1 -r1.2 --- openacs-4/packages/dotlrn-catalog/www/doc/ch01s01.html 5 Mar 2005 23:02:43 -0000 1.1 +++ openacs-4/packages/dotlrn-catalog/www/doc/ch01s01.html 10 Jul 2006 21:40:19 -0000 1.2 @@ -1,3 +1,32 @@ - 1. Data Model:

1. Data Model:

The basic table that has all the information about dotlrn-catalog courses is:

I

Indexes: "dotlrn_catalog_pkey" primary key, btree (course_id) Foreign-key constraints: "$1" FOREIGN KEY (course_id) REFERENCES cr_revisions(revision_id)

The new content_type and attribute table are created with the after-install apm-callback-proc as follows:

content::type::new -content_type "dotlrn_catalog" \ -pretty_name "DotLRN Catalog" \ -pretty_plural "DotLRN Catalog" \ -table_name "dotlrn_catalog" \ -id_column "course_id"

# now set up the attributes that by default we need for the course content::type::attribute::new \ -content_type "dotlrn_catalog" \ -attribute_name "course_key" \ -datatype "string" \ -pretty_name "Course Key" \ -pretty_plural "Course Key" \ -sort_order 1 \ -column_spec "varchar(50)"

content::type::attribute::new \ -content_type "dotlrn_catalog" \ -attribute_name "course_name" \ -datatype "string" \ -pretty_name "Course Name" \ -sort_order 2 \ -column_spec "varchar(200)"

content::type::attribute::new \ -content_type "dotlrn_catalog" \ -attribute_name "course_info" \ -datatype "text" \ -pretty_name "Course Information" \ -sort_order 3 \ -column_spec "text"

content::type::attribute::new \ -content_type "dotlrn_catalog" \ -attribute_name "assessment_id" \ -datatype "integer" \ -pretty_name "Assessment ID" \ -sort_order 4 \ -column_spec "integer"

\ No newline at end of file + 1. Data Model:

1. Data Model:

The basic table that has all the information about dotlrn-catalog courses is:

image showing dotlrn_catalog table

I

Indexes: "dotlrn_catalog_pkey" primary key, btree (course_id) Foreign-key constraints: "$1" FOREIGN KEY (course_id) REFERENCES cr_revisions(revision_id)

The new content_type and attribute table are created with the after-install apm-callback-proc as follows:

content::type::new -content_type "dotlrn_catalog" \
+ -pretty_name "DotLRN Catalog" \
+ -pretty_plural "DotLRN Catalog" \
+ -table_name "dotlrn_catalog" \
+ -id_column "course_id"

now set up the attributes that by default we need for the course

 content::type::attribute::new \
+ -content_type "dotlrn_catalog" \
+ -attribute_name "course_key" \
+ -datatype "string" \
+ -pretty_name "Course Key" \
+ -pretty_plural "Course Key" \
+ -sort_order 1 \
+ -column_spec "varchar(50)"

content::type::attribute::new \ + -content_type "dotlrn_catalog" \ + -attribute_name "course_name" \ + -datatype "string" \ + -pretty_name "Course Name" \ + -sort_order 2 \ + -column_spec "varchar(200)"

content::type::attribute::new \ + -content_type "dotlrn_catalog" \ + -attribute_name "course_info" \ + -datatype "text" \ + -pretty_name "Course Information" \ + -sort_order 3 \ + -column_spec "text"

content::type::attribute::new \ + -content_type "dotlrn_catalog" \ + -attribute_name "assessment_id" \ + -datatype "integer" \ + -pretty_name "Assessment ID" \ + -sort_order 4 \ + -column_spec "integer"

Index: openacs-4/packages/dotlrn-catalog/www/doc/ch01s04.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-catalog/www/doc/ch01s04.html,v diff -u -r1.1 -r1.2 --- openacs-4/packages/dotlrn-catalog/www/doc/ch01s04.html 5 Mar 2005 23:02:43 -0000 1.1 +++ openacs-4/packages/dotlrn-catalog/www/doc/ch01s04.html 10 Jul 2006 21:40:19 -0000 1.2 @@ -1,3 +1,9 @@ - - 4. Relations

4. Relations

Two new relations were created to associate dotlrn classes and communities to dotlrn-catalog courses. On associates the dotlrn_catalog type with dotlrn_class_instance type for dotlrn classes, and the other one associates the dotlrn_catalog type with dotlrn_club for the communities. Here is were the previous created roles take place:

# To associate one course to dotlrn class rel_types::new -role_one d_catalog_role -role_two dotlrn_class_role dotlrn_catalog_class_rel \ "DotLRN Catalog Class" "DotLRN Catalog Class" dotlrn_catalog 0 1 dotlrn_class_instance 0 1

# To associate one course to dotrln community rel_types::new -role_one d_catalog_role -role_two dotlrn_com_role dotlrn_catalog_dotcom_rel \ "DotLRN Catalog Community" "DotLRN Catalog Community" dotlrn_catalog 0 1 dotlrn_club 0 1

\ No newline at end of file + + 4. Relations

4. Relations

Two new relations were created to associate dotlrn classes and communities to dotlrn-catalog courses. On associates the dotlrn_catalog type with dotlrn_class_instance type for dotlrn classes, and the other one associates the dotlrn_catalog type with dotlrn_club for the communities. Here is were the previous created roles take place:

+

To associate one course to dotlrn class

+
 rel_types::new -role_one d_catalog_role -role_two dotlrn_class_role dotlrn_catalog_class_rel \
+ "DotLRN Catalog Class" "DotLRN Catalog Class" dotlrn_catalog 0 1 dotlrn_class_instance 0 1
+

To associate one course to dotrln community

 rel_types::new -role_one d_catalog_role -role_two dotlrn_com_role dotlrn_catalog_dotcom_rel \
+ "DotLRN Catalog Community" "DotLRN Catalog Community" dotlrn_catalog 0 1 dotlrn_club 0 1

Index: openacs-4/packages/dotlrn-catalog/www/doc/ch01s06.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-catalog/www/doc/ch01s06.html,v diff -u -r1.1 -r1.2 --- openacs-4/packages/dotlrn-catalog/www/doc/ch01s06.html 5 Mar 2005 23:02:43 -0000 1.1 +++ openacs-4/packages/dotlrn-catalog/www/doc/ch01s06.html 10 Jul 2006 21:40:19 -0000 1.2 @@ -1,3 +1,3 @@ - 6. Category Tree

6. Category Tree

The package installation also mounts an instance of itself under the dotlrn-catalog url, here another amp-callback-proc is called (after-mount) to create the category tree that will allow to categorize each course in different ways. The category tree is created as follows:

# To categorize courses set tree_id [category_tree::add -name "dotlrn-course-catalog"] category_tree::map -tree_id $tree_id -object_id $package_id -assign_single_p "t"

\ No newline at end of file + 6. Category Tree

6. Category Tree

The package installation also mounts an instance of itself under the dotlrn-catalog url, here another amp-callback-proc is called (after-mount) to create the category tree that will allow to categorize each course in different ways. The category tree is created as follows:

To categorize courses:

 set tree_id [category_tree::add -name "dotlrn-course-catalog"] category_tree::map -tree_id $tree_id -object_id $package_id -assign_single_p "t"
Index: openacs-4/packages/dotlrn-catalog/www/doc/ch02s01.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-catalog/www/doc/ch02s01.html,v diff -u -r1.1 -r1.2 --- openacs-4/packages/dotlrn-catalog/www/doc/ch02s01.html 5 Mar 2005 23:02:43 -0000 1.1 +++ openacs-4/packages/dotlrn-catalog/www/doc/ch02s01.html 10 Jul 2006 21:40:19 -0000 1.2 @@ -1,3 +1,3 @@ - 1. Manage Category Tree

1. Manage Category Tree

Once you click to admin link then you will be redirected to your course list page, where if you are dotlrn-catalog admin or site-wide-admin then the link Manage Category Tree will appear:

Once you click un the link you will redirect to a page were you can add/remove categories and subcategories to the already created tree (dotlrn_catalog_tree).

\ No newline at end of file + 1. Manage Category Tree

1. Manage Category Tree

Once you click to admin link then you will be redirected to your course list page, where if you are dotlrn-catalog admin or site-wide-admin then the link Manage Category Tree will appear:

image shows link in context of page

Once you click un the link you will redirect to a page were you can add/remove categories and subcategories to the already created tree (dotlrn_catalog_tree).

image shows category edit links in context of page
image shows example of a category edit button for a specific category
image showing ordering interface in context of 2 categories, 1 nested
\ No newline at end of file Index: openacs-4/packages/dotlrn-catalog/www/doc/ch02s02.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-catalog/www/doc/ch02s02.html,v diff -u -r1.1 -r1.2 --- openacs-4/packages/dotlrn-catalog/www/doc/ch02s02.html 5 Mar 2005 23:02:43 -0000 1.1 +++ openacs-4/packages/dotlrn-catalog/www/doc/ch02s02.html 10 Jul 2006 21:40:19 -0000 1.2 @@ -1,3 +1,3 @@ - 2. Create New Course or New Course Version

2. Create New Course or New Course Version

To create a new course click on the New Course link and you will be redirect to a page were a form to create a new course is presented:

To create a new course version click on the icon on the left of Course Key information and change the fields you want.

When creating a new course version the new information will be shown in all the site, you can change between all version.

Also you can categorize your course latter if you didn't categorize it in the first place by making click in the course name ( redierects you to Course description) and then by making click on the Categorize button.

\ No newline at end of file + 2. Create New Course or New Course Version

2. Create New Course or New Course Version

To create a new course click on the New Course link and you will be redirect to a page were a form to create a new course is presented:

image shows an example of a 'new course' page.

To create a new course version click on the icon on the left of Course Key information and change the fields you want.

image showing a course in context with 'course key'

When creating a new course version the new information will be shown in all the site, you can change between all version.

image shows 'versions' link in context of a course

Also you can categorize your course latter if you didn't categorize it in the first place by making click in the course name ( redierects you to Course description) and then by making click on the Categorize button.

image showing the 'categorize' button as it would appear in line with a course
\ No newline at end of file Index: openacs-4/packages/dotlrn-catalog/www/doc/ch02s03.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-catalog/www/doc/ch02s03.html,v diff -u -r1.1 -r1.2 --- openacs-4/packages/dotlrn-catalog/www/doc/ch02s03.html 5 Mar 2005 23:02:43 -0000 1.1 +++ openacs-4/packages/dotlrn-catalog/www/doc/ch02s03.html 10 Jul 2006 21:40:19 -0000 1.2 @@ -1,3 +1,3 @@ - 3. Associate to dotLRN class or community

3. Associate to dotLRN class or community

Each course can be associted to one or various dotlrn classes or communities. These associations will be displayed in the course description page to give the information to the user about the classess or communities that he/she will become a member of. You can associte one course by making click in the associte link in Your Course List or in the course description page.

To associate classes or communities to the course select check boxes to associate one or various at the same time. Associate classes and communities individually.

If you already have associations to dotLRN then a watch link will appear.

\ No newline at end of file + 3. Associate to dotLRN class or community

3. Associate to dotLRN class or community

Each course can be associted to one or various dotlrn classes or communities. These associations will be displayed in the course description page to give the information to the user about the classess or communities that he/she will become a member of. You can associte one course by making click in the associte link in Your Course List or in the course description page.

image shows a course list showing one course.
image shows a message 'no associations' with a link to associate.

To associate classes or communities to the course select check boxes to associate one or various at the same time. Associate classes and communities individually.

image shows an example list of associated classes and communities, and links to associate more.

If you already have associations to dotLRN then a watch link will appear.

image shows example course.
image shows First Course with new example associations.
\ No newline at end of file Index: openacs-4/packages/dotlrn-catalog/www/doc/ch02s04.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-catalog/www/doc/ch02s04.html,v diff -u -r1.1 -r1.2 --- openacs-4/packages/dotlrn-catalog/www/doc/ch02s04.html 5 Mar 2005 23:02:43 -0000 1.1 +++ openacs-4/packages/dotlrn-catalog/www/doc/ch02s04.html 10 Jul 2006 21:40:19 -0000 1.2 @@ -1,3 +1,3 @@ - 4. Delete one course

4. Delete one course

To delete one course you can click in trash icon on the right if you are in your course list or the delete button if you are in the Course Description page:

You will be redirected to a Delete Confirmation page were some information of the course (number of versions and associations) will be displayed and two buttons (OK, Cancel). If you OK then the course will be deleted including all associations and versions.

\ No newline at end of file + 4. Delete one course

4. Delete one course

To delete one course you can click in trash icon on the right if you are in your course list or the delete button if you are in the Course Description page:

image shows one course from a list, with the trash can on the right

You will be redirected to a Delete Confirmation page were some information of the course (number of versions and associations) will be displayed and two buttons (OK, Cancel). If you OK then the course will be deleted including all associations and versions.

image shows an example confirmation message window.
\ No newline at end of file Index: openacs-4/packages/dotlrn-catalog/www/doc/ch02s05.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-catalog/www/doc/ch02s05.html,v diff -u -r1.1 -r1.2 --- openacs-4/packages/dotlrn-catalog/www/doc/ch02s05.html 5 Mar 2005 23:02:43 -0000 1.1 +++ openacs-4/packages/dotlrn-catalog/www/doc/ch02s05.html 10 Jul 2006 21:40:19 -0000 1.2 @@ -1,3 +1,3 @@ - 5. Changing between Course Versions

5. Changing between Course Versions

To change between course versions you can click on the Course Key link on each course. You will be redirected to a page were all the versions of one course are listed with some information. The "Live" image indicates that this is the version that is shown in all the pages of dotlrn-catalog. The "Go live" button makes another revision of the list "live".

\ No newline at end of file + 5. Changing between Course Versions

5. Changing between Course Versions

To change between course versions you can click on the Course Key link on each course. You will be redirected to a page were all the versions of one course are listed with some information. The "Live" image indicates that this is the version that is shown in all the pages of dotlrn-catalog. The "Go live" button makes another revision of the list "live".

image shows course revisions with indication to which is live.
\ No newline at end of file Index: openacs-4/packages/dotlrn-catalog/www/doc/ch02s06.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-catalog/www/doc/ch02s06.html,v diff -u -r1.1 -r1.2 --- openacs-4/packages/dotlrn-catalog/www/doc/ch02s06.html 5 Mar 2005 23:02:43 -0000 1.1 +++ openacs-4/packages/dotlrn-catalog/www/doc/ch02s06.html 10 Jul 2006 21:40:19 -0000 1.2 @@ -1,3 +1,3 @@ - 6. Grant/Revoke Permissions

6. Grant/Revoke Permissions

One user can have two privileges on dotlrn-catalog package one at package level (Admin, Create, None) and the other one at course level (Admin, None). The users that holds the "Create" privilege on dotlrn-catalog package can create courses, revisions, delete, associate on his own courses or the courses that he has recieved "admin" privilege. The user that creates once course has admin privilege on that course and can grant the same privilege over that course to other users. The users that does not hold any privilege at all, then can only see what courses are available and can try to enroll to them.

  1. Grant/Revoke Permissions over dotlrn-catalog package

    Only the users that have admin privilege on dotlrn-catalog package can will see the "Grant Permission link" and can grant Create privilege to other users on the system. Giving Create privilege to other users allows him to create, edit, delete courses in dotlrn-catalog package. You will be redirected to a page were all the users that have create privile over dotrln-catalo package will appear. And a search form to search for users to grant/revoke privileges.

  2. Grant/Revoke Permissions over one course

    You can grant your admin privilege on one course by making click on the Manage permission link on the permission column on your course list or by making click on the Manage Permission button on one course details page. Giving the admin privilege to a users allows he/she make all the things you can do with your course, you can also revoke his/her permission in the same way.

\ No newline at end of file + 6. Grant/Revoke Permissions

6. Grant/Revoke Permissions

One user can have two privileges on dotlrn-catalog package one at package level (Admin, Create, None) and the other one at course level (Admin, None). The users that holds the "Create" privilege on dotlrn-catalog package can create courses, revisions, delete, associate on his own courses or the courses that he has recieved "admin" privilege. The user that creates once course has admin privilege on that course and can grant the same privilege over that course to other users. The users that does not hold any privilege at all, then can only see what courses are available and can try to enroll to them.

  1. Grant/Revoke Permissions over dotlrn-catalog package

    Only the users that have admin privilege on dotlrn-catalog package can will see the "Grant Permission link" and can grant Create privilege to other users on the system. Giving Create privilege to other users allows him to create, edit, delete courses in dotlrn-catalog package. You will be redirected to a page were all the users that have create privile over dotrln-catalo package will appear. And a search form to search for users to grant/revoke privileges.

    image shows links: New course, Manage Category tree, and points to Grant permissions
    image shows a search/select window.
  2. Grant/Revoke Permissions over one course

    You can grant your admin privilege on one course by making click on the Manage permission link on the permission column on your course list or by making click on the Manage Permission button on one course details page. Giving the admin privilege to a users allows he/she make all the things you can do with your course, you can also revoke his/her permission in the same way.

    image shows First Course in the course list.
    image shows search/edit permissions window with test user's permission status 'not allowed'
\ No newline at end of file Index: openacs-4/packages/dotlrn-catalog/www/doc/ch02s07.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-catalog/www/doc/ch02s07.html,v diff -u -r1.1 -r1.2 --- openacs-4/packages/dotlrn-catalog/www/doc/ch02s07.html 5 Mar 2005 23:02:43 -0000 1.1 +++ openacs-4/packages/dotlrn-catalog/www/doc/ch02s07.html 10 Jul 2006 21:40:19 -0000 1.2 @@ -1,3 +1,3 @@ - 7. Watch Course Details (Information)

7. Watch Course Details (Information)

You can watch all the course information at the Course Description page by making click on the course name:

The buttons bar will only appear if you are inside dt-admin, if you come form index page then the enroll button will appear if one assessment is associated to the course:

\ No newline at end of file + 7. Watch Course Details (Information)

7. Watch Course Details (Information)

You can watch all the course information at the Course Description page by making click on the course name:

image shows First Course in course list format with Course name as a link.
image shows Course information window with example details, including links to Manage permissions, Delete, Categorize.

The buttons bar will only appear if you are inside dt-admin, if you come form index page then the enroll button will appear if one assessment is associated to the course:

image shows previous First Course details window without links to manage permissions, delete, or categorize.
\ No newline at end of file Index: openacs-4/packages/dotlrn-catalog/www/doc/ch02s08.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-catalog/www/doc/ch02s08.html,v diff -u -r1.2 -r1.3 --- openacs-4/packages/dotlrn-catalog/www/doc/ch02s08.html 14 Mar 2005 16:20:14 -0000 1.2 +++ openacs-4/packages/dotlrn-catalog/www/doc/ch02s08.html 10 Jul 2006 21:40:19 -0000 1.3 @@ -1,3 +1,3 @@ - 8. Simple Users

8. Simple Users

Will only see the available courses and can watch information about each course by making click on the course name at index page. If one assessment is associated to the course then they will be able to answer it and be part of one of the courses and communities also related to dotlrn-catalog Course:

\ No newline at end of file + 8. Simple Users

8. Simple Users

Will only see the available courses and can watch information about each course by making click on the course name at index page. If one assessment is associated to the course then they will be able to answer it and be part of one of the courses and communities also related to dotlrn-catalog Course:

image shows DotLRN Catalog Index with First Course listed.
image shows example Course information and dotLRN Associations for First Course.
\ No newline at end of file