Dashboard > Grouper > Home >  Grouper Product

Struts Actions and Tiles in the Grouper UI

This document breaks down the Grouper UI into functional areas and describes the interactions between the various Struts actions. As each action is introduced a table is shown summarising its definition in struts-config.xml. Action class names are links to the relevant Javadoc. References to Tiles are links to a summary of the tile definition from tiles-def.xml.

The splash page

index.html in the web application root redirects the user to /populateIndex.do
AttributeValue
path/populateIndex 
typePopulateIndexAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
Home /home.do false 
Index IndexDef false 
which displays the splash page if the user is not logged in, or the authorised 'home' page if the user is logged in.

Logging into the Grouper UI

The initial splash page for the Grouper UI has a login link /callLogin.do
AttributeValue
path/callLogin 
typeCallLoginAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
callLogin /login.do true 

In the standard UI /callLogin.do forwards to /login.do
AttributeValue
path/login 
typeLoginAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
default /home.do true 
stop emptyDef false 

/login.do is a protected resource (configured in web.core.xml) and invokes basic HTTP authentication. On successful login a user is forwarded to /home.do
AttributeValue
path/home 
typeHomeAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
home /populateMyGroups.do false 

If a site wishes to change the default page after login they can redefine the home forward.

If a site wishes to implement a different authentication scheme they should redefine the callLogin forward for /callLogin.do to a path which is itself a login page, or which causes a Filter to invoke an authentication challenge.

Logging out of the Grouper UI

If a user logged in using the default basic HTTP authentication no logout link is provided and the user must close the browser (all windows for Mozilla-based browsers), or use a browser-specific means of cancelling the HTTP authentication, in order to logout.

To have the UI show a logout link set the media.properties key logout.link.show=true

/logout.do
AttributeValue
path/logout 
typeLogoutAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
Index /populateIndex.do false 
action invalidates the current session and sets a cookie (_grouper_loggedOut=true). Typically, authenication schemes will, in part, be implemented through a Filter. Invalidating the Grouper session will not always log a user out of an external authentication scheme and so the cookie is a signal to the Filter to force a user to re-login. The cookie should be removed after a successful login.

The menu

As of version 0.9 of Grouper, sites can customise the menu (see /prepareMenu.do
AttributeValue
path/prepareMenu 
typePrepareMenuAction
name 
scope 
parameter 
Forwards
NamePathRedirect
)

Apart from /help.do all menu items initialise a browse mode (see Browsing the groups hierarchy )

Browse mode Menu item Action
   My memberships /populateMyGroups.do
AttributeValue
path/populateMyGroups 
typePopulateMyGroupsAction
nameGroupOrStemMemberFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
MyGroups MyGroupsDef false 
Create Create groups /populateCreateGroups.do
AttributeValue
path/populateCreateGroups 
typePopulateCreateGroupsAction
nameBrowseFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
CreateGroups CreateGroupsDef false 
Manage Manage groups /populateManageGroups.do
AttributeValue
path/populateManageGroups 
typePopulateManageGroupsAction
nameBrowseFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
ManageGroups ManageGroupsDef false 
Join Join groups /populateJoinGroups.do
AttributeValue
path/populateJoinGroups 
typePopulateJoinGroupsAction
nameBrowseFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
JoinGroups JoinGroupsDef false 
All Explore /populateAllGroups.do
AttributeValue
path/populateAllGroups 
typePopulateAllGroupsAction
nameBrowseFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
AllGroups AllGroupsDef false 
SavedStems Folder workspace /populateListSavedStems.do
AttributeValue
path/populateListSavedStems 
typePopulateListSavedStemsAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
SavedStems SavedStemsDef false 
SavedGroups Group workspace /populateListSavedGroups.do
AttributeValue
path/populateListSavedGroups 
typePopulateListSavedSubjectsAction
nameSubjectFormBean 
scoperequest 
parametergroupsOnly 
Forwards
NamePathRedirect
SavedSubjects SavedGroupsDef false 
SavedSubjects Entity workspace /populateListSavedSubjects.do
AttributeValue
path/populateListSavedSubjects 
typePopulateListSavedSubjectsAction
nameSubjectFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
SavedSubjects SavedSubjectsDef false 
SubjectSearch Search /populateSearchSubjects.do
AttributeValue
path/populateSearchSubjects 
typePopulateSearchSubjectsAction
nameSearchFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
SearchForm SimpleSubjectSearchDef false 
GroupTypes Group types /populateGroupTypes.do
AttributeValue
path/populateGroupTypes 
typePopulateGroupTypesAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupTypes GroupTypesDef false 
   Help /help.do
AttributeValue
path/help 
typePopulateHelpAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
Help HelpDef false 

Browsing the groups hierarchy

The Grouper UI recognises six different browsing modes, each of which maintains an active node (i.e. a stem or group):

As of version 0.9 of Grouper, sites can customise existing browse modes and add new ones (which can then be added as items in the menu). See Javadoc for RepositoryBrowser. Internal RepositoryBrowsers extend AbstractRepositoryBrowser.

As of version 1.0 of Grouper, GrouperSystem, or Wheel group members acting as GrouperSystem, do not see the presonalised browsing options

Mode Action Description
   /browseStems.do
AttributeValue
path/browseStems 
typeBrowseStemsAction
nameBrowseFormBean 
scoperequest 
parameterMyGroups 
Forwards
NamePathRedirect
MyGroups MyGroupsDef false 
Default mode which limits browsing to those stems which lead to groups the user is a member of and has VIEW privilege for
Create /browseStemsCreate.do
AttributeValue
path/browseStemsCreate 
typeBrowseStemsAction
nameBrowseFormBean 
scoperequest 
parameterCreateGroups 
Forwards
NamePathRedirect
CreateGroups CreateGroupsDef false 
Limits browsing to those stems which lead to stems where the user has STEM or CREATE privilege
Manage /browseStemsManage.do
AttributeValue
path/browseStemsManage 
typeBrowseStemsAction
nameBrowseFormBean 
scoperequest 
parameterManageGroups 
Forwards
NamePathRedirect
ManageGroups ManageGroupsDef false 
Limits browsing to those stems which lead to groups the user has READ, UPDATE or ADMIN privilege for, or stems the user has STEM or CREATE privilege for
Join /browseStemsJoin.do
AttributeValue
path/browseStemsJoin 
typeBrowseStemsAction
nameBrowseFormBean 
scoperequest 
parameterJoinGroups 
Forwards
NamePathRedirect
JoinGroups JoinGroupsDef false 
Limits browsing to those stems which lead to groups the user has OPTIN privilege for
All /browseStemsAll.do
AttributeValue
path/browseStemsAll 
typeBrowseStemsAction
nameBrowseFormBean 
scoperequest 
parameterAllGroups 
Forwards
NamePathRedirect
AllGroups AllGroupsDef false 
Limits browsing to those stems which lead to groups the user has VIEW privilege for
Find /browseStemsFind.do
AttributeValue
path/browseStemsFind 
typeBrowseStemsAction
nameBrowseFormBean 
scoperequest 
parameterFindNewMembers 
Forwards
NamePathRedirect
FindNewMembers /populateFindNewMembers.do false 
FindNewMembersForStems /populateFindNewMembersForStems.do false 
limits browsing to those stems which lead to groups the user has VIEW privilege for. This mode is invoked when a user is trying to find groups (or their members), in order to make them a member of the active group, or to assign privileges for the active group.

In the table above all modes except Find , are entered by clicking on the appropriate menu link. My memberships is the menu label for the default browse mode. All modes are serviced by the same action class (BrowseStemsAction), which ensures that the correct Tile (JSP page) is used to view data. Each top level Tile which represents a browse mode inserts a Tile, browseStemsDef, which has a controller action - /prepareStems.do
AttributeValue
path/prepareStems 
typePrepareRepositoryBrowserStemsAction
nameBrowseFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect

/prepareStems.do is responsible for retrieving the correct stems and groups for the current active node, filtering them according to the current browse mode. Stems which are displayed to the user have links to /browseStems<mode>.do and cause the active node to be reset - unless the mode is Find . Groups which are displayed to the user are generally links to /populateGroupSummary.do
AttributeValue
path/populateGroupSummary 
typePopulateGroupSummaryAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupSummary GroupSummaryDef false 

However, if in Find mode, Groups are links to /browseStemsFind.do and clicking a group link will cause the group's immediate membership to be displayed.

Searching the groups hierarchy

The Grouper UI recognises six different search modes, each of which relates to the browse modes described above:

As of version 0.9 of Grouper, the mode specific searches have been incorporated in the RepositoryBrowser interface. Note that in principle it is possible to have a browse mode whichg only allows searching - or one that only allows browsing - it depends what tiles you include in your top level page.

Mode Action Description
  /searchGroups.do
AttributeValue
path/searchGroups 
typeSearchGroupsAction
nameSearchFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
Results SearchGroupResultsDef false 
Default mode which limits results to those groups the user is a member of and has VIEW privilege for
Create /searchStems.do
AttributeValue
path/searchStems 
typeSearchStemsAction
nameSearchFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
Results SearchStemResultsDef false 
Limits results to those stems where the user has STEM or CREATE privilege
Manage /searchGroupsManage.do
AttributeValue
path/searchGroupsManage 
typeSearchGroupsAction
nameSearchFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
Results SearchGroupResultsDef false 
Limits results to groups the user has READ, UPDATE or ADMIN privilege for
Join /searchGroupsJoin.do
AttributeValue
path/searchGroupsJoin 
typeSearchGroupsAction
nameSearchFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
Results SearchGroupResultsDef false 
Limits results to groups the user has OPTIN privilege for
All /searchGroupsAll.do
AttributeValue
path/searchGroupsAll 
typeSearchGroupsAction
nameSearchFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
Results SearchGroupResultsDef false 
Limits results to groups the user has VIEW privilege for
Find /searchNewMembers.do
AttributeValue
path/searchNewMembers 
typeSearchNewMembersAction
nameSearchFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
AssignNewMembers /populateAssignNewMembers.do false 

Limits results to groups the user has VIEW* privilege for. This mode is invoked when a user is trying to find groups (or their members), in order to make them a member of the active group, or to assign privileges for the active group. People or groups can be searched for.

*Should be limited to READ privilege?

In general, when stems or groups are displayed as a search result, they are presented as links which work in the same way as for the equivalent browse mode.

Subject searches and summaries

As of Grouper 0.9 it is possible to take a subject-centric view of the Grouper repository. The Subject Search menu item links to /populateSearchSubjects.do
AttributeValue
path/populateSearchSubjects 
typePopulateSearchSubjectsAction
nameSearchFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
SearchForm SimpleSubjectSearchDef false 
which allows single Source or cross Source searching. The search form submits to /doSearchSubjects.do
AttributeValue
path/doSearchSubjects 
typeDoSearchSubjectsAction
nameSearchFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
SearchResults SubjectSearchResultsDef false 
Results are links to /populateSubjectSummary.do
AttributeValue
path/populateSubjectSummary 
typePopulateSubjectSummaryAction
nameSubjectFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
SubjectSummary SubjectSummaryDef false 
GroupSearch /populateAllGroups.do false 
From here it is possible to view:

Memberships and privilege assignments are links to/populateGroupMember.do
AttributeValue
path/populateGroupMember 
typePopulateGroupMemberAction
nameGroupOrStemMemberFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupMember GroupMemberDef false 
StemMember StemMemberDef false 
, /populateChains.do
AttributeValue
path/populateChains 
typePopulateChainsAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
Chain ChainDef false 
or /populateStemMember.do
AttributeValue
path/populateStemMember 
typePopulateGroupMemberAction
nameGroupOrStemMemberFormBean 
scoperequest 
parameterstems 
Forwards
NamePathRedirect
StemMember StemMemberDef false 
If such a link is followed, there is a 'Cancel' button which returns the user to the subject summary page.

If a user folllows a /populateGroupSummary.do
AttributeValue
path/populateGroupSummary 
typePopulateGroupSummaryAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupSummary GroupSummaryDef false 
link, some of the usual group summary links are missing, however, there is an option to switch to a full group summary - which, in effect, cancels the current subject summary

Saving subjects and groups (for the current session)

From the subject summary page there is a link to /addSavedSubject.do
AttributeValue
path/addSavedSubject 
typeAddSavedSubjectAction
nameSubjectFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
From the group summary page there is a link to /addSavedSubject.do. Subjects and Groups are, in fact, saved to the same list, however, it is possible to list groups only. The menu items 'Saved subjects' and 'Saved groups' invoke /populateListSavedSubjects.do
AttributeValue
path/populateListSavedSubjects 
typePopulateListSavedSubjectsAction
nameSubjectFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
SavedSubjects SavedSubjectsDef false 
and /populateListSavedGroups.do
AttributeValue
path/populateListSavedGroups 
typePopulateListSavedSubjectsAction
nameSubjectFormBean 
scoperequest 
parametergroupsOnly 
Forwards
NamePathRedirect
SavedSubjects SavedGroupsDef false 
respecively. From these pages it is possible to remove subjects / groups from the lists. The forms invoke /removeSavedSubjects.do
AttributeValue
path/removeSavedSubjects 
typeRemoveSavedSubjectsAction
nameSubjectFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
SavedSubjects /populateListSavedSubjects.do false 
and /removeSavedGroups.do
AttributeValue
path/removeSavedGroups 
typeRemoveSavedSubjectsAction
nameSubjectFormBean 
scoperequest 
parametergroupsOnly 
Forwards
NamePathRedirect
SavedSubjects /populateListSavedGroups.do false 
Saving subjects and / or groups provides a convenient way of linking to them again, assigning membership and / or privileges to them, and, in the case of groups, it is currently the only way of selecting groups as factors for a Composite.

Saving stems (folders) (for the current session)

When browsing there is a link to /addSavedStem.do
AttributeValue
path/addSavedStem 
typeAddSavedStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
The menu item 'Folder workspace' invokes /populateListSavedStems.do
AttributeValue
path/populateListSavedStems 
typePopulateListSavedStemsAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
SavedStems SavedStemsDef false 
. From this page it is possible to remove stems from teh list. The form invokes /removeSavedStems.do
AttributeValue
path/removeSavedStems 
typeRemoveSavedStemsAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
SavedStems /populateListSavedStems.do false 
.

Creating and editing groups

The group summary page, if you have ADMIN privilege, has a link to /populateEditGroup.do
AttributeValue
path/populateEditGroup 
typePopulateEditGroupAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
EditGroup EditGroupDef false 

The a group has custom types, the group summary page also has a link to /populateEditGroupAttributes.do
AttributeValue
path/populateEditGroupAttributes 
typePopulateEditGroupAttributesAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
EditGroupAttributes EditGroupAttributesDef false 
which presents a form which submits to /saveGroupAttributes.do
AttributeValue
path/saveGroupAttributes 
typeSaveGroupAttributesAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
FindNewMembers /populateFindNewMembers.do false 
GroupMembers /populateGroupMembers.do false 
GroupSummary /populateGroupSummary.do false 
EditAttributes /populateEditGroupAttributes.do false 

When browsing, if the user has CREATE privilege for the current stem there will be a link to /populateCreateGroup.do
AttributeValue
path/populateCreateGroup 
typePopulateCreateGroupAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
CreateGroup EditGroupDef false 

After having created or edited a group, submitting the form invokes /saveGroup.do
AttributeValue
path/saveGroup 
typeSaveGroupAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
CreateAgain /populateCreateGroup.do false 
EditAgain /populateEditGroup.do false 
EditGroupAttributes /populateEditGroupAttributes.do false 
GroupSummary /populateGroupSummary.do false 
GroupMembers /populateGroupMembers.do false 
AddComposite /populateAddComposite.do false 
FindMembers /populateFindNewMembers.do false 

If there is a problem with the user input then /populateEditGroup.do or /populateCreateGroup.do will be called as appropriate. If the group saved already existed, the user is forwarded to /populateGroupSummary.do.

As of Grouper 1.0, saving a new or existing group will automatically add that group to the list of saved groups (and subjects) which are stored in the user's session. This behaviour is controlled by the media.properties key: put.in.session.updated.groups=true|false.

Deleting Groups

The group summary page, if you have ADMIN privilege, has a link to /deleteGroup.do
AttributeValue
path/deleteGroup 
typeDeleteGroupAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
CreateGroups /populateCreateGroups.do false 
ManageGroups /populateManageGroups.do false 
GroupSummary /populateGroupSummary.do false 

After successful deletion, a user is forwarded to the top level action for the current browse mode.

As of Grouper 1.0 and the introduction of Group math, it is possible that a group will be a factor in a Composite. In this case the group cannot be deleted, however, it is possible to view a list of all the Composites where the group is a factor through the action /populateGroupAsFactor +++/populateGroupAsFac+++ In order to delete the group you must first remove all the Composites where the group is a factor.

Listing, sorting, importing, exporting and modifying group membership

The group summary page, if the user has READ privilege, has a link to /populateGroupMembers.do
AttributeValue
path/populateGroupMembers 
typePopulateGroupMembersAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupMembers GroupMembersDef false 
AddGroupMembers /populateFindNewMembers.do false 
ExportMembers /exportMembers.do false 
ImportMembers /importMembers.do false 

Selecting this link displays a list of current members. Direct memberships are a link to /populateGroupMember.do
AttributeValue
path/populateGroupMember 
typePopulateGroupMemberAction
nameGroupOrStemMemberFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupMember GroupMemberDef false 
StemMember StemMemberDef false 

As of Grouper 1.2, if direct memberships are selected and the authenticated user has UPDATE privilege, the user can either select to remove individual members or all members via /removeGroupMembers.do
AttributeValue
path/removeGroupMembers 
typeRemoveGroupMembersAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupSummary /populateGroupSummary.do false 
GroupMembers /populateGroupMembers.do false 

As of Grouper 1.2, the UI can sort various lists of objects. All Grouper UI actions inherit a 'sort' method. See Javadoc for LowLevelGrouperCapableAction.sort

As of Grouper 1.2, if a site configures import and/or export formats it is possible to import/export membership data using /importMembers.do
AttributeValue
path/importMembers 
typeImportMembersAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
ImportMembers ImportMembersDef false 
and /exportMembers.do
AttributeValue
path/exportMembers 
typeExportMembersAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupMembers GroupMembersDef false 
ExportMembers ExportMembersDef false 
. Grouper provides implementation classes for handling simple delimited (e.g. tab, comma) text files and can export direct to Microsoft Excel. Sites can configure the implementations provided or write their own implementations to deal with more complex data formats. See Javadoc for MembershipImportManager and MembershipExporter for details on how to configure import/export.

/populateGroupMember.do displays a form which allows membership and privileges for the active group to be modified. Submitting the form invokes /saveGroupMember.do
AttributeValue
path/saveGroupMember 
typeSaveGroupMemberAction
nameGroupOrStemMemberFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupMembers /populateGroupMembers.do false 
GroupPrivilegees /populateGroupPriviligees.do false 
GroupMember /populateGroupMember.do false 
SubjectSummary /populateSubjectSummary.do false 

Indirect memberships, and cases where memberships are derived by more than one route are a link to /populateChains.do
AttributeValue
path/populateChains 
typePopulateChainsAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
Chain ChainDef false 
This action shows the distinct chains of indirect (and possibly direct) memberships which result in the subject being a member of the group. There is also a link to /populateGroupMember.do
AttributeValue
path/populateGroupMember 
typePopulateGroupMemberAction
nameGroupOrStemMemberFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupMember GroupMemberDef false 
StemMember StemMemberDef false 
which allows direct assignment of membership and privileges.

Subject names are links to/populateSubjectSummary.do
AttributeValue
path/populateSubjectSummary 
typePopulateSubjectSummaryAction
nameSubjectFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
SubjectSummary SubjectSummaryDef false 
GroupSearch /populateAllGroups.do false 
Following such a link shows the usual subject summary page, but without the options to view where else the subject has a membership or privilege. There is a link which 'cancels' the previous membership listing and lets the user focus on the selected Subject.

As of Grouper 1.0, sites can define custom list fields for groups. The group summary and group members pages allow the user to look at the members of these custom list fields in addition to the default 'members' list.

As of Grouper 1.0 and the introduction of Group math, a group may possibly not have directly assigned members. Instead it may have a Composite member - the union, intersection or complement of the memberships of two other groups. When a group has a Composite member, /populateGroupMembers.do
AttributeValue
path/populateGroupMembers 
typePopulateGroupMembersAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupMembers GroupMembersDef false 
AddGroupMembers /populateFindNewMembers.do false 
ExportMembers /exportMembers.do false 
ImportMembers /importMembers.do false 
shows the composition details. If a membership is derived through a Composite /populateChains.do
AttributeValue
path/populateChains 
typePopulateChainsAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
Chain ChainDef false 
shows which of the composite factor groups the subject is a member of.

The group summary page, if the user has UPDATE privilege, and a group does not have a composite member, has a link to /populateFindNewMembers.do
AttributeValue
path/populateFindNewMembers 
typePopulateFindNewMembersAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
FindNewMembers FindNewMembersDef false 
It also has a link to /populateAddComposite.do
AttributeValue
path/populateAddComposite 
typePopulateAddCompositeAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
addComposite AddCompositeDef false 
Clicking this link will remove any members, including a Composite member. New composite members are saved through the action /saveComposite.do
AttributeValue
path/saveComposite 
typeSaveCompositeAction
nameCompositeFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupMembers /populateGroupMembers.do false 
self /populateAddComposite.do false 
If a group has a composite member the group summary page has a link to /removeComposite.do
AttributeValue
path/removeComposite 
typeRemoveCompositeAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect

Selecting the /populateFindNewMembers.do
AttributeValue
path/populateFindNewMembers 
typePopulateFindNewMembersAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
FindNewMembers FindNewMembersDef false 
link (labelled Add more members ), displays the Tile FindNewMembersDef , which allows browsing or searching in "Find" mode.

When browsing, groups are displayed with a checkbox and as a link. Selecting group(s) and clicking the Assign privileges button invokes /populateAssignNewMembers.do
AttributeValue
path/populateAssignNewMembers 
typePopulateAssignNewMembersAction
nameSearchFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
AssignNewMembers AssignNewMembersDef false 

/populateAssignNewMembers.do displays a further form where membership / privileges can be assigned to the active group. Submitting this form invokes /doAssignNewMembers.do
AttributeValue
path/doAssignNewMembers 
typeDoAssignNewMembersAction
nameAssignMembersFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
FindNewMembers /populateFindNewMembers.do false 
GroupMembers /populateGroupMembers.do false 
GroupPrivilegees /populateGroupPriviligees.do false 
GroupSummary /populateGroupSummary.do false 
StemPrivilegees /populateStemPriviligees.do false 

Clicking a group link in "Find" mode, invokes /browseStemsFind.do which displays the immediate membership of the group. Each membership has a checkbox, and members which are themselves groups are links, allowing nested memberships to be followed. Selecting memberships and clicking the Assign privileges button invokes /populateAssignNewMembers.do.

Entering a search term and submitting the search form invokes /searchNewMembers.do
AttributeValue
path/searchNewMembers 
typeSearchNewMembersAction
nameSearchFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
AssignNewMembers /populateAssignNewMembers.do false 

/searchNewMembers.do forwards to /populateAssignNewMembers.do. The results appear as described above.

When creating a group the form has a button (labelled save and add members or assign privileges) which allows the user to immediately seek Subjects to grant membership / privileges to. If this button is clicked, /saveGroup.do forwards to /populateFindNewMembers.do.

As of Grouper 1.0, if a user has saved groups or subjects, there is a link to /assignSavedSubjects.do
AttributeValue
path/assignSavedSubjects 
typeAssignSavedSubjectsAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
AssignSubjects /populateAssignNewMembers.do false 
which allows quick assignment of privileges.

A link is provided to cancel searching so that normal browsing can resume. /cancelFindNewMembers.do
AttributeValue
path/cancelFindNewMembers 
typeCancelFindNewMembersAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupSummary /populateGroupSummary.do false 
BrowseStems /browseStems.do false 
BrowseStemsCreate /browseStemsCreate.do false 
BrowseStemsManage /browseStemsManage.do false 
BrowseStemsJoin /browseStemsJoin.do false 
BrowseStemsAll /browseStemsAll.do false 

Listing and modifying group privilegees

The group summary page, if the user has UPDATE privilege, has a form which allows the user to select a privilege. Doing so and submitting the form invokes /populateGroupPriviligees.do
AttributeValue
path/populateGroupPriviligees 
typePopulateGroupPriviligeesAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupPriviligees GroupPriviligeesDef false 

/populateGroupPriviligees.do displays the effective list of Subjects with the selected privilege. Each Subject is a link to /populateGroupMember.do
AttributeValue
path/populateGroupMember 
typePopulateGroupMemberAction
nameGroupOrStemMemberFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupMember GroupMemberDef false 
StemMember StemMemberDef false 

/populateGroupMember.do displays a form which allows the membership / privileges of the Subject for the active group to be changed. Submitting the form invokes /saveGroupMember.do
AttributeValue
path/saveGroupMember 
typeSaveGroupMemberAction
nameGroupOrStemMemberFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupMembers /populateGroupMembers.do false 
GroupPrivilegees /populateGroupPriviligees.do false 
GroupMember /populateGroupMember.do false 
SubjectSummary /populateSubjectSummary.do false 
If privileges are derived indirectly, due to membership of a group, these memberships are listed, along with the relevant privileges. Links are provided to the membership /populateGroupMember.do
AttributeValue
path/populateGroupMember 
typePopulateGroupMemberAction
nameGroupOrStemMemberFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupMember GroupMemberDef false 
StemMember StemMemberDef false 
for the current subject, and also for the privilege assignment page for the group, also /populateGroupMember.do
AttributeValue
path/populateGroupMember 
typePopulateGroupMemberAction
nameGroupOrStemMemberFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupMember GroupMemberDef false 
StemMember StemMemberDef false 

Creating and editing stems

When browsing in modes other than "Find", if the user has STEM privilege for the active stem, a link is displayed to /populateCreateStem.do
AttributeValue
path/populateCreateStem 
typePopulateCreateStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
CreateStem EditStemDef false 

In addition, a link is displayed to /populateEditStem.do
AttributeValue
path/populateEditStem 
typePopulateEditStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
EditStem EditStemDef false 

Submitting the form displayed by the previous two actions invokes /saveStem.do
AttributeValue
path/saveStem 
typeSaveStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
CreateAgain /populateCreateStem.do false 
CreateGroups /populateCreateGroups.do false 
EditAgain /populateEditStem.do false 
FindNewMembers /populateFindNewMembersForStems.do false 
StemMembers /populateStemMembers.do false 

If there is a problem with the user input then /populateEditStem.do or /populateCreateStem.do will be called as appropriate, otherwise the user is forwarded to /browseStems<mode>.do. If the stem was just created then, depending on the save button selected, active stem may be set to the new stem or the parent stem.

Deleting stems

When browsing in modes other than "Find", if the user has STEM privilege for the active stem, and the stem has no child stems or groups, a link is displayed to /deleteStem.do
AttributeValue
path/deleteStem 
typeDeleteStemAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
CreateGroups /populateCreateGroups.do false 
ManageGroups /populateManageGroups.do false 

After successful deletion, a user is forwarded to /populateCreateGroups.do or /populateManageGroups.do according to the current browse mode.

Listing and modifying stem privilegees

When browsing in modes other than "Find", if the user has STEM privilege for the active stem, a form is displayed allowing the user to select a privilege. Submitting the form invokes /populateStemPriviligees.do
AttributeValue
path/populateStemPriviligees 
typePopulateStemPriviligeesAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
StemPriviligees StemPriviligeesDef false 

/populateStemPriviligees.do displays the effective list of Subjects with the selected privilege for the active stem. Each Subject is a link to /populateStemMember.do
AttributeValue
path/populateStemMember 
typePopulateGroupMemberAction
nameGroupOrStemMemberFormBean 
scoperequest 
parameterstems 
Forwards
NamePathRedirect
StemMember StemMemberDef false 

/populateStemMember.do displays a form where stem privileges can be assigned. Submitting the form invokes /saveStemMember.do
AttributeValue
path/saveStemMember 
typeSaveStemMemberAction
nameGroupOrStemMemberFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
StemPriviligees /populateStemPriviligees.do false 
SubjectSummary /populateSubjectSummary.do false 
If privileges are derived indirectly, due to membership of a group, these memberships are listed, along with the relevant privileges. Links are provided to the membership /populateGroupMember.do
AttributeValue
path/populateGroupMember 
typePopulateGroupMemberAction
nameGroupOrStemMemberFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupMember GroupMemberDef false 
StemMember StemMemberDef false 
for the current subject, and also for the privilege assignment page for the group, /populateStemMember.do
AttributeValue
path/populateStemMember 
typePopulateGroupMemberAction
nameGroupOrStemMemberFormBean 
scoperequest 
parameterstems 
Forwards
NamePathRedirect
StemMember StemMemberDef false 

/populateStemPriviligees.do also has a link labelled Assign privileges to other subject which invokes /populateFindNewMembersForStems.do
AttributeValue
path/populateFindNewMembersForStems 
typePopulateFindNewMembersAction
nameStemFormBean 
scoperequest 
parameterstems 
Forwards
NamePathRedirect
FindNewMembers FindNewMembersDef false 

/populateFindNewMembersForStems.do does for stems what /populateFindNewMembers.do does for groups.

When creating a stem the form has a button (labelled save and asign privileges ) which allows the user to immediately seek Subjects to grant privileges to. If this button is clicked, /saveStem.do forwards to /populateFindNewMembersForStems.do.

Find mode can be canceled through the link to /cancelFindNewMembers.do

Opting into and out of groups

The group summary page, if the user has OPTIN privilege, displays a link to /joinGroup.do
AttributeValue
path/joinGroup 
typeJoinGroupAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
JoinGroups /populateGroupSummary.do false 

The group summary page, if the user has OPTOUT privilege, displays a link to /leaveGroup.do
AttributeValue
path/leaveGroup 
typeLeaveGroupAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
JoinGroups /populateGroupSummary.do false 

Namespace transition - move/copy groups/stems

As of v1.5.0 Grouper includes support for copying and moving groups and stems. When browsing there is a link to /populateMovesCopiesLinks.do
AttributeValue
path/populateMovesCopiesLinks 
typePopulateMovesCopiesLinksAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
MovesCopiesLinks MovesCopiesLinksDef false 
which offers a series of options:

Option Action
Copy (this) stem/populateCopyStem.do
AttributeValue
path/populateCopyStem 
typePopulateCopyStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
CopyStem CopyStemDef false 
Form submits to: /copyStem.do
AttributeValue
path/copyStem 
typeCopyStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
CopyStem /populateCopyStem.do false 
Move (this) stem/populateMoveStem.do
AttributeValue
path/populateMoveStem 
typePopulateMoveStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
MoveStem MoveStemDef false 
Form submits to: /moveStem.do
AttributeValue
path/moveStem 
typeMoveStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
MoveStem /populateMoveStem.do false 
Copy another stem here/populateCopyOtherStemToStem.do
AttributeValue
path/populateCopyOtherStemToStem 
typePopulateCopyOtherStemToStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
CopyOtherStemToStem CopyOtherStemToStemDef false 
Form submits to: /copyOtherStemToStem.do
AttributeValue
path/copyOtherStemToStem 
typeCopyOtherStemToStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
CopyOtherStemToStem /populateCopyOtherStemToStem.do false 
Move another stem here/populateMoveOtherStemToStem.do
AttributeValue
path/populateMoveOtherStemToStem 
typePopulateMoveOtherStemToStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
MoveOtherStemToStem MoveOtherStemToStemDef false 
Form submits to: /moveOtherStemToStem.do
AttributeValue
path/moveOtherStemToStem 
typeMoveOtherStemToStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
MoveOtherStemToStem /populateMoveOtherStemToStem.do false 
Copy a group here/populateCopyGroupToStem.do
AttributeValue
path/populateCopyGroupToStem 
typePopulateCopyGroupToStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
CopyGroupToStem CopyGroupToStemDef false 
Form submits to: /copyGroupToStem.do
AttributeValue
path/copyGroupToStem 
typeCopyGroupToStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
CopyGroupToStem /populateCopyGroupToStem.do false 
Move a group here/populateMoveGroupToStem.do
AttributeValue
path/populateMoveGroupToStem 
typePopulateMoveGroupToStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
MoveGroupToStem MoveGroupToStemDef false 
Form submits to: /moveGroupToStem.do
AttributeValue
path/moveGroupToStem 
typeMoveGroupToStemAction
nameStemFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
MoveGroupToStem /populateMoveGroupToStem.do false 

From the Group summary page there are links to /populateCopyGroup.do
AttributeValue
path/populateCopyGroup 
typePopulateCopyGroupAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
CopyGroup CopyGroupDef false 
which submits to /copyGroup.do
AttributeValue
path/copyGroup 
typeCopyGroupAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupSummary /populateGroupSummary.do false 
CopyGroup /populateCopyGroup.do false 
and /populateMoveGroup.do
AttributeValue
path/populateMoveGroup 
typePopulateMoveGroupAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
MoveGroup MoveGroupDef false 
which submits to /moveGroup.do
AttributeValue
path/moveGroup 
typeMoveGroupAction
nameGroupFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupSummary /populateGroupSummary.do false 
MoveGroup /populateMoveGroup.do false 

Group types

As of v1.5.0 Grouper has a new menu option (for GrouperSysAdmin or wheel group members) which presents a summary of available group types and fields. /populateGroupTypes.do
AttributeValue
path/populateGroupTypes 
typePopulateGroupTypesAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
GroupTypes GroupTypesDef false 

Audit log

As of v1.5.0 Grouper logs a wide range of actions. The UI provides context sensitive links when browsing or viewing group / subject summary pages. Audit information is also present for group types. A single action queries according to the parameters passed in. /userAudit.do
AttributeValue
path/userAudit 
typeDoUserAuditReportAction
nameAuditQueryFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
AuditQuery AuditQueryDef false 

Wheel group and admin status

Members of the wheel group can act as GrouperSystem. In the UI, by default, they act as themselves and have access to the personalised browse modes that most users see. If the change status to 'Act as admin', the personalised menu items are hidden, and the user has full privileges. There is no specific action which controls the status of the user. It is handled by GrouperCapableAction, which is the superclass for all top level actions. A request paramter 'wheelGroupAction' set to 'toAdmin' or 'toMortal' changes the user status - assuming they are in the wheel group.

Caller pages

Many pages in the Grouper UI can be reached from different places i.e. it is possible to link to a group member page from a group members or subject summary page amongst others. Often, linking to a page may be a diversion or an attempt to find more information before resuming with an earlier task. Therefore, it is often convenient to return to an earlier page. Given that the state of any given page is dependent on request parameters, request attributes and session attributes, it beomes difficult to keep track of state across several links. GrouperCapableAction has methods (saveAsCallerPage) which store parameters and attributes with an ID - passed as a request parameter called 'callerPageId'. If present, the tile callerPageButtonDef provides a link back to the page which called the current one. If the current page has been 'saved', then ID can be referenced as a request attribute 'thisPageId' - this allows construction of the callerPageId parameter on links to other pages.

Not all pages need be saved, and it is possible to pass the same callerPageId across several links / actions.

Errors

Error actions are invoked through web.xml configuration:

<error-page>
  <error-code>401</error-code>
  <location>/401.do</location>
  </error-page>
<error-page> <exception-type>java.lang.Exception</exception-type> <location>/error.do</location> </error-page>

/401.do
AttributeValue
path/401 
typePopulate401Action
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
Index IndexDef false 
Logout /logout.do false 
Login /login.do false 
stop 401Def false 
/error.do
AttributeValue
path/error 
typePopulateErrorAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
error ErrorNoAuthPageDef false 
authError ErrorPageDef false 

Debug mode

Debug mode is intended to help developers develop. Current preferences can be altered through the form at /populateDebugPrefs.do
AttributeValue
path/populateDebugPrefs 
typePopulateDebugPrefsAction
nameDebugPrefsFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
DebugPrefs DebugPrefsDef false 
NotAllowed DebugNotAllowedDef false 
(which will attempt to load previously saved preferences) which submits to /saveDebugPrefs.do
AttributeValue
path/saveDebugPrefs 
typeSaveDebugPrefsAction
nameDebugPrefsFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
DebugPrefs DebugPrefsDef false 
NotAllowed DebugNotAllowedDef false 
When browsing using the Grouper UI with the 'tile history' present, and if appropriate debug options are selected, JSP files are linked to /editJSP.do
AttributeValue
path/editJSP 
typeEditJSPAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
Editor EditorDef false 
NotAllowed DebugNotAllowedDef false 

Appendices

Appendix A: Tiles

JSP files are links which cause the source code of the JSP to load in a new browser window - view the source to see the actual content as plain text.

BaseDef

template.jsp controls the order in which page components are output and which components are nested in which structural DIV tags. Individual pages may be customised by overriding the various definitions referred to by the 'put' tags. CSS can, to some extent, be used to re-position components, however, some re-arrangements may require a replacement template.jsp, or post processing of the generated XHTML.

AttributeValue
path/WEB-INF/jsp/template.jsp 
Puts
NameTypeValue
header definition headerDef  
footer definition footerDef  
subheader definition subheaderDef  
contentwrapper definition contentDef  
left definition leftDef  
menu definition menuDef  
right definition rightDef  
head definition headDef  
messageArea definition messageDef  
init definition initDef  
title  titleDef  
debug  debugDef  

AssignNewMembersDef

Page which shows a set of privileges and a list of Subjects. The privileges depend on whether the target is a group or a stem. The list of Subjects may be the result of a search, in which case the results will be paged. Alternatively, the subjects may have been selected whilst browsing, in which case the list will not need to be paged, however, all the subjects will be checked.

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/AssignNewMembers.jsp  
browseChildGroup page /WEB-INF/jsp/browseForFindChildGroup.jsp  

bodyDef

Start body tag + content

AttributeValue
path/WEB-INF/jsp/body.jsp 
Puts
NameTypeValue
internet2spons definition internet2sponsDef  

internet2sponsDef

Includes sponsored by + Internet2 logo

AttributeValue
path/WEB-INF/jsp/internet2spons.jsp 

contentDef

Wrapper which inserts the 'content' attribute into the page. The wrapper can be redefined to allow sites to add extra XHTML around the page specific content, or to re-arrange the page specific output.

AttributeValue
path/WEB-INF/jsp/content.jsp 

EditorDef

A popup window which immediately closes. Part of the debug mechanism - if dynamic tiles are shown and a JSP editor defined, JSP file names are popup links to an action whch launches the editor. The idea is that the underlying page does not refresh when a link is clicked.

AttributeValue
path/WEB-INF/jsp/Editor.jsp 

HelpDef

The help page. Includes getting started info and general help. This text is not derived from ResourceBundles as it makes more sense for a site to override the whole JSP pages.

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/Help.jsp  

CreateGroupsDef

Main page for the 'Create' browse mode

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/CreateGroups.jsp  

EditGroupAttributesDef

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/EditGroupAttributes.jsp  

EditGroupDef

Form for creating new groups or editing existing ones.

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/EditGroup.jsp  

CopyGroupDef

Form for copying groups to another folder.

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/CopyGroup.jsp  

MoveGroupDef

Form for moving groups to another folder.

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/MoveGroup.jsp  

CopyStemDef

Form for copying stems to another folder.

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/CopyStem.jsp  

MoveStemDef

Form for moving stems to another folder.

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/MoveStem.jsp  

CopyOtherStemToStemDef

Form for copying other stems to the current folder.

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/CopyOtherStemToStem.jsp  

MoveOtherStemToStemDef

Form for moving other stems to the current folder.

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/MoveOtherStemToStem.jsp  

CopyGroupToStemDef

Form for copying groups to the current folder.

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/CopyGroupToStem.jsp  

MoveGroupToStemDef

Form for moving groups to the current folder.

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/MoveGroupToStem.jsp  

MovesCopiesLinksDef

Form with links for moving/copying a stem and moving/copying stems and groups to a stem.

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/MovesCopiesLinks.jsp  

ChainDef

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/Chain.jsp  

EditStemDef

Form for creating newstems or editing existing ones.

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/EditStem.jsp  

DebugPrefsDef

Form for saving debug preferences.

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/DebugPrefs.jsp  

AuditQueryDef

Show audit query results

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/AuditQuery.jsp  

GroupTypesDef

Show group types

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/GroupTypes.jsp  

DebugNotAllowedDef

Show instead of debug page if not enabled

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/DebugNotAllowed.jsp  

FindNewMembersDef

Browse tree / search screen for finding members

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/FindNewMembers.jsp  

GroupMemberDef

Form which allows user to change an individual Subject`s membership of / privileges for, the active group

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/GroupMember.jsp  

GroupMembersDef

Displays (filtered and paged if necessary) list of current group members with links to edit individual members

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/GroupMembers.jsp  

SavedGroupsDef

Displays list of saved groups

AttributeValue
extendsBaseDef
controllerUrl/prepareSavedGroups.do 
Puts
NameTypeValue
content page /WEB-INF/jsp/SavedGroups.jsp  

SavedSubjectsDef

Displays list of saved Subjects

AttributeValue
extendsBaseDef
controllerUrl/prepareSavedSubjects.do 
Puts
NameTypeValue
content page /WEB-INF/jsp/SavedSubjects.jsp  

SavedStemsDef

Displays list of saved Stems

AttributeValue
extendsBaseDef
controllerUrl/prepareSavedStems.do 
Puts
NameTypeValue
content page /WEB-INF/jsp/SavedStems.jsp  

GroupPriviligeesDef

Displays list of Subjects with selected privilege, with links to edit privileges for individual Subjects

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/GroupPriviligees.jsp  

StemPriviligeesDef

Displays list of Subjects with selected privilege, with links to edit privileges for individual Subjects

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/StemPriviligees.jsp  

GroupSummaryDef

Displays summary of a group and provides links for the maintenance of the group

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/GroupSummary.jsp  
browseLocation page /WEB-INF/jsp/browseStemsLocation.jsp  

GroupAsFactorDef

Displays Groups where focus group is a factor

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/GroupAsFactor.jsp  
browseLocation page /WEB-INF/jsp/browseStemsLocation.jsp  

SubjectSummaryDef

Displays summary of a subject and a means to discovering memberships and privileges

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/SubjectSummary.jsp  

IndexDef

Splash page for unauthenticated users, Displays getting started info and a login link

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/index.jsp  
left page /WEB-INF/jsp/empty.jsp  

JoinGroupsDef

Main page for the 'Join' browse mode

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/JoinGroups.jsp  

ManageGroupsDef

Main page for the 'Manage' browse mode

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/ManageGroups.jsp  

MyGroupsDef

Main page for the 'default' browse mode - My memberships

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/MyGroups.jsp  

AllGroupsDef

Main page for the 'All' browse mode

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/AllGroups.jsp  

SearchGroupResultsDef

Displays search results when searching for groups in all modes except 'Find' mode

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/SearchGroupResults.jsp  

SearchStemResultsDef

Displays search results when searching for stems

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/SearchStemResults.jsp  

UploadTestFormDef

Form which allows user to upload the results of unit tests. The format is important - but allows the pages produced by testing to be viewed

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/UploadTestForm.jsp  

AddCompositeDef

Form for adding a composite to a group

AttributeValue
extendsBaseDef
controllerUrl/prepareSavedGroups.do 
Puts
NameTypeValue
content page /WEB-INF/jsp/AddComposite.jsp  

StemMemberDef

Form which allows user to change an individual Subject`s membership of / privileges for, the active stem

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/StemMember.jsp  

browseStemsDef

Tile which is embedded in other pages - displays child stems and groups of the active stem

AttributeValue
path/WEB-INF/jsp/browseStems.jsp 
controllerUrl/prepareStems.do 
Puts
NameTypeValue
maintainModule String y  
browseLocation page /WEB-INF/jsp/browseStemsLocation.jsp  
browseChildStem page /WEB-INF/jsp/browseChildStem.jsp  
browseChildGroup page /WEB-INF/jsp/browseChildGroup.jsp  
browseForFindMember page /WEB-INF/jsp/browseForFindMember.jsp  

browseStemsFindDef

Tile which is embedded in other pages - displays child stems and groups and group memberships of the curent node

AttributeValue
path/WEB-INF/jsp/browseStemsFind.jsp 
controllerUrl/prepareStems.do 
Puts
NameTypeValue
maintainModule String y  
browseChildGroup page /WEB-INF/jsp/browseForFindChildGroup.jsp  
browseLocation page /WEB-INF/jsp/browseStemsLocation.jsp  
browseChildStem page /WEB-INF/jsp/browseChildStem.jsp  
browseForFindMember page /WEB-INF/jsp/browseForFindMember.jsp  

dynamicTileDef

Tile which is configured to load dynamic tiles based on a 'view' and a 'viewObject'

AttributeValue
path/WEB-INF/jsp/dynamicTile.jsp 
controllerUrl/getDynamicTileName.do 
Puts
NameTypeValue
maintainModule String y  

auditSearchDef

Form embedded in another page which allows the audit log to be searched

AttributeValue
path/WEB-INF/jsp/audit/auditSearch.jsp 

groupMemberPrivsDef

Form embedded in another page which allows a Subject`s membership / privileges for the active group to be changed

AttributeValue
path/WEB-INF/jsp/modifyGroupMemberPrivilegesView.jsp 

stemMemberPrivsDef

Form embedded in another page which allows a Subject`s privileges for the active stem to be changed

AttributeValue
path/WEB-INF/jsp/modifyStemMemberPrivilegesView.jsp 

footerDef

Standard tile used in baseDef which appears at the bottom of all pages unless otherwise configured

AttributeValue
path/WEB-INF/jsp/footer.jsp 

headDef

Tile which provides contents for HEAD tags on all pages derived from baseDef unless overridden

AttributeValue
path/WEB-INF/jsp/head.jsp 

headerDef

Standard tile used in baseDef which appears at the top of all pages unless otherwise configured

AttributeValue
path/WEB-INF/jsp/header.jsp 

initDef

Ensures that session is initialised with ResourceBundles. May be called even when not needed - so must review

AttributeValue
path/WEB-INF/jsp/empty.jsp 

leftDef

Standard tile used in baseDef which appears at the left of all pages.

AttributeValue
path/WEB-INF/jsp/left.jsp 

Standard tile used in baseDef which appears at the left, by default, of all pages unless otherwise configured. Can be 'relocated' to the menu bar by CSS

AttributeValue
path/WEB-INF/jsp/menu.jsp 
controllerUrl/prepareMenu.do 
Puts
NameTypeValue
maintainModule String y  

messageDef

Standard tile used in baseDef which appears above the content space and renders any Message object assigned to the request attribute key 'message'

AttributeValue
path/WEB-INF/jsp/message.jsp 

initialStemsDef

Tile inserted in browseStemsDef if an InitialStems plugin is defined and that mode is selected

AttributeValue
path/WEB-INF/jsp/initialStems.jsp 

rightDef

Standard tile used in baseDef which appears at the right of all page - empty in the standard UI

AttributeValue
path/WEB-INF/jsp/right.jsp 

stemLinksDef

Tile which displays a standard set of stem management links based on the privileges of the current user for the current stem

AttributeValue
path/WEB-INF/jsp/stemLinks.jsp 

gettingStartedDef

Tile which gives a basic introduction to Grouper - used on the splash page and on the help page

AttributeValue
path/WEB-INF/jsp/gettingStarted.jsp 

groupLinksDef

Tile which displays a standard set of group management links based on the privileges of the current user for the current group

AttributeValue
path/WEB-INF/jsp/groupLinks.jsp 

subjectLinksDef

Tile which displays a standard set of links for a subject

AttributeValue
path/WEB-INF/jsp/subjectLinks.jsp 

subheaderDef

Stanard tile which displays a menu bar below the header

AttributeValue
path/WEB-INF/jsp/subheader.jsp 

titleDef

Standard tile which displays a page title and possibly subtitle below the subheader

AttributeValue
path/WEB-INF/jsp/title.jsp 

flattenDef

Standard tile which displays links which allow a user to show initial stems (if configured) and toggle whether to show the group hierarchy or a flat list of groups or stems

AttributeValue
path/WEB-INF/jsp/flatten.jsp 
controllerUrl/prepareFlatten.do 
Puts
NameTypeValue
maintainModule String y  

searchFromDef

Tile which displays a select list of parent stems to scope a search to a branch of the groups hierarchy

AttributeValue
path/WEB-INF/jsp/searchFrom.jsp 
controllerUrl/prepareBrowsePath.do 

showStemsLocationDef

Tile which displays a list of parent stems to show the location of the current group or stem. The stem names ARE links. This has changed in 1.3.0

AttributeValue
path/WEB-INF/jsp/browseStemsLocation.jsp 
controllerUrl/prepareBrowsePath.do 
Puts
NameTypeValue
maintainModule String y  

browseStemsLocationDef

Tile which displays a list of parent stems to show the location of the current group or stem. The stem names are links

AttributeValue
path/WEB-INF/jsp/browseStemsLocation.jsp 
controllerUrl/prepareBrowsePath.do 
Puts
NameTypeValue
maintainModule String y  

simpleSearchGroupsDef

Tile which displays the simple search form for groups

AttributeValue
path/WEB-INF/jsp/simpleSearchGroups.jsp 
controllerUrl/prepareGroupOrStemSearch.do 
Puts
NameTypeValue
maintainModule String y  

SubjectSearchResultsDef

Tile which displays the subject search results

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/SubjectSearchResults.jsp  

SimpleSubjectSearchDef

Tile which displays the subject search form

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/SimpleSubjectSearch.jsp  

ExportMembersDef

Tile which displays exported member data

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/ExportMembers.jsp  

ImportMembersDef

Tile which shows 'log' of import process

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/ImportMembers.jsp  

subjectSearchFragmentDef

Tile which displays the subject search form fragment - it uses SourceManager to get a list of sources and allows a user to select which to search.

AttributeValue
path/WEB-INF/jsp/subjectSearchFragment.jsp 
controllerUrl/prepareSubjectSearch.do 
Puts
NameTypeValue
maintainModule String y  

advancedSearchGroupsDef

Tile which displays the advanced search form for groups

AttributeValue
path/WEB-INF/jsp/advancedSearchGroups.jsp 
controllerUrl/prepareGroupOrStemSearch.do 
Puts
NameTypeValue
maintainModule String y  

simpleSearchStemsDef

Tile which displays the simple search form for stems

AttributeValue
path/WEB-INF/jsp/simpleSearchStems.jsp 
controllerUrl/prepareGroupOrStemSearch.do 
Puts
NameTypeValue
maintainModule String y  

advancedSearchStemsDef

Tile which displays the advanced search form for stems

AttributeValue
path/WEB-INF/jsp/advancedSearchStems.jsp 
controllerUrl/prepareGroupOrStemSearch.do 
Puts
NameTypeValue
maintainModule String y  

simpleSearchDef

Tile which displays the simple search form for people and groups

AttributeValue
path/WEB-INF/jsp/simpleSearch.jsp 
controllerUrl/prepareGroupOrStemSearch.do 
Puts
NameTypeValue
maintainModule String y  

changeMembershipScopeDef

Tile which displays a form which allows a user to change whether only immediate, or only effective or all members of the active group should be displayed

AttributeValue
path/WEB-INF/jsp/changeMembershipScope.jsp 

changeSubjectSummaryScopeDef

Tile which displays a form which allows a user to change whether only immediate, or only effective or all memberships of the active subject should be displayed, or groups / stems for which the subject has the specified access / naming privilege

AttributeValue
path/WEB-INF/jsp/changeSubjectSummaryScope.jsp 

selectGroupPrivilegeDef

Tile which displays a form which allows a user to select a group privilege and see a list of Subjects with that privilege for the active group

AttributeValue
path/WEB-INF/jsp/selectGroupPrivilege.jsp 

selectStemPrivilegeDef

Tile which displays a form which allows a user to select a stem privilege and see a list of Subjects with that privilege for the active stem

AttributeValue
path/WEB-INF/jsp/selectStemPrivilege.jsp 

groupInfoDef

Tile which displays a summary of group attributes - currently inserted in GroupSummaryDef

AttributeValue
path/WEB-INF/jsp/groupInfo.jsp 

emptyDef

Tile with no content - used as a place holder where content may be needed in future or added in site specific way

AttributeValue
path/WEB-INF/jsp/empty.jsp 

401Def

Not sure this is still used

AttributeValue
path/WEB-INF/jsp/401.jsp 

ErrorDef

Page displayed if uncaught exception thrown

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/error.jsp  

generalHelpDef

Tile which displays general help about the UI

AttributeValue
path/WEB-INF/jsp/generalHelp.jsp 

callerPageButtonDef

Tile which displays button to go to previous page

AttributeValue
path/WEB-INF/jsp/callerPageButton.jsp 

effectivePrivsDef

Tile which displays effective privs on priv assignment screen

AttributeValue
path/WEB-INF/jsp/effectivePrivs.jsp 

effectivePrivDef

Tile which displays one effective priv on priv assignment screen

AttributeValue
path/WEB-INF/jsp/effectivePriv.jsp 

groupStuffDef

Placeholder sites can redefine to add their own content e.g. links to other systems integrated with Grouper.

AttributeValue
path/WEB-INF/jsp/empty.jsp 

failedRevocationsDef

Tile which lists any privileges the user attempted to revoke - but which failed

AttributeValue
path/WEB-INF/jsp/failedRevocations.jsp 

debugDef

Tile which displays debug information if dbug mode is on

AttributeValue
path/WEB-INF/jsp/debug.jsp 

selectListFieldsDef

Tile which displays form to allow list fields to be viewed / changed

AttributeValue
path/WEB-INF/jsp/selectListFields.jsp 

linkSeparatorDef

defaults to : to separate links. Made a tile to allow it to be easily changed - possibly with graphic

AttributeValue
path/WEB-INF/jsp/linkSeparator.jsp 

singleChainPath

called in loop in view chainPath

AttributeValue
path/WEB-INF/jsp/singleChainPath.jsp 

multiOptionDef

called in loop in view chainPath

AttributeValue
path/WEB-INF/jsp/multiOption.jsp 

selectStemSearchFieldsDef

Called from advanced stem search. Displays fields which can be searched

AttributeValue
path/WEB-INF/jsp/selectStemSearchFields.jsp 

selectGroupSearchFieldsDef

Called from advanced group search. Displays fields which can be searched

AttributeValue
path/WEB-INF/jsp/selectGroupSearchFields.jsp 

selectGroupSearchTypesDef

Called from advanced group search. Displays group types which can be searched

AttributeValue
path/WEB-INF/jsp/selectGroupSearchTypes.jsp 

searchGroupResultFieldChoiceDef

Called from group search pages so user can select field to show

AttributeValue
path/WEB-INF/jsp/searchGroupResultFieldChoice.jsp 

searchStemResultFieldChoiceDef

Called from stem search pages so user can select field to show

AttributeValue
path/WEB-INF/jsp/searchStemResultFieldChoice.jsp 

subjectSearchGroupFragmentDef

Called from subject search pages to allow source specific search screen

AttributeValue
path/WEB-INF/jsp/subjectSearchGroupFragment.jsp 

groupMathHelpDef

Help text for Group Math

AttributeValue
path/WEB-INF/jsp/groupMathHelp.jsp 

customTypesHelpDef

Help text for custom types

AttributeValue
path/WEB-INF/jsp/customTypesHelp.jsp 

TestUploadFramesetDef

Frameset for turning test results into a slideshow

AttributeValue
path/WEB-INF/jsp/TestUploadFrameset.jsp 

TestUploadFramesetControlsDef

Page which controls slideshow of test results

AttributeValue
path/WEB-INF/jsp/TestUploadFramesetControls.jsp 

ErrorPageDef

Catch all error page

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/ErrorPage.jsp  

ErrorNoAuthPageDef

Catch all error page when not authenticated

AttributeValue
extendsBaseDef
Puts
NameTypeValue
content page /WEB-INF/jsp/ErrorPage.jsp  
left page /WEB-INF/jsp/empty.jsp  

Appendix B: Dynamic tiles

A site may override a tile specified here by adding the same key with a different value to their site-specific media.properties file. If a site wishes to selectively override a tile they can define a more specific key which matches the relevant object type and view (see Javadoc for DefaultTemplateResolver

JSP files are links which cause the source code of the JSP to load in a new browser window - view the source to see the actual content as plain text.

Key
Tile
Description
composite.view.default
/WEB-INF/jsp/compositeView.jsp
Dynamic tile which is the default view of a Composite
composite.view.asFactor
/WEB-INF/jsp/compositeAsFactorView.jsp
Displays a Composite from the perspective of a group which is a factor of the of the composite
composite.view.chainPath
/WEB-INF/jsp/compositeChainPathView.jsp
Dynamic tile used to display a composite when part of a chain
composite.view.chain
/WEB-INF/jsp/compositeChainView.jsp
Dynamic tile used to render the detail of a composite group
subject.view.default
/WEB-INF/jsp/subjectView.jsp
Dynamic tile used to render a subject. If a group []placed around the group name
subject.view.memberLink
/WEB-INF/jsp/memberLinkView.jsp
Dynamic tile used by genericList mechanism to render individual group members
subject.view.subjectSearchResultLink
/WEB-INF/jsp/subjectSearchResultLinkView.jsp
Link to subject summary page
subject.view.subjectInfo
/WEB-INF/jsp/subjectInfo.jsp
Displays subject attributes
subject.view.groupSearchResultLink
/WEB-INF/jsp/groupSearchResultLinkView.jsp
Dynamic tile which renders a group found by a search (not 'Find' mode) as a link to the group summary
subject.view.stemSearchResultLink
/WEB-INF/jsp/stemSearchResultLinkView.jsp
Dynamic tile used to render a stem 'found' as a result of a search in 'Create' mode
subject.view.assignFoundMember
/WEB-INF/jsp/assignFoundMemberView.jsp
Dynamic tile which represents a group or subject which can be selected for privilege assignment.
subject.view.subjectAccessPriv
/WEB-INF/jsp/subjectAccessPrivView.jsp
Dynamic tile used by genericList mechanism to render individual Access privileges for current subject
subject.view.subjectNamingPriv
/WEB-INF/jsp/subjectNamingPrivView.jsp
Dynamic tile used by genericList mechanism to render naming privileges from subject perspecive
subject.view.subjectSummaryLink
/WEB-INF/jsp/subjectSummaryLinkView.jsp
Dynamic tile used to render a link to SubjectSummary page
subject.view.current
/WEB-INF/jsp/currentSubjectView.jsp
Dynamic tile used by genericList mechanism to render memberships from Subject perspective
subject.view.isMemberOf
/WEB-INF/jsp/subjectIsMemberOfView.jsp
Dynamic tile used to render is member of links
subject.view.isIndirectMemberOf
/WEB-INF/jsp/subjectIsIndirectMemberOfView.jsp
Dynamic tile used to render a link to a chain
subject.view.hasPrivilege
/WEB-INF/jsp/subjectHasPrivilegeView.jsp
Dynamic tile used to display has privilege links + actual privileges
subject.view.savedSubject
/WEB-INF/jsp/subjectSearchResultLinkView.jsp
Link to subject summary page
group.view.hasPrivilege
/WEB-INF/jsp/subjectHasPrivilegeView.jsp
Dynamic tile used to display has privilege links + actual privileges
stem.view.browseHierarchy
/WEB-INF/jsp/browseChildStem.jsp
Dynamic tile used by all browse modes to render child stems as links
stem.view.assignFoundMember
/WEB-INF/jsp/browseChildStem.jsp
Dynamic tile used by all browse modes to render child stems as links
stem.view.stemSearchResultLink
/WEB-INF/jsp/stemSearchResultLinkView.jsp
Dynamic tile used to render a stem 'found' as a result of a search in 'Create' mode
stem.view.searchResultItem
/WEB-INF/jsp/stemSearchResultItemView.jsp
Dynamic tile used to render a group as a search result
stem.view.default
/WEB-INF/jsp/stemView.jsp
Dynamic tile which renders a stem
stem.view.savedStem
/WEB-INF/jsp/stemSearchResultLinkView.jsp
Dynamic tile used to render a stem 'found' as a result of a search in 'Create' mode
subjectType.group.view.assignFoundMember
/WEB-INF/jsp/browseForFindChildGroup.jsp
Dynamic tile used whilst browsing in 'Find' mode to render child groups
subjectType.group.view.subjectSearchResult
/WEB-INF/jsp/groupAsSubjectSearchResultView.jsp
Dynamic tile used to render a subject. If a group []placed around the group name
subject.view.subjectSearchResult
/WEB-INF/jsp/subjectSearchResultView.jsp
Dynamic tile used to render a subject. If a group []placed around the group name
group.view.linkGroupMembers
/WEB-INF/jsp/groupLinkMembersView.jsp
Dynamic tile used to render a link to GroupMembers
group.view.compositeMember
/WEB-INF/jsp/groupChainPathView.jsp
Displays a group when part of a chain
group.view.compositeOwner
/WEB-INF/jsp/groupChainPathView.jsp
Displays a group when part of a chain
group.view.compositeGroupChainMember
/WEB-INF/jsp/compositeGroupChainMemberView.jsp
Dynamic tile used to show how a Subject is a member of a left / right group in a composite
group.view.isMemberOf
/WEB-INF/jsp/subjectIsMemberOfView.jsp
Dynamic tile used to render is member of links
group.view.current
/WEB-INF/jsp/currentSubjectView.jsp
Dynamic tile used by genericList mechanism to render memberships from Subject perspective
group.view.browseHierarchy
/WEB-INF/jsp/browseChildGroup.jsp
Dynamic tile used in all browse modes except 'Find' to display a child group
group.view.assignFoundMember
/WEB-INF/jsp/browseForFindChildGroup.jsp
Dynamic tile used whilst browsing in 'Find' mode to render child groups
group.view.groupSearchResultLink
/WEB-INF/jsp/groupSearchResultLinkView.jsp
Dynamic tile which renders a group found by a search (not 'Find' mode) as a link to the group summary
group.view.groupSearchResultWithPrivs
/WEB-INF/jsp/groupSearchResultWithPrivsView.jsp
Dynamic tile which renders a group found by a search (not 'Find' mode) as a link to the group summary and shows the appropriate privileges for the user selected through SubjectSummary page
group.view.savedGroup
/WEB-INF/jsp/groupSearchResultLinkView.jsp
Dynamic tile which renders a group found by a search (not 'Find' mode) as a link to the group summary
group.view.groupMember
/WEB-INF/jsp/subjectView.jsp
Dynamic tile used to render a subject. If a group []placed around the group name
group.view.chainPath
/WEB-INF/jsp/groupChainPathView.jsp
Displays a group when part of a chain
group.view.subjectSummaryGroupLink
/WEB-INF/jsp/groupChainPathView.jsp
Displays a group when part of a chain
group.view.searchResultItem
/WEB-INF/jsp/groupSearchResultItemView.jsp
Dynamic tile used to render a group as a search result
group.view.groupChain
/WEB-INF/jsp/groupChainView.jsp
Dynamic tile used to render a subject. If a group []placed around the group name
group.view.default
/WEB-INF/jsp/subjectView.jsp
Dynamic tile used to render a subject. If a group []placed around the group name
membership.view.subjectSummaryMemberLink
/WEB-INF/jsp/subjectSummaryMemberLinkView.jsp
Dynamic tile used by genericList mechanism to render memberships from Subject perspective
membership.view.subjectSummary
/WEB-INF/jsp/subjectSummaryMembershipView.jsp
Dynamic tile used by genericList mechanism to render memberships from Subject perspective
membership.view.memberLink
/WEB-INF/jsp/memberLinkView.jsp
Dynamic tile used by genericList mechanism to render individual group members
membership.view.memberWithoutLink
/WEB-INF/jsp/memberWithoutLinkView.jsp
Dynamic tile used by genericList mechanism to render individual group members - which are not links
membership.view.default
/WEB-INF/jsp/defaultMembershipView.jsp
Dynamic tile used by genericList mechanism to render individual group members
membership.view.removableMembershipInfo
/WEB-INF/jsp/removableMembershipView.jsp
Dynamic tile used by genericList mechanism to render individual group members which can be removed
membership.view.compositeMember
/WEB-INF/jsp/compositeMembershipView.jsp
Dynamic tile used to render a membership link for a Subject and a group which is a factor in a composite
subjectprivilege.view.subjectSummaryPrivilege
/WEB-INF/jsp/subjectSummaryPrivilegeView.jsp
Dynamic tile used by genericList mechanism to render privileges from Subject perspective
subjectprivilege.view.default
/WEB-INF/jsp/defaultSubjectPrivilegeView.jsp
Dynamic tile used by genericList mechanism to render individual privilegees
subjectprivilege.access.view.privilegesLink
/WEB-INF/jsp/accessPrivilegesLinkView.jsp
Displays link to show access privileges for given subject on given group
subjectprivilege.naming.view.privilegesLink
/WEB-INF/jsp/namingPrivilegesLinkView.jsp
Displays link to show naming privileges for given subject on given group
list.view.default
/WEB-INF/jsp/genericListView.jsp
Dynamic tile used to render Lists - header, items and footer
list.view.groupSummaryGroupTypes
/WEB-INF/jsp/genericItemsOnlyListView.jsp
Dynamic tile used to render Lists items - no header or footer
list.view.groupSummaryFields
/WEB-INF/jsp/genericItemsOnlyListView.jsp
Dynamic tile used to render Lists items - no header or footer
list.view.editGroupAttributes
/WEB-INF/jsp/genericItemsOnlyListView.jsp
Dynamic tile used to render Lists items - no header or footer
list.view.editAttributesFields
/WEB-INF/jsp/genericItemsOnlyListView.jsp
Dynamic tile used to render Lists items - no header or footer
list.view.compositesAsFactor
/WEB-INF/jsp/genericItemsOnlyListView.jsp
Dynamic tile used to render Lists items - no header or footer
list.view.searchAttributesFields
/WEB-INF/jsp/genericItemsOnlyListView.jsp
Dynamic tile used to render Lists items - no header or footer
list.view.searchForPrivAssignHeader
/WEB-INF/jsp/searchForPrivAssignmentListHeaderView.jsp
Dynamic tile used by genericList mechanism to render content above list items - i.e. is an alternative header when searching for subjects in 'Find' mode
list.view.searchForPrivAssignFooter
/WEB-INF/jsp/searchForPrivAssignmentListFooterView.jsp
Dynamic tile used by genericList mechanism to render content below list items - i.e. is an alternative footer when searching for subjects in 'Find' mode
list.view.browseStemsFindHeader
/WEB-INF/jsp/browseStemsFindListHeaderView.jsp
Dynamic tile used in the 'Find' browse mode, which renders the content displayed before the children for the active node.
list.view.browseStemsFindFooter
/WEB-INF/jsp/browseStemsFindListFooterView.jsp
Dynamic tile used in the 'Find' browse mode, which renders the content displayed after the children for the active node.
list.view.removableMemberLinksHeader
/WEB-INF/jsp/removableMemberLinksHeaderView.jsp
Dynamic tile used to provide form header for removing all, or selected members
list.view.removableMemberLinksFooter
/WEB-INF/jsp/removableMemberLinksFooterView.jsp
ynamic tile used to provide footer, including form buttons, for removing all, or selected members
list.view.genericListHeader
/WEB-INF/jsp/genericListHeaderView.jsp
Dynamic tile used to display content above list elements of a dynamic list. includes a form dor chaning the page size
list.view.genericListFooter
/WEB-INF/jsp/genericListFooterView.jsp
Dynamic tile which displays content after the elements of a dynamic list - used to allow paging of lists > than the current page size
list.view.memberLinksHeader
/WEB-INF/jsp/genericListHeaderView.jsp
Dynamic tile used to display content above list elements of a dynamic list. includes a form dor chaning the page size
list.view.privilegeLinksHeader
/WEB-INF/jsp/genericListHeaderView.jsp
Dynamic tile used to display content above list elements of a dynamic list. includes a form dor chaning the page size
list.view.browseHeader
/WEB-INF/jsp/genericListHeaderView.jsp
Dynamic tile used to display content above list elements of a dynamic list. includes a form dor chaning the page size
list.view.findNewHeader
/WEB-INF/jsp/genericListHeaderView.jsp
Dynamic tile used to display content above list elements of a dynamic list. includes a form dor chaning the page size
list.view.assignHeader
/WEB-INF/jsp/genericListHeaderView.jsp
Dynamic tile used to display content above list elements of a dynamic list. includes a form dor chaning the page size
list.view.searchResultHeader
/WEB-INF/jsp/genericListHeaderView.jsp
Dynamic tile used to display content above list elements of a dynamic list. includes a form dor chaning the page size
list.view.memberLinksFooter
/WEB-INF/jsp/genericListFooterView.jsp
Dynamic tile which displays content after the elements of a dynamic list - used to allow paging of lists > than the current page size
list.view.privilegeLinksFooter
/WEB-INF/jsp/genericListFooterView.jsp
Dynamic tile which displays content after the elements of a dynamic list - used to allow paging of lists > than the current page size
list.view.browseFooter
/WEB-INF/jsp/genericListFooterView.jsp
Dynamic tile which displays content after the elements of a dynamic list - used to allow paging of lists > than the current page size
list.view.findNewFooter
/WEB-INF/jsp/genericListFooterView.jsp
Dynamic tile which displays content after the elements of a dynamic list - used to allow paging of lists > than the current page size
list.view.assignFooter
/WEB-INF/jsp/genericListFooterView.jsp
Dynamic tile which displays content after the elements of a dynamic list - used to allow paging of lists > than the current page size
list.view.searchResultFooter
/WEB-INF/jsp/genericListFooterView.jsp
Dynamic tile which displays content after the elements of a dynamic list - used to allow paging of lists > than the current page size
list.view.chain
/WEB-INF/jsp/chainPath.jsp
Displays chain of effective memberships by which a subject is a member of a group
field.list.view.default
/WEB-INF/jsp/fieldLISTView.jsp
Dynamic tile used to render a field which is a list field
field.list.view.withValue
/WEB-INF/jsp/fieldLISTWithValueView.jsp
Dynamic tile used to display a List field with value the active node.
field.list.view.schema
/WEB-INF/jsp/fieldSchemaView.jsp
Dynamic tile used to render a field which is a list field
field.attribute.view.withValue
/WEB-INF/jsp/fieldATTRIBUTEWithValueView.jsp
Dynamic tile used to display a custom field name and value the active node.
field.attribute.view.editValue
/WEB-INF/jsp/fieldATTRIBUTEEditValueView.jsp
Dynamic tile which allows users to edit custom group attributes
field.attribute.view.search
/WEB-INF/jsp/fieldATTRIBUTESearchValueView.jsp
Dynamic tile Which allows user to select fields to search, query text and whether to and/or/not with next term
field.attribute.view.schema
/WEB-INF/jsp/fieldSchemaView.jsp
Dynamic tile used to render a field which is a list field
groupType.view.groupSummary
/WEB-INF/jsp/groupTypeSummaryView.jsp
Dynamic tile used to render a GroupType - for group summary
groupType.view.editGroupAttributes
/WEB-INF/jsp/groupTypeEditAttributesView.jsp
Dynamic tile used to render a GroupType so fields can be edited
groupType.view.schema-summary
/WEB-INF/jsp/groupTypeSchemaSummaryView.jsp
Dynamic tile used to render a GroupType - for group summary
auditEntry.view.summary.type.import-importExport
/WEB-INF/jsp/audit/import-importExport.jsp
audit log view
auditEntry.view.summary.type.deleteGroupType-groupType
/WEB-INF/jsp/audit/deleteGroupType-groupType.jsp
audit log view
auditEntry.view.summary.type.move-stem
/WEB-INF/jsp/audit/move-stem.jsp
audit log view
auditEntry.view.summary.type.copy-stem
/WEB-INF/jsp/audit/copy-stem.jsp
audit log view
auditEntry.view.summary.type.updateGroupPrivilege-privilege
/WEB-INF/jsp/audit/updateGroupPrivilege-privilege.jsp
audit log view
auditEntry.view.summary.type.addGroupField-groupField
/WEB-INF/jsp/audit/addGroupField-groupField.jsp
audit log view
auditEntry.view.summary.type.updateGroupType-groupType
/WEB-INF/jsp/audit/updateGroupType-groupType.jsp
audit log view
auditEntry.view.summary.type.addAttributeDefName-attributeDefName
/WEB-INF/jsp/audit/addAttributeDefName-attributeDefName.jsp
audit log view
auditEntry.view.summary.type.updateStem-stem
/WEB-INF/jsp/audit/updateStem-stem.jsp
audit log view
auditEntry.view.summary.type.addGroupPrivilege-privilege
/WEB-INF/jsp/audit/addGroupPrivilege-privilege.jsp
audit log view
auditEntry.view.summary.type.deleteGroupField-groupField
/WEB-INF/jsp/audit/deleteGroupField-groupField.jsp
audit log view
auditEntry.view.summary.type.addGroup-group
/WEB-INF/jsp/audit/addGroup-group.jsp
audit log view
auditEntry.view.summary.type.deleteGroupMembership-membership
/WEB-INF/jsp/audit/deleteGroupMembership-membership.jsp
audit log view
auditEntry.view.summary.type.updateGroup-group
/WEB-INF/jsp/audit/updateGroup-group.jsp
audit log view
auditEntry.view.summary.type.deleteGroupComposite-groupComposite
/WEB-INF/jsp/audit/deleteGroupComposite-groupComposite.jsp
audit log view
auditEntry.view.summary.type.deleteGroup-group
/WEB-INF/jsp/audit/deleteGroup-group.jsp
audit log view
auditEntry.view.summary.type.updateGroupField-groupField
/WEB-INF/jsp/audit/updateGroupField-groupField.jsp
audit log view
auditEntry.view.summary.type.deleteGroupAttribute-groupAttribute
/WEB-INF/jsp/audit/deleteGroupAttribute-groupAttribute.jsp
audit log view
auditEntry.view.summary.type.copy-group
/WEB-INF/jsp/audit/copy-group.jsp
audit log view
auditEntry.view.summary.type.addGroupComposite-groupComposite
/WEB-INF/jsp/audit/addGroupComposite-groupComposite.jsp
audit log view
auditEntry.view.summary.type.addAttributeDef-attributeDef
/WEB-INF/jsp/audit/addAttributeDef-attributeDef.jsp
audit log view
auditEntry.view.summary.type.unassignGroupType-groupTypeAssignment
/WEB-INF/jsp/audit/unassignGroupType-groupTypeAssignment.jsp
audit log view
auditEntry.view.summary.type.addGroupType-groupType
/WEB-INF/jsp/audit/addGroupType-groupType.jsp
audit log view
auditEntry.view.summary.type.addStemPrivilege-privilege
/WEB-INF/jsp/audit/addStemPrivilege-privilege.jsp
audit log view
auditEntry.view.summary.type.addGroupAttribute-groupAttribute
/WEB-INF/jsp/audit/addGroupAttribute-groupAttribute.jsp
audit log view
auditEntry.view.summary.type.updateGroupMembership-membership
/WEB-INF/jsp/audit/updateGroupMembership-membership.jsp
audit log view
auditEntry.view.summary.type.deleteStemPrivilege-privilege
/WEB-INF/jsp/audit/deleteStemPrivilege-privilege.jsp
audit log view
auditEntry.view.summary.type.updateGroupComposite-groupComposite
/WEB-INF/jsp/audit/updateGroupComposite-groupComposite.jsp
audit log view
auditEntry.view.summary.type.changeSubject-member
/WEB-INF/jsp/audit/changeSubject-member.jsp
audit log view
auditEntry.view.summary.type.addStem-stem
/WEB-INF/jsp/audit/addStem-stem.jsp
audit log view
auditEntry.view.summary.type.updateStemPrivilege-privilege
/WEB-INF/jsp/audit/updateStemPrivilege-privilege.jsp
audit log view
auditEntry.view.summary.type.deleteStem-stem
/WEB-INF/jsp/audit/deleteStem-stem.jsp
audit log view
auditEntry.view.summary.type.addGroupMembership-membership
/WEB-INF/jsp/audit/addGroupMembership-membership.jsp
audit log view
auditEntry.view.summary.type.assignGroupType-groupTypeAssignment
/WEB-INF/jsp/audit/assignGroupType-groupTypeAssignment.jsp
audit log view
auditEntry.view.summary.type.deleteGroupPrivilege-privilege
/WEB-INF/jsp/audit/deleteGroupPrivilege-privilege.jsp
audit log view
auditEntry.view.summary.type.move-group
/WEB-INF/jsp/audit/move-group.jsp
audit log view
auditEntry.view.summary.type.updateGroupAttribute-groupAttribute
/WEB-INF/jsp/audit/updateGroupAttribute-groupAttribute.jsp
audit log view
auditEntry.view.summary
/WEB-INF/jsp/audit/summary.jsp
default audit log view
auditEntry.view.queryResult
/WEB-INF/jsp/audit/queryResult.jsp
audit log view
auditEntry.view.default
/WEB-INF/jsp/audit/summary.jsp
default audit log view

Appendix C: Tiles controllers

/prepareStems.do has been mentioned above.

/getDynamicTileName.do
AttributeValue
path/getDynamicTileName 
typeGetDynamicTileAction
nameDummyFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
/prepareGroupOrStemSearch.do
AttributeValue
path/prepareGroupOrStemSearch 
typePrepareGroupSearchFormAction
nameSearchFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
/prepareBrowsePath.do
AttributeValue
path/prepareBrowsePath 
typePrepareBrowsePathAction
nameBrowseFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
/prepareGroupOrStemSearch.do
AttributeValue
path/prepareGroupOrStemSearch 
typePrepareGroupSearchFormAction
nameSearchFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
/prepareMenu.do
AttributeValue
path/prepareMenu 
typePrepareMenuAction
name 
scope 
parameter 
Forwards
NamePathRedirect
/prepareSubjectSearch.do
AttributeValue
path/prepareSubjectSearch 
typePrepareSubjectSearchFormAction
nameSearchFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
/propogateTilesAttributes.do
AttributeValue
path/propogateTilesAttributes 
typePropogateTilesAttributesAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
/prepareBrowsePath.do
AttributeValue
path/prepareBrowsePath 
typePrepareBrowsePathAction
nameBrowseFormBean 
scoperequest 
parameter 
Forwards
NamePathRedirect
/prepareFlatten.do
AttributeValue
path/prepareFlatten 
typePrepareFlattenAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
/prepareSavedSubjects.do
AttributeValue
path/prepareSavedSubjects 
typePrepareSavedSubjectsAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect
/prepareSavedGroups.do
AttributeValue
path/prepareSavedGroups 
typePrepareSavedSubjectsAction
name 
scoperequest 
parametergroupsOnly 
Forwards
NamePathRedirect
/prepareSavedStems.do
AttributeValue
path/prepareSavedStems 
typePrepareSavedStemsAction
name 
scoperequest 
parameter 
Forwards
NamePathRedirect