Home | Gifts

Making webs autonomous

On this page:

Motivation

On a large TWiki site having thousands of webs, each web should be as self-service as possible so that TWiki administrators' work is minimized.

Features for web autonomy

You can have the following features by providing specific methods in your user mapping manager class.

Specifying web admins - isAdmin()

The isAdmin() method in a user mapping manager normaly recognizes only one argument, $cUID. (e.g. TWikiUserMapping's) However, the upstream code hands two additional arguments, namely the topic and web names of the topic currently being processed. As such, isAdmin() can be web and topic dependent, which makes it possible to have web admins.

Web specific WIKIWEBMASTER and WIKIWEBMASTERNAME

Optionally, a user mapping manager can have the wikiWebMaster object method taking the following arguments.

If the wikiWebMaster does not exist or returns a null string (""), %WIKIWEBMASTER% and %WIKIWEBMASTERNAME% are expanded to {WebMasterName} and {WebMasterEmail} values respectively.

Data source

isAdmin() and wikiWebMaster() need data source to work. The data source needs be outside of the web. Otherwise, there is a possibility of the web admins lose access to the web by some change to the web.

MetadataRepository is one way to have metadata of a web outside the web. In an example on MetadataRepository, a TWiki group specified by the admin field of the web's record is the web admins.

Another way is to put such a data on a topic or topics in the TWiki web and make them editable only by TWiki Administrators.

Related Topics: AdminDocumentationCategory, TWikiAccessControl, MetadataRepository, LargeSite, UserMasquerading

Revision r1 - 2012-12-26 - 01:54:51 - TWikiContributor Edit