Index: openacs-4/packages/dotlrn-catalog/www/doc/doc-source/catalog.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-catalog/www/doc/doc-source/catalog.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/dotlrn-catalog/www/doc/doc-source/catalog.xml 14 Mar 2005 16:23:55 -0000 1.1 @@ -0,0 +1,556 @@ + + + + dotlrn-Catalog Documentation + + + DESIGN + + 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. + +
+ 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" +
+ +
+ Content Folder + + To store the the courses in the Conten Repository, a + content-folder with name and label "DotLRN Catalog" was created. Also + the previously created content_type is registered to the folder, by + calling to the same after-install apm-callback-proc as follows: + + set folder_id [content::folder::new -name "DotLRN Catalog" -label + "DotLRN Catalog"] content::folder::register_content_type -folder_id + $folder_id -content_type "dotlrn_catalog" +
+ +
+ Roles + + Three new roles were created to use them when createing the + relations. The first one is for the dotlrn-catalog course and it's + called d_catalog_role, the second one is for the dotlrn class and it's + called dotlrn-class_role and the last one is for the dotlrn communities + and it's called dotlrn_com_role. This roles are the first thing that the + package create on installation and their creation code is: + + + + Oracle: + + begin acs_rel_type.create_role('d_catalog_role', 'DotLRN + Course Catalog Role', 'DotLRN Course Catalog Role'); + acs_rel_type.create_role('dotlrn_class_role', 'dotLRN Class Role', + 'dotLRN Class Role'); acs_rel_type.create_role('dotlrn_com_role', + 'dotLRN Community Role', 'dotLRN Community Role'); commit; end; / + show errors + + + + Postgres: + + create function inline_0 ( ) returns integer as ' begin + PERFORM acs_rel_type__create_role(''d_catalog_role'', ''DotLRN + Catalog Role'', ''DotLRN Catalog Role''); PERFORM + acs_rel_type__create_role(''dotlrn_class_role'', ''dotLRN Class + Role'', ''dotLRN Class Role''); PERFORM + acs_rel_type__create_role(''dotlrn_com_role'', ''dotLRN Community + Role'', ''dotLRN Community Role''); return 0; end;' language + 'plpgsql'; select inline_0 ( ); drop function inline_0 ( ); + + +
+ +
+ 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 +
+ +
+ Privileges + + Two privileges are managed in this package at differents levels, + one is the privilige that a user has over dotlr-catalog package (admin, + create, none), and the other one the privilege that the user has over + one dotlrn-catalog course (admin,none). Depending of what privilege the + users has, acces to some pages and the display of information will be + different. For example if you you have admin or create privilege over + dotlrn-catalog package then you can acces to every page under the + "dotlrn-catalog/dt-catalog/" url, if you are admin all courses will be + shown there but if you only have create privilege the only your courses + will be show. When you create one course then the admin privilege will + be granted to you over that course (item_id). There are two ways to + grant permission to other users at the same two levels described before. + The admin of dotlrn-catalog package can grant/revoke other users the + create privilege over the package, and, any user can grant admin + privilege over one of his courses to any other user in the + system. +
+ +
+ 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" +
+
+ + + USERS MANUAL + + Here are some simple statments to interact with the dotlrn-catalog + package. For sections 2.1 to 2.6 the user requires to have create or admin + privileges under the dotlrn-catalog, package. If you can see the Admin + link in the top right corner of the page then you have privileges on the + dotlrn-package. If you can't see it then you may be interested in Simple + Users Section + +
+ 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). + + + + + + + + + + + + + + + + + + + + +
+ +
+ 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: + + + + + + The Course Key field is a unique identifier that will identify + the course. When creating a new course revision then this validation + will not be checked. + + + + The Course Name is the name of the course. + + + + The Course Information is for describe the course, html is + fine here. + + + + The Assessment ID select box is to associate the assessment + that the users will have to answer (Enroll button) to perform an + specific action. Here only the assessment that the user has created + or has received permissions on will be shown. If no assesment is + associated then no user can enroll to one course. + + + + The Categories select box is to select to wich category the + course will be shown in the index page. To create a new course + version click on the icon on the left of Course Key information and + change the fields you want. + + + + + + + + + + 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. + + + + + + + + +
+ +
+ 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. + + + + + + + + + + + + + + +
+ +
+ 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. + + + + + + + + +
+ +
+ 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". + + + + + + + + +
+ +
+ 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. + + + + 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. + + + + + + + + + + + + + + + + + + + + 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. + + + + + + + + + + + + + + + + + + +
+ +
+ 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: + + + + + + + + +
+ +
+ 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: + + + + + + + + + + + + + + +
+
+ + + AUTHORS + + Viaro Networks (www.viaro.net) + + + + + + Rocael Hernandez -- roc@viaro.net + + Design + + + + Vivian Aguilar -- vivian@viaro.net + + Design + + + + Miguel Marin -- miguelmarin@viaro.net + + Development and Documentation + + + +
\ No newline at end of file