Zope and GroupServer provide a sophisticated set of components and classes for building web pages. This set consists of widget like content providers and viewlet, to form building/handling classes, to general web page containers.
This set, in addition to Zope Templates, provides the tools a developer needs to display information and create user interfaces on E-Democracy.
Content providers are indivisible content displays or widgets - the providers of content and structure for complete components (e.g. a post) that can be included as part of an overall page (e.g. the topic display page).
Most Content Providers are declared in an egg's configure.zcml to have a name, a class, a template, and maybe a factory or adaptor. Content Providers are included on pages by using the tal:replace or tal:content tags and the structure
While quite common in GroupServer, these are mostly being phased out in favor of the more flexible Viewlets and Viewlet Managers.
Site Content Provider
The base for content providers used on a site. It is simply an object with knowledge of the context, request, and view. It provides the following properties:
- siteInfo - A groupserver.SiteInfo instance
- loggedInUser - A groupserver.LoggedInUser instance
Group Content Provider
Base for content providers that are intended to be used in a group. This is a subclasses of SiteContentProvider, and provides the following properties that are relevant for groups:
- groupInfo - A groupserver.GroupInfo instance.
- viewTopics - Indicates if the user has permission to view topics in the group.
- isAnnouncement - Indicates if the group is an announcement group.