Group page

Most of the content for the Group page is provided by external products. The group page itself (index.html in the group context) is mostly made up of five viewlet managers, which other products fill. Two managers provide spaces for the information about the group. One provides space for information and links concerning the administrators. Finally, two more viewlets provide the metadata links and scripts area that support the other content providers. The arrangement of the five viewlet managers is shown below:

┌Page────────────────────────────────────────────────────────────────────┐
│┌Head──────────────────────────────────────────────────────────────────┐│
││gs.group.home.interfaces.IGroupHomepageMetadata                       ││
│└──────────────────────────────────────────────────────────────────────┘│
│┌Body──────────────────────────────────────────────────────────────────┐│
││┌───────────────────────────────┬────────────────────────────────────┐││
│││Main information               │Secondary information               │││
│││.interfaces.IGroupHomepageMain │.interfaces.IGroupHomepageSecondary │││
│││                               │┌──────────────────────────────────┐│││
│││                               ││Admin area                        ││││
│││                               ││IGroupHomepageAdmin               ││││
│││                               │└──────────────────────────────────┘│││
││└───────────────────────────────┴────────────────────────────────────┘││
│└──────────────────────────────────────────────────────────────────────┘│
│┌Scripts───────────────────────────────────────────────────────────────┐│
││gs.group.home.interfaces.IGroupHomepageScripts                        ││
│└──────────────────────────────────────────────────────────────────────┘│
└────────────────────────────────────────────────────────────────────────┘

Information

There are two sets of information on the homepage: the main information and the secondary information. Both are handled by viewlet managers, with the blocks of information provided by viewlets.

Note:To over-ride an existing tab, change the name of the viewlet to that of the viewlet you wish to overwrite.

Main information

The main portion of the page (33 units wide) is taken up by the Main Information. The information tabs tells the user general information about the group: what the group is for, and the main activity in the group.

To add a tab to the info tabs create a viewlet that has gs.group.home.interfaces.IGroupHomepageMain as the manager:

<browser:viewlet
  name="gs-group-messages-base"
  manager="gs.group.home.interfaces.IGroupHomepageMain"
  class="gs.group.home.simpletab.PublicTab"
  template="browser/templates/main.pt"
  weight="50"
  permission="zope2.View"/>

Secondary information

Less important information about the group appears in the Secondary Information area. It is normally formatted as a narrow strip (15.5 units wide).

To add a tab to the task tabs create a viewlet that has gs.group.home.interfaces.IGroupHomepageSecondary as the manager:

<browser:viewlet
  name="gs-group-member-base-logged-in-member-info"
  manager="gs.group.home.interfaces.IGroupHomepageSecondary"
  class=".memberinfo.LoggedInMemberInfo"
  template="browser/template/loggedinmemberinfo.pt"
  permission="zope2.View"
  title="Membership Information"
  weight="10" />

Scripts

Some of the content of the Group page may need JavaScript support. The viewlets that supply the scripts are rendered by the gs.group.home.interfaces.IGroupHomepageScripts viewlet manager. Like the manager for the metadata links, the scripts manager renders each viewlet (in order) without any additional HTML:

<browser:viewlet
  name="gs-group-messages-topics-tab-script"
  manager="gs.group.home.interfaces.IGroupHomepageScripts"
  template="browser/templates/topicstab-js.pt"
  class="gs.group.home.simpletab.PublicTab"
  permission="zope2.Public"
  weight="10"
  title="Topics" />