Users and their roles

Abstract: Overview of how users and roles of FLE3 are implemented in our Zope Product (with some programming details).


Users and roles in Zope

There are two kind of roles in zope, global and local. Global roles are assigned to each user in acl_users folder. Local roles are associated with certain Zope objects; You can define that user A has role B in object C. The important point is that user A now has a local role B (in addition to global roles she might has) in object C and all of its children. For more information about users and roles in Zope, please see http://www.zope.org/Members/mcdonc/PDG/6-1-Security.stx (An excellent article found by Samu.)

FLE3

Every user has her password and global roles in acl_users folder and all other information in fle_users folder (login name is a common key.) In addition to standard Zope global the following global roles are used:

Should every user has a role 'User'?

Should we add roles like 'Tutor' and 'Student' in courses folder or in FLE root folder?

Hierachy of folders in FLE3

In different courses a same person can have different roles (e.g. Student in one course and Tutor in another.)

Programming details

Roles are added in FLE.py:

	from common import fle_roles
	
	for role in fle_roles:
	    self._addRole(role)
      

When a new user is added in UserManager.py (in method add_user) a list of global is given in acl_role:

	acl_users._doAddUser(uname, password, acl_role, ())
      

In fle_users folder every user is an owner of herself:

	user.changeOwnership(temp_user)

	# Set the userthingy as a owner (local role) to the
	# newly created UserInfo object.
	user.manage_delLocalRoles(user.get_valid_userids())
	user.manage_setLocalRoles(uname, ('Owner',))
      

Courses are not implemented yet.


Edit history:

Date Person Modification
2001-04-19 Janne Pietarila Document created.
section of study.

Thread = In each course context there can be several knowledge building threads, which are discussion paths each starting with a single message.

Knowledge Type Set = A set of labels with associated instructions fo structuring the discussion process towards a process that the knowledge type set tries to support.

Teacher (course) = Person who organizes and leads a course, divides the course in meaningful study sections and takes care of the timetable. Teacher is so called a "local role" which is in use only inside a course.

Tutor (course) = A person or several persons who helps teacher(s) in a course. The tutor may create new course contexts to a course.

Student (course) = A persons taking part in a course / courses. The student may use the WebTop's and take part in knowledge building discussions.

to the top