Index: openacs-4/packages/curriculum/www/doc/dev.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum/www/doc/dev.html,v diff -u -r1.1 -r1.2 --- openacs-4/packages/curriculum/www/doc/dev.html 3 Jul 2003 10:56:01 -0000 1.1 +++ openacs-4/packages/curriculum/www/doc/dev.html 11 Dec 2003 21:40:01 -0000 1.2 @@ -82,89 +82,17 @@ > and the cu_elements tables. Elements, not curriculums, are actually the most fundamental objects that the Curriculum package works with. Presenting the elements as belonging to a certain curriculum, in turn belonging to a certain instance, is more or less a matter of display finesses. The curriculum and element definition tables are cached per instance, and the cache gets flushed whenever a curriculum or element is modified.
tables. Elements, not curriculums, are actually the most fundamental objects that the Curriculum package works with. Presenting the elements as belonging to a certain curriculum, in turn belonging to a certain instance, is more or less a matter of display finesses. The curriculum and element definition tables are cached per instance, and the cache gets flushed via a callback whenever a curriculum or element is modified by an editor or publisher.The tracking of users' learning progress is handled with a registered filter that notes whenever a user visits a URL that has been defined as a learning element in a curriculum. If the URL is external to the subsite that hosts the Curriculum instance, it will be modified in the bar so as to lead to a "clickthrough" script where the tracking takes place as the web page is delivered. In order to display the curriculum bar on external pages too, these are presented with frames. A user's individual curriculum progress is set and updated in a cookie. Logged-in users get their learning progress recorded in the cu_user_element_map.
In order for logged-in users to have more control over which curriculums to follow and which not to, the cu_user_element_map. In order for logged-in users to have more control over which curriculums to follow and which not to, the cu_user_curriculum_map keeps track of which curriculums a user wants displayed. This table is cached per user. The cache is only flushed for all users at the specific request of a curriculum administrator who is done modifying the curriculums and elements in an instance. The administrator will want do this from time to time in order to update the curriculum bar of all users of the Curriculum service so as to reflect altered curriculum or element definitions.
keeps track of which curriculums a user wants displayed. This table is cached per user.Curriculum uses the Workflow package for managing the process of publishing curriculums. A default workflow is automatically created when installing the Curriculum package. Every instance will use an individual copy of this default workflow. If you are dissatisfied with the default workflow template and wish to create another one of your own liking, please refer to the Workflow Developer's Guide. The default workflow of Curriculum goes as follows:
Curriculum uses the Workflow package for managing the process of publishing curriculums. A default workflow - distinguishing between the roles of Creator, Editor, and Publisher - is automatically created when installing the Curriculum package. Every instance will use an individual copy of this default workflow. If you are dissatisfied with the default workflow template and wish to create another one to your own liking, please refer to the Workflow Developer's Guide.* Roles: - -{Author} -{Editor} -{Publisher} - -* Actions: - -[Create] -[Edit] -[Reject] -[Publish] -[Archive] -[Comment] - -* States: - -(Created) -(Edited) -(Rejected) -(Published) -(Archived) - -* Cases: - -In-flow: - -The {Editor} and {Publisher} are required to act on some states, and will be notified when this is so. - -When the object is in the states (Created) or (Rejected) the {Editor} is required to [Edit]. - -(Created) -> [Edit] -> (Edited) -(Rejected) -> [Edit] -> (Edited) - -When the object is in the state (Edited) the {Publisher} is required to [Reject] or [Publish]. - -(Edited) -> [Reject] -> (Rejected) -(Edited) -> [Publish] -> (Published) - -Out-of-flow: - -The {Author}, {Editor}, and {Publisher} are free to act in different ways on different states. - -The {Author} can always [Create] objects, and then the {Editor} is required to [Edit]. - -[Create] -> (Created) - -The {Editor} can always [Edit] objects, and then the {Publisher} is required to either [Reject] or [Publish]. - -(Edited) -> [Edit] -> (Edited) -(Published) -> [Edit] -> (Edited) -(Archived) -> [Edit] -> (Edited) - -The {Publisher} can always [Archive] objects that are (Published), and [Publish] objects that are (Archived). - -(Published) -> [Archive] -> (Archived) -(Archived) -> [Publish] -> (Published) - -All roles can [Comment] the workflow process without this having any effect on the states. -