create new tag
, view all tags
ALERT! NOTE: This is a DistributionDocument. Please help maintain high quality documentation: This is a wiki, please fix the documentation if you find errors or incomplete content. Put questions and suggestions concerning the documentation of this topic in the comments section below. Use the Support web for problems you are having using TWiki.

Making webs autonomous


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.

  • Granting a set of users privilege to do anything on any topic regardless of access control setting. Let's call the set of users "web admins", which is analogous to TWikiAdminGroup members who can do anything to any topic regardless of access control setting.
  • Making %WIKIWEBMASTER% and %WIKIWEBMASTERNAME% web dependent. They are used on the Access Denied page and other pages as contact.

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.


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

  • web name
  • topic name
  • name or email (true means name. false means email)

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 TWiki06x00 web and make them editable only by TWiki Administrators.

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

Comments & Questions about this Distribution Document Topic

Please use the Support forum if you have questions about TWiki features. This comment section is about the documentation of this topic.
Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r2 - 2013-10-15 - PeterThoeny
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2015 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.