Group based agenda

From Dokeos

Jump to: navigation, search

Contents

Background information

The existing agenda tool will provide more support for group-based work. This development is done by Ghent University - due to the Bachelor / Master reforms the Agenda had to become group based. Before these reforms each course in a specific 'field of study' had and individual code. These different codes were sometimes the same course (content) but not always, so we provided the possibility to link courses together creating only one course but users subscribing to one of the linked courses came into one course.

The Bachelor / Master reforms had as a consequence that there is now only one code for courses that are given to different "fields of study". When the course content is not the same for both 'fields of study' you have the problem that you have two groups of students that need different course material, different announcements, different agenda items, ...

What we do in this case is create two groups, one for each "field of study". By making the agenda group based (even user based) you can now post an agenda item for one (or more) groups.

Screenshots

see this forum thread for screenshots: forum thread with screenshots

a new agenda item can be seen by everyone by default                                                                        . If you want to change this you have to click the "To:" button
a new agenda item can be seen by everyone by default . If you want to change this you have to click the "To:" button
you can post agenda items for one (or more) specific users and/or groups (or a mixture of groups and users)
you can post agenda items for one (or more) specific users and/or groups (or a mixture of groups and users)



Technical information

The properties (visibility, who it is intended for, ...) of an agenda item are no longer stored in the calendar_event database but in the last_tooledit table (which should ideally be renamed to tool_item_properties or something like that).

CREATE TABLE `last_tooledit` (
 `tool` varchar(100) NOT NULL default ,
 `last_date` datetime NOT NULL default '0000-00-00 00:00:00',
 `ref` varchar(100) NOT NULL default ,
 `type` varchar(100) NOT NULL default ,
 `user_id` mediumint(8) unsigned NOT NULL default '0',
 `to_group_id` varchar(11) default NULL,
 `to_user_id` int(11) default NULL,
 `visible` int(11) NOT NULL default '0'
) TYPE=MyISAM
  • tool: indicates which tool item we are dealing with
  • last_date: the date something has happened to this tool item
  • ref: the unique id of the item (the combination of tool ref is a unique reference to each course resource)
  • type: what has happened to the tool item (adding, deleting, edit, ...)
  • user_id: who has done the action (described in type)
  • to_group_id: the tool item is intended for this specific group
  • to_user_id: the tool item is intended for this specific user
    • intended for everyone => to_group_id=0 and to_user_id=0
    • intended for one specific user => to_group_id=NULL and to_user_id= x
    • intended for one specific group => to_group_id=x and to_user_id=0
  • visible: is this item visible, invisible or deleted?
    • 0 = invisible
    • 1 = visible
    • 2 = deleted

When a course manager deletes a agenda item the entry in calendar_event is no longer deleted but the visibility is set to 2 (deleted). By doing so the platform admin can restore accidently deleted entries.

This has also implication on the "My Agenda" tool as this page also has to take the 'permissions' into account.

More information

This development is already in use on the Ghent University production server (with 20 000 users) without any serious bugs so far (cross fingers). At the same time of the introduction of this tool we also introduced a day/week/month view in My Agenda and the code for the Personal Agenda is also already present (though not activated yet). These three agenda developments are tightly linked

status: completed, not in CVS yet.
author: Patrick Cool, ICT

Personal tools