Login is a decendent of . It adds an sqlite based user, group, and access control system. It is implemented in community.tcl.


Required Packages

Community relies on the following external packages:

Community uses the following internal packages:



Attached Objects

Community objects (and their derived classes) contain an embedded sqlite database. This database can be accessed via that <db> method.


method Database_Functions

Adds the following functions to the database:


Returns a list of all possible rights.

aclRights aclname user_or_group_id

Return a list of rights that the user or group to the access control list (specified by name.)

method httpdSessionLoad sock prefix suffix

This method looks for a sessionid cookie or a sessionid field in the GET or POST query, and pairs it with a session in the session table. If no session is found, a new session is generated for an anonymous user.

method httpdSessionSave sock

This method compares the current value of result(session) to result(session_delta) (a copy of the session when the pageview began. Fields that are in the delta, but not in the current session are delete from session_property. Fields that are present in the session but not the delta are inserted into session_property. Fields present in both, but with a different value, are updated.

The server will generate a cookie called sessionid which will be loaded on the next page view.