View · Index

Weblog Page

Showing 271 - 280 of 693 Postings (summary)

Nagios Monitoring

Created by Malte Sussdorff, last modified by Gustaf Neumann 26 Oct 2016, at 01:13 PM

To monitor your server with Nagios you can use the check_http command.

Use

check_http -h <yourip> -u /SYSTEM/dbtest -s "success"

To obtain the HTTP critical status if OpenACS can't return success, which can be either because the server isn't running or the database connection has failed.

dotLRN

Created by Emmanuelle Raffenne, last modified by Gustaf Neumann 22 Oct 2016, at 09:34 AM

Package Specification Summary for Package: dotlrn

Summary: A Course Management System
Description: Course Management
Maturity: Mature
This package depends on: acs-kernel acs-subsite acs-admin acs-mail-lite acs-lang attachments new-portal profile-provider user-profile
Packages that depend on dotlrn: attendance chat-portlet content-portlet courses dotlrn-admin dotlrn-ae dotlrn-application-track dotlrn-assessment dotlrn-attendance dotlrn-bboard dotlrn-beehive dotlrn-bm dotlrn-calendar dotlrn-cards dotlrn-catalog dotlrn-chat dotlrn-content dotlrn-curriculum dotlrn-datamanager dotlrn-dotlrn dotlrn-ecommerce dotlrn-edit-this-page dotlrn-eduwiki dotlrn-evaluation dotlrn-expense-tracking dotlrn-faq dotlrn-forums dotlrn-fs dotlrn-homework dotlrn-imsld dotlrn-jabber dotlrn-lamsint dotlrn-learning-content dotlrn-lorsm dotlrn-messages dotlrn-mmplayer dotlrn-news dotlrn-news-aggregator dotlrn-photo-album dotlrn-portlet dotlrn-quota dotlrn-recruiting dotlrn-research dotlrn-static dotlrn-survey dotlrn-syllabus dotlrn-tasks dotlrn-user-tracking dotlrn-weblogger dotlrn-wikipedia dotlrn-wps dotlrn-xowiki eduwiki eduwiki-portlet evaluation expenses ims-ent learning-content learning-content-portlet messages messages-portlet planner random-photo-portlet research-portlet static-portlet tasks-portlet theme-selva theme-zen xowiki-portlet
Package parameters:
ConvertBinPath
path to the ImageMagick convert binary (default /usr/bin/convert, type string, scope instance)
DefaultSiteTemplate
The name of the default site template (default #new-portal.sloan_theme_name#, type string, scope instance)
SelfRegistrationP
Allow a user to join/leave communities or classes. (default 1, type number, scope instance)
SelfRegistrationRedirectTo
URL to redirect to if user is not allowed to join/leave a community or class instead of displaying the 'Not Allowed' page. (default /dotlrn, type string, scope instance)
admin_layout_name
The layout of the admin page (default #new-portal.simple_2column_layout_name#, type string, scope instance)
admin_page_name
The name of the admin page (default #dotlrn.admin_page_name#, type string, scope instance)
auto_dotlrn_user_email_patterns
Automatic dotLRN user email patterns (default , type string, scope instance)
class_group_type_key
Class Group Type (default dotlrn_class, type string, scope instance)
class_instance_pages_csv
cvs list of the page_name/layout to create (default #dotlrn.class_page_home_title#,#new-portal.simple_2column_layout_name#,#dotlrn.class_page_home_accesskey#;#dotlrn.class_page_calendar_title#,#new-portal.simple_1column_layout_name#,#dotlrn.class_page_calendar_accesskey#;#dotlrn.class_page_file_storage_title#,#new-portal.simple_1column_layout_name#,#dotlrn.class_page_file_storage_accesskey#, type string, scope instance)
class_instance_portal_pretty_name
the nice name for the class instance portal template (default #dotlrn.class_instance_portal_pretty_name#, type string, scope instance)
class_instances_pretty_name
used to display everywhere in the ui (default #dotlrn.class_instances_pretty_name#, type string, scope instance)
class_instances_pretty_plural
used everywhere in the ui (default #dotlrn.class_instances_pretty_plural#, type string, scope instance)
classes_pretty_name
used to display everywhere in the ui (default #dotlrn.classes_pretty_name#, type string, scope instance)
classes_pretty_plural
used everywhere in the ui (default #dotlrn.classes_pretty_plural#, type string, scope instance)
club_group_type_key
Class Group Type (default dotlrn_club, type string, scope instance)
club_pages_csv
same (default #dotlrn.club_page_home_title#,#new-portal.simple_2column_layout_name#,#dotlrn.club_page_home_accesskey#;#dotlrn.club_page_calendar_title#,#new-portal.simple_1column_layout_name#,#dotlrn.club_page_calendar_accesskey#;#dotlrn.club_page_file_storage_title#,#new-portal.simple_1column_layout_name#,#dotlrn.club_page_file_storage_accesskey#;#dotlrn.club_page_people_title#,#new-portal.simple_1column_layout_name#,#dotlrn.club_page_people_accesskey#, type string, scope instance)
clubs_pretty_name
used everywhere in the ui (default #dotlrn.clubs_pretty_name#, type string, scope instance)
clubs_pretty_plural
used everywhere in the ui (default #dotlrn.clubs_pretty_plural#, type string, scope instance)
community_level_p
Whether this is a Class Instance Level instantiation of the package (default , type number, scope instance)
community_type_level_p
Whether this is a Class Level instance of the package (default , type number, scope instance)
default_class_instance_applets
dotLRN applets to add by default to each new community (default dotlrn_dotlrn,dotlrn_fs,dotlrn_forums,dotlrn_calendar,dotlrn_faq,dotlrn_news,dotlrn_static,dotlrn_bm,dotlrn_syllabus,dotlrn_homework_applet, type string, scope instance)
default_club_applets
the applets to add when making a new club (default dotlrn_dotlrn,dotlrn_fs,dotlrn_forums,dotlrn_calendar,dotlrn_faq,dotlrn_news,dotlrn_static,dotlrn_bm, type string, scope instance)
default_subcomm_applets
The applets to add when making a new subgroup (default dotlrn_dotlrn,dotlrn_fs,dotlrn_forums,dotlrn_calendar,dotlrn_faq,dotlrn_news,dotlrn_static,dotlrn_bm, type string, scope instance)
default_user_portal_applets
a csv list of the applets to call when creating the user portal template (default dotlrn_dotlrn,dotlrn_calendar,dotlrn_forums,dotlrn_faq,dotlrn_fs,dotlrn_news, type string, scope instance)
departments_pretty_name
used everywhere in the ui (default #dotlrn.departments_pretty_name#, type string, scope instance)
departments_pretty_plural
used everywhere in the ui (default #dotlrn.departments_pretty_plural#, type string, scope instance)
dotlrn_admin_pretty_name
What is dotlrn administration displayed as? Some might want 'Site Wide Administration' and some might with 'dotLRN Administration' (default #dotlrn.dotlrn_admin_pretty_name#, type string, scope instance)
dotlrn_level_p
Whether this is the top-level instantiation of the DotLRN package (default , type number, scope instance)
dotlrn_main_portlet_pretty_name
The pretty name for the dotlrn main portlet (aka "My Groups") (default #dotlrn.dotlrn_main_portlet_pretty_name#, type string, scope instance)
dotlrn_main_portlet_region
The region of the user's workspace portal to put the dotlrn main portlet into. 1 is the leftmost. 2 is the next region to the left. etc. (default 2, type string, scope instance)
group_type_key
Class Group Type (default dotlrn_community, type string, scope instance)
hide_personal_portal_p
Some systems may wish to keep the personal portal hidden. Setting this value to 1 will cause dotlrn to exclude navigation to the personal portal from community portals, and disable the entire navbar on non-community portal pages. (default 0, type number, scope instance)
non_member_layout_name
The name of the not a member page (default #new-portal.simple_2column_layout_name#, type string, scope instance)
non_member_page_name
The name of the not a member page (default #dotlrn.non_member_page_name#, type string, scope instance)
show_portrait_p
Should we show and solicit user portraits? 1=Yes, 0=No (default 1, type number, scope instance)
subcomm_pages_csv
default page names and layouts for subcomms (default #dotlrn.subcomm_page_home_title#,#new-portal.simple_2column_layout_name#,#dotlrn.subcomm_page_home_accesskey#;#dotlrn.subcomm_page_info_title#,#new-portal.simple_1column_layout_name#,#dotlrn.subcomm_page_info_accesskey#;#dotlrn.subcomm_page_calendar_title#,#new-portal.simple_1column_layout_name#,#dotlrn.subcomm_page_calendar_accesskey#;#dotlrn.subcomm_page_file_storage_title#,#new-portal.simple_1column_layout_name#,#dotlrn.subcomm_page_file_storage_accesskey#, type string, scope instance)
subcommunities_pretty_name
what subcomms are called (default #dotlrn.subcommunities_pretty_name#, type string, scope instance)
subcommunities_pretty_plural
the plural (default #dotlrn.subcommunities_pretty_plural#, type string, scope instance)
user_portal_pages_csv
a csv list of the other pages to create on the user wsp by default (default #dotlrn.user_portal_page_home_title#,#new-portal.simple_2column_layout_name#,#dotlrn.user_portal_page_home_accesskey#;#dotlrn.user_portal_page_calendar_title#,#new-portal.simple_1column_layout_name#,#dotlrn.user_portal_page_calendar_accesskey#;#dotlrn.user_portal_page_file_storage_title#,#new-portal.simple_1column_layout_name#,#dotlrn.user_portal_page_file_storage_accesskey#, type string, scope instance)
user_portal_pretty_name
the pretty name for the user portal (default #dotlrn.user_portal_pretty_name#, type string, scope instance)
.LRN Portal Types: AdminChangeSiteTemplate_p
desc (default 1, type number, scope instance)
.LRN Portal Types: CommDefaultSiteTemplate_p
This is the site_template_id used by default when creating a community. If you want to change this parameter go to Dotlrn Admin and Click in Site Templates; then Choose wich is the Site Template for default when creating users. (default 0, type number, scope instance)
.LRN Portal Types: DefaultMaster_p
Default master for public pages ( user_id = 0 ) (default /packages/dotlrn/www/dotlrn-master, type string, scope instance)
.LRN Portal Types: UserChangeSiteTemplate_p
Indicates if all users are able to change their Site Template. A value of 0 indicates that users cannot change it. A value of 1 indicates that users can. (default 0, type number, scope instance)
.LRN Portal Types: UserDefaultSiteTemplate_p
This is the site_template_id used by default when creating a user. If you want to change this parameter go to Dotlrn Admin and Click in Site Templates; then Choose wich is the Site Template for default when creating users. (default 0, type number, scope instance)
.LRN Portal Types: dotlrn_class_instance
Defines which subtype of dotlrn portal type is going to be used by default when creating a new Class Portal. (default dotlrn_class_instance, type string, scope instance)
.LRN Portal Types: dotlrn_club
Defines which subtype of dotlrn portal type is going to be used by default when creating a new Subgruop portal. (default dotlrn_club, type string, scope instance)
.LRN Portal Types: dotlrn_community
Defines which subtype of dotlrn portal type is going to be used by default when creating a new Community portal. (default dotlrn_community, type string, scope instance)
.LRN Portal Types: user
Defines which subtype of dotlrn portal type is going to be used by default when creating a new User portal. (default user, type number, scope instance)
Auto-Adding Users to .LRN: AutoAddAuthorities
A comma-separated list of short-names of authorities for which users should be automatically added to .LRN, or '*' for all. In order for users to be auto-added, AutoAddUsersP needs to be set to 1, and this needs to be set to * or include the relevant authority short_names. Example: 'local,ldap'. (default *, type string, scope instance)
Auto-Adding Users to .LRN: AutoAddUsersP
Automatically add OpenACS users to .LRN. 1 = yes, 0 = no. In order for users to be auto-added, this needs to be set to 1, and AutoAddAuthorities needs to be set to * or include the relevant authority short_names. (default 0, type number, scope instance)
Auto-Adding Users to .LRN: AutoUserAccessLevel
The access level of auto-added users. 1 = Full access user, 0 = Limited access user (default 1, type number, scope instance)
Auto-Adding Users to .LRN: AutoUserReadPrivateDataP
Auto-added user's guest status. 1 = Not a guest , 0 = Guest. (default 1, type number, scope instance)
Auto-Adding Users to .LRN: AutoUserType
The user type for auto-approved users. (default student, type string, scope instance)
Communities: DefaultCommunityJoinMailP
If there is no welcome mail for new members in the database, should a default one be send? (default 0, type string, scope instance)
Toolbar: dotlrn_toolbar_enabled_p
Enable or disable the dotlrn toolbar (default 0, type number, scope instance)
Toolbar: dotlrn_toolbar_show_info_p
Show relevant information to developpers. (default 0, type number, scope instance)


Bug Tracker Summary for Package: dotlrn

Open Bugs: 51
All Tracked Issues: 141
Latest Bug Opened: 2017-08-21 Error on removal of dotLRN user
Latest Bug Fixed: 2017-04-09 dotlrn::do_abort returns with an "error" code.
Top Bug Submitters: Carl Robert Blesius (23) Caroline Meeks (14) Nima Mazloumi (11) Emmanuelle Raffenne (6) Anja Wicht (6)
Top Bug Fixers: Peter Marklund (22) Lars Pind (15) Don Baccus (10) Emmanuelle Raffenne (9) Tracy Adams (7) Jeff Davis (5) Joel Aufrecht (3)


Code Metrics Summary for Package: dotlrn

# Tcl Procs 0
# Tcl Lines 0
# Tcl Blank Lines 1
# Tcl Comment Lines 0
# Automated Tests 0
# Stored Procedures PG: 0 ORA: 0
# SQL Lines PG: 0 (blank 1 comments 0) ORA: 0 (blank 1 comments 0)
# ADP pages 0
# ADP lines 0
# Include pages (dotlrn/lib/) 0
# Documentation pages 0
# Documentation lines 0
Browse Source Not installed
Github Repository: https://github.com/openacs/dotlrn/tree/oacs-5-10

See proposal for comprehensive email event handling

For details about dotlrn, see http://dotlrn.org/

Body Onload javascript event

Created by Rocael Hernández Rizzardini, last modified by Gustaf Neumann 22 Oct 2016, at 09:10 AM

API calls for adding javascript

 

template::add_event_listener

add event listener for a single ID or for a CSS class. When using this call, the provided JavaScript snipped will be added suitable for content security policies (by adding nonces).

Example:

    template::add_event_listener \
        -id edit-tags-control \
        -script [subst {document.getElementById("edit_tags").style.display="block";}]

template::add_body_handler

Adds javascript code to an event handler in the body tag. Several javascript code blocks may be assigned to each handler by subsequent calls to template::add_body_handler.

template::add_event_listener

Add a script to the start of the body section of the document to be returned to the users client.

 

DEPRECATED:

There was no easy way to add onload event to openacs, unless you edit www/site-master.tcl, but now you can define within you own package what functions you want to be for onload javascript event. This tcl callback definition will work for any page.

   ad_proc -public -callback subsite::header_onload -impl my_onload {} {
      return the function to load when the page is served
   } {
      return {my_javascript_function();}
   }

Or in case you want it for a single page, or for you custom template, use the template property to send it:

   <property name="body(onload)">
      my_javascript_function();
   </property>

Alternatively, as the on_load property tag has been deprecated, you could in your .tcl file set a variable

   set my_function_name "my_javascript_function();"

then in the .adp

   <property name="body(onload)">
     @my_function_name;noquote@
   </property>

dotLRN portlet

Created by Emmanuelle Raffenne, last modified by Benjamin Brink 22 Oct 2016, at 04:41 AM

Package Specification Summary for Package: dotlrn-portlet

Summary: Portlet for the "new-portal" system for the DotLRN
Description:
Maturity: Mature
This package depends on: dotlrn new-portal
Packages that depend on dotlrn-portlet: dotlrn-dotlrn
Package parameters:
dotlrn_admin_portlet_force_region
the portal region to put the dotlrn admin portlet in (default 1, type number, scope instance)
dotlrn_members_staff_portlet_force_region
the portal region to put the dotlrn members staff portlet (default 2, type number, scope instance)
dotlrn_portlet_force_region
the portal region to put the dotlrn portlet on (default 2, type number, scope instance)
Group Administration: AllowChangeEnrollmentPolicy
Does the community admin can change Enrollment Policy? (default 1, type number, scope instance)
Group Administration: AllowCreateGuestUsersInCommunity
Does the community admin can create Limited Guests? (default 1, type number, scope instance)
Group Administration: AllowCreateLimitedUsersInCommunity
Does the community admin can create Limited Users? (default 1, type number, scope instance)
Group Administration: AllowCustomizePortalLayout
Does the community admin can Customize Portal Layout? (default 1, type number, scope instance)
Group Administration: AllowManageApplets
Does the community admin can manage applets? (default 1, type number, scope instance)
Group Administration: AllowManageMembership
Does the community admin can Manage Membership? (default 1, type number, scope instance)
Group Administration: AllowMembersDropGroups
Does user can drop a Group? (default 1, type number, scope instance)


Bug Tracker Summary for Package: dotlrn-portlet

Open Bugs: 1
All Tracked Issues: 6
Latest Bug Opened: 2005-02-28 HTMLArea breaks .LRN Custom Portlet for non IE/Mozilla users
Latest Bug Fixed: 2013-09-16 bad package name for a Message_key.
Top Bug Submitters: Stan Kaufman (1) Jarkko Laine (1) Samir Joshi (1) Carl Robert Blesius (1) Emmanuelle Raffenne (1)
Top Bug Fixers: Lars Pind (2) Don Baccus (1) Emmanuelle Raffenne (1) Gustaf Neumann (1)


Code Metrics Summary for Package: dotlrn-portlet

# Tcl Procs 0
# Tcl Lines 0
# Tcl Blank Lines 1
# Tcl Comment Lines 0
# Automated Tests 0
# Stored Procedures PG: 0 ORA: 0
# SQL Lines PG: 0 (blank 1 comments 0) ORA: 0 (blank 1 comments 0)
# ADP pages 0
# ADP lines 0
# Include pages (dotlrn-portlet/lib/) 0
# Documentation pages 0
# Documentation lines 0
Browse Source Not installed
Github Repository: https://github.com/openacs/dotlrn-portlet/tree/oacs-5-10

dotLRN applet

Created by Emmanuelle Raffenne, last modified by Benjamin Brink 22 Oct 2016, at 04:40 AM

Package Specification Summary for Package: dotlrn-dotlrn

Summary: Helper routines for dotLRN applets
Description:
Maturity: Mature
This package depends on: dotlrn dotlrn-portlet
Packages that depend on dotlrn-dotlrn: None
Package parameters: None


Bug Tracker Summary for Package: dotlrn-dotlrn

There is no package with the name "dotlrn-dotlrn" known to bug-tracker.



Code Metrics Summary for Package: dotlrn-dotlrn

# Tcl Procs 0
# Tcl Lines 0
# Tcl Blank Lines 1
# Tcl Comment Lines 0
# Automated Tests 0
# Stored Procedures PG: 0 ORA: 0
# SQL Lines PG: 0 (blank 1 comments 0) ORA: 0 (blank 1 comments 0)
# ADP pages 0
# ADP lines 0
# Include pages (dotlrn-dotlrn/lib/) 0
# Documentation pages 0
# Documentation lines 0
Browse Source Not installed
Github Repository: https://github.com/openacs/dotlrn-dotlrn/tree/oacs-5-10

dotLRN Datamanager Applet

Created by Gustaf Neumann, last modified by Benjamin Brink 22 Oct 2016, at 04:40 AM

Package Specification Summary for Package: dotlrn-datamanager

Summary:
Description:
Maturity: New Submission or Maturity Unknown
This package depends on: dotlrn datamanager-portlet datamanager
Packages that depend on dotlrn-datamanager: None
Package parameters: None


Bug Tracker Summary for Package: dotlrn-datamanager

There is no package with the name "dotlrn-datamanager" known to bug-tracker.



Code Metrics Summary for Package: dotlrn-datamanager

# Tcl Procs 0
# Tcl Lines 0
# Tcl Blank Lines 1
# Tcl Comment Lines 0
# Automated Tests 0
# Stored Procedures PG: 0 ORA: 0
# SQL Lines PG: 0 (blank 1 comments 0) ORA: 0 (blank 1 comments 0)
# ADP pages 0
# ADP lines 0
# Include pages (dotlrn-datamanager/lib/) 0
# Documentation pages 0
# Documentation lines 0
Browse Source Not installed
Github Repository: https://github.com/openacs/dotlrn-datamanager/tree/oacs-5-10

 

dotLRN Course Catalog

Created by Emmanuelle Raffenne, last modified by Benjamin Brink 22 Oct 2016, at 04:39 AM

Package Specification Summary for Package: dotlrn-catalog

Summary:
Description:
Maturity: New Submission or Maturity Unknown
This package depends on: acs-content-repository acs-subsite assessment categories dotlrn
Packages that depend on dotlrn-catalog: dotlrn-ecommerce
Package parameters: None


Bug Tracker Summary for Package: dotlrn-catalog

There is no package with the name "dotlrn-catalog" known to bug-tracker.



Code Metrics Summary for Package: dotlrn-catalog

# Tcl Procs 0
# Tcl Lines 0
# Tcl Blank Lines 1
# Tcl Comment Lines 0
# Automated Tests 0
# Stored Procedures PG: 0 ORA: 0
# SQL Lines PG: 0 (blank 1 comments 0) ORA: 0 (blank 1 comments 0)
# ADP pages 0
# ADP lines 0
# Include pages (dotlrn-catalog/lib/) 0
# Documentation pages 0
# Documentation lines 0
Browse Source Not installed
Github Repository: https://github.com/openacs/dotlrn-catalog/tree/oacs-5-10

Proposal To Extend dotLRN Course Catalog

Author: Nima Mazloumi

After talking to Carl and Dave I would like to propose the following extensions to dotlrn-catalog: Please forgive my poor englisch and feel free to contact me for further questions.

Extension technique

In order to keep dotlrn-catalog simple all new extensions should be realized as sub types of the object type dotlrn_catalog. Thus we don't introduce new attributes to the dotlrn_catalog table. Instead the new sub type shall provide it's own table and attributes.

In order to support several sub types dotlrn-catalog has to be modularized in a way that those fragments specific to a type so-to-speak infused in the right way. For this two concepts shall serve as a solution:

  • usage of inclulets for adp pages and
  • usage of so called extension points for the tcl code.

Includelets

Includelets are the standard way to include adp files within others. The characteristic in this case is that the adp file included is determined by the given sub type used. For this purpose dotlrn_catalog will contain a supfolder lib with serveral subfolders named exactly by the sub type name. Depending on the given type right system will select the right includelet and render the view.

Extension Points

In this case the tcl files have to be extended transparently depending of the given sub type. For this purpose we would like to suggest the usage of callbacks. Depending of the extension form (exclusive or composition) either the callback directly or an implementation for a given type is called to extend the behaviour of the package.

Behaviour at runtime

The default behaviour of dotlrn-catalog will be how it is right now. Administrators are able to create new course items, associate assessments to them and link them to dotlrn communities. The only difference will be how the pages are composed. With the above propsed solution the default installation will only know the object type dotlrn_catalog and therefore only include includlets for this type and also only call callback implementations for this type. This solution will not require any changes to the datamodel.

To achieve this solution forms, lists and type-specific fragments need to ge generated dynamically depending of the object type. You can see it partially implemented in the course-add-edit file in the current dotlrn-catalog package.

To achieve this dotlrn-catalog uses already now the new CR TCL API.

Activation of new types

This is done via a new package parameter called SupportedTypes which will contain the list of available types to the system. The default version of dotlrn-catalog will only know the type dotlrn_catalog. In order to use the other types as well more types must be entered to the list.

Thus at runtime OpenACS will check for the available types and make them available to the installation.

Suggested Extension to dotlrn-catalog

The Unversity of Mannheim has implemented a package called groups which has be used productively in Mannheim for almost one year and which is used by professors to organize the registration process for their courses.

Next to standard attributes like group name, start date, end date, description and the like, which is also available in dotlrn-catalog for courses the packages provides attributes like

  • maximal members - to limit the size of the group depending on ressource restrictions like seats ...
  • minimal members - to decide whether the course will take place at all or not
  • registration begin - when the registration process will begin
  • registration end - when the registration will end
  • approval required leaving the group
  • approval required for entering the group
  • allow waiting list for students rejected
  • white list, black list  - number of choices the student has to make for courses interested to join or not (see below for explanation)
  • can student change his choices during the registration period

Thus an administrator can create a new group type with the above characteristics and let the system take care of the registration process. For this purpose the administrator can select from different join policies. The default policy is the First-Come-First-Served which corresponds to the open policy. The second one is the requires approval which speaks for itself. The third and new policy is by preferences.

This policy allows students to choose from a list of 1 or more available parallel courses. The idea behind this is that often the same course is given during a semester on different days and hours during the week in order to keep the classes small. Since some of them are more appealing than others - maybe one is on monday morning or the other on friday evening - the preffered ones the to explode while other courses are visited sporadically. To solve this problem we don't let the students join direclty a course. Rather we allow the student to indicate which courses he can imagine to join and which not. This we call white and black list. Once the registration process is over. We let the system automatically distribute the students to the courses taking in mind the size restrictions of the course as well as the choices of the students.

In order to integrate this in dotlrn-catalog we propose the creation of a new sub type of dotrn_catalog called dotlrn_registration which contains the above parameters.

Thus the administrator will have the choice to create a new course based on dotlrn_catalog or dotlrn_registration. Depending of the type further actions or informations will be available to students. Students interested in a course of the type dotlrn_registration need to register during a given period. Depending of the join policy they can either join a course or request membership or have to make a choice.

Installations interested in using the new type have to add the type to the package parameter SupportedTypes.

Other features

The type dotlrn-registration will provide other features like:

  • Activation of Notification for the various stages during the registration process.
  • Support for waiting lists
  • Automatic creation of subgroups once the students where distributed to their groups
  • Possibility to choose from a list of applets that should be made available to the groups instead of simply installing the default applets defined for classes, communities and subgroups

Example

We have a course called "Introduction to Accounting". This course is offered every semester for undergraduate students. Usually around 800 students attend this lecture. Due to the number of students the lecture is accompanied by up to 8 seminars - all with the same content but usually on different times in order to allow students to be more flexible. Still some seminars are more apealing than others. This could be because of the time, the location, the tutor...Since the sizes of the seminars are rstricted by teh number of seats available students have indicate which seminar the prefer compared to the others. Depending on the configuration set by the course administrator the students have submit a ranking or simply tell which seminar they prefer most and which less. Any number in between is configurable. Once the registration process is over the system recommends a distribution which can be double checked by the course administrator. Finally the distribution is confirmed and 8 subgroups in dotlrn are created and the memberships assigned. If the course administrator wishes all accepted students are notified. He can also notifcy the rejected students or add them to a waiting list.

In order to allow the above scenario it takes the professor 2-3 minutes to define it and further 5  minutes to trigger the distribution. The algorithm to optimize the above problem is takes for a situation of 1000 students and 1000 seats (1 mio elements matrix) around 4 min on a 1-CPU 3.1 Ghz Intel Box.

We have also implemented the distribtion types first-come-first-served as well as random.

Current Packages and Possible Steps 

after taking a close look at dotlrn-ecommerce (DE) and dotlrn-catalog (DC) I would like to suggest some changes since there are a lot of catalog specific stuff hidden in DE. This is especially:
 

  • DC should be extended with sections but make sections optional.
dotlrn_ecommerce_section table:

section_id,course_id,community_id,section_name,date_time_start,date_time_end,daily_p,
  weekly_p,max_participants,waiting_list_p,notify_waiting_number,show_participants_p,
  show_sessions_p,description  (a)

product_id,account_code_revenue,account_code_expense,member_price_number,non_member_price,show_price_p (b)

age,qualified_age_low,qualified_age_high  (c)

  As you can see (a) apply to courses as well. We in Mannheim for instance have several courses
  that are split into sections. Thus why not remove those from dotlrn_ecommerce_section to a new
dotlrn_course_section table that should be moved to DC.

dotlrn_ecommerce_section would inherit from dotlrn_course_section and only add attributes under (b) and would stay in DE.

  Regarding the attributes (c) I believe that they should be handled in a third table part of DE since in future
  there might be many more parameters like age, that could play a role. After talking with Carl I think we can
  solve this through the new admin defined filters that are associated to a course/section and an applicant. Thus if
  the parameter age matters, the admin defines that filter and the associated rule. Anyway. I just think there is
  room for improvement here.

max_participants is used twice once here and once in ecommerce. Why is that?

dotlrn_ecommerce_section is not a acs object at all. Why is that? It could also be a CR item, no?
  • As I proposed in the wiki I would suggest the definition of several course types an admin can choose from, if
   those types are available. Why should the UI offer ecommerce specific stuff, or assessment specific code or sections
   if a course admin only wants to have his course listed in the catalog where a second course admin in the same institution
   wants to offer a commercial course and a third a course with several sections and registration process.
   Right now we have the policy "eat or die" either use DC or DE. But what we really need is an adjusting UI depending
   on the course type. Looking at DE the UI is too overwhelming to a course admin who only wants to use the sections part
   or in future the filters.
  • There are new status types in DE which better should go into a third package I would like to call dotlrn-registration.
   This package could deal with the whole registration process like type of join policies available, type of status possible,
   filters, assessment, registration_start_date, registration_end_date, automated registration depending on student choices...
  • The current categories filters in the course catalog overview is not very usable. We would like to offer a second include that generates a tree that can be expanded.

 

  • Also after installing DE for some reason there where dependencies to wp-slim and evaluation which should be.

Conclusion

<<>>As a conclusion. I would like to recommend several packages that focus on a specific type:

  • dotlrn-catalog --> courses and optionally sections
  • dotlrn-registration --> adding registration process, communities (optional), membership status, filters, assessment (optional)
  • dotlrn-ecommerce

Several wizards shall be offered to the admin to go through the whole course administration process.

The site admin should have the choice to activate permitted features. The course admin should have the choice to choose from them.
The UI should adapt to the given type.

Open Questions

One question I have is: seperation into several packages is better but we need one package that plays the role of facade. One that knows the extensions and that includes the bits and pieces depending to the selected course type. Any idea how we could solve this?

dotLRN Administration

Created by Emmanuelle Raffenne, last modified by Benjamin Brink 22 Oct 2016, at 04:37 AM

Package Specification Summary for Package: dotlrn-admin

Summary: .LRN-wide admin pages. Initially created as a singleton with automount at /dotlrn/dotlrn-admin. These can be changed if and when .LRN supports multiple instances.
Description: Contains pages and scripts for configuring .LRN --- managing users, departments, terms, classes and so on.
Maturity: New Submission or Maturity Unknown
This package depends on: dotlrn
Packages that depend on dotlrn-admin: None
Package parameters: None


Bug Tracker Summary for Package: dotlrn-admin

There is no package with the name "dotlrn-admin" known to bug-tracker.



Code Metrics Summary for Package: dotlrn-admin

# Tcl Procs 0
# Tcl Lines 0
# Tcl Blank Lines 1
# Tcl Comment Lines 0
# Automated Tests 0
# Stored Procedures PG: 0 ORA: 0
# SQL Lines PG: 0 (blank 1 comments 0) ORA: 0 (blank 1 comments 0)
# ADP pages 0
# ADP lines 0
# Include pages (dotlrn-admin/lib/) 0
# Documentation pages 0
# Documentation lines 0
Browse Source Not installed
Github Repository: https://github.com/openacs/dotlrn-admin/tree/oacs-5-10

XoWiki Portlet

Created by Gustaf Neumann, last modified by Benjamin Brink 22 Oct 2016, at 04:36 AM

Package Specification Summary for Package: xowiki-portlet

Summary: Portlet for XoWiki
Description:
Maturity: Immature
This package depends on: dotlrn new-portal xowiki
Packages that depend on xowiki-portlet: dotlrn-xowiki
Package parameters:
xowiki_admin_portlet_element_pretty_name
the name in the UI for xowiki element (default #xowiki-portlet.admin_portlet_element_pretty_name#, type string, scope instance)
xowiki_admin_portlet_pretty_name
the name for the xowiki admin portlet in the UI (default #xowiki-portlet.admin_portlet_pretty_name#, type string, scope instance)
xowiki_portal_content_force_region
region that new xowiki portlets are put into be default (default 1, type number, scope instance)


Bug Tracker Summary for Package: xowiki-portlet

There is no package with the name "xowiki-portlet" known to bug-tracker.



Code Metrics Summary for Package: xowiki-portlet

# Tcl Procs 0
# Tcl Lines 0
# Tcl Blank Lines 1
# Tcl Comment Lines 0
# Automated Tests 0
# Stored Procedures PG: 0 ORA: 0
# SQL Lines PG: 0 (blank 1 comments 0) ORA: 0 (blank 1 comments 0)
# ADP pages 0
# ADP lines 0
# Include pages (xowiki-portlet/lib/) 0
# Documentation pages 0
# Documentation lines 0
Browse Source Not installed
Github Repository: https://github.com/openacs/xowiki-portlet/tree/oacs-5-10

XoWiki Applet

Created by Gustaf Neumann, last modified by Benjamin Brink 22 Oct 2016, at 04:36 AM

Package Specification Summary for Package: dotlrn-xowiki

Summary: DotLRN Integration (Applet) for XoWiki
Description:
Maturity: Immature
This package depends on: dotlrn xowiki-portlet
Packages that depend on dotlrn-xowiki: None
Package parameters: None


Bug Tracker Summary for Package: dotlrn-xowiki

There is no package with the name "dotlrn-xowiki" known to bug-tracker.



Code Metrics Summary for Package: dotlrn-xowiki

# Tcl Procs 0
# Tcl Lines 0
# Tcl Blank Lines 1
# Tcl Comment Lines 0
# Automated Tests 0
# Stored Procedures PG: 0 ORA: 0
# SQL Lines PG: 0 (blank 1 comments 0) ORA: 0 (blank 1 comments 0)
# ADP pages 0
# ADP lines 0
# Include pages (dotlrn-xowiki/lib/) 0
# Documentation pages 0
# Documentation lines 0
Browse Source Not installed
Github Repository: https://github.com/openacs/dotlrn-xowiki/tree/oacs-5-10

Next Page
previous November 2024
Sun Mon Tue Wed Thu Fri Sat
27 28 29 30 31 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Popular tags

17 , 5.10 , 5.10.0 , 5.10.1 , 5.9.0 , 5.9.1 , ad_form , ADP , ajax , aolserver , asynchronous , bgdelivery , bootstrap , bugtracker , CentOS , COMET , compatibility , CSP , CSRF , cvs , debian , docker , docker-compose , emacs , engineering-standards , exec , fedora , FreeBSD , guidelines , host-node-map
1 registered user in community xowiki
in last 30 minutes
Contributors

OpenACS.org