As of Grouper 2.2, most of the Grouper UI configuration (for the Grouper Admin (legacy) UI, LITE UI and new Grouper 2.2 UI) is now in grouper-ui.base.properties, and you can override it in grouper-ui.properties. See the Configuration Overlay page for details. Some configuration that you generally will not need to change in upgrading to Grouper 2.2 is in media.properties. You can see what is in each here: (click download on the top file)
https://github.com/Internet2/grouper/blob/master/grouper-ui/conf/grouper-ui.base.properties
https://github.com/Internet2/grouper/blob/master/grouper-ui/conf/resources/grouper/media.properties
The file grouper-ui/conf/grouper-ui.properties controls many aspects of the Grouper UI appearance and behavior. The settings in media.properties apply to the Grouper Admin UI, LITE UI's, and new Grouper 2.2 UI.
Simple Look and feel
How to change logos and CSS
#You may specify a logo for your organisation and for Grouper. Off-the-shelf
#your organisation logo appears on the left of the header and the Grouper logo
#appears on the right. Typically you would make the logos the same height.
image.organisation-logo =grouper/images/organisation-logo.gif
image.grouper-logo =grouper/images/grouper.gif
#A space separated list of one or more .css files which are inserted into the
#HEAD of all Grouper pages. The .css files are referenced in order and after
#any Grouper CSS files. This means that your CSS files can override any
#Grouper style definition
css.additional =
#You can omit the Grouper CSS files completely by setting grouper-css.hide=true
grouper-css.hide =false
#Include link to new prototype of a Lite ui on login page
login.ui-lite.show-link =@login.ui-lite.show-link@
login.ui-lite.link =/grouperUi/appHtml/grouper.html#operation=SimpleMembershipUpdate.index
#Enable links (new window) to lite UI i.e. from GroupSummary page
ui-lite.link-from-admin-ui =@ui-lite.link-from-admin-ui@
ui.lite.group-link =/grouperUi/appHtml/grouper.html#operation=SimpleMembershipUpdate.init&groupId=
Out-of-the-box Grouper defines a standard set of menu items. It is possible to add
additional menu items and to change the order in which they appear
#space separated list of files - see default for format - which define menu items
menu.resource.files =resources/grouper/menu-items.xml
#space separated list of menu item names (which must exist in 'menu.resource.files'
menu.order =MyGroups ManageGroups CreateGroups JoinGroups AllGroups SearchSubjects SavedStems SavedGroups SavedSubjects GroupTypes Help
#space separated list of MenuFilters - in the order they are tested
menu.filters =edu.internet2.middleware.grouper.ui.RootMenuFilter edu.internet2.middleware.grouper.ui.GroupMembershipMenuFilter
#Determines if the menu is processed once at the start of a user session or whether
#it is processed with each request. Use 'true' for production and 'false' if you
#are actively developing the menu and want to see changes immediately
menu.cache =true
Miscellaneous UI configuration
#Specifies whether the error page should include a ticket. The ticket appears
#in the errror log and can be used to filter relevant messages
error.ticket =@error.ticket@
#Specifies whether Grouper should display a logout link. Not all authentication
#schemes allow logout, including Basic authentication.
#This value can be set in the Grouper UI build.properties file
logout.link.show =@logout.link.show@
##Set this to 'all' to remove all cookies, or set to a comma or space separated list of
##cookie names to delete. Java code will do a Cookie.getName().equals or .matches
##so valid regular expressions may be used
logout.cookies-to-delete =none
#If you have admin priviliges this is where you go initially
admin.browse.path =/populateAllGroups.do
#When creating a group, which access privs will be granted to GrouperAll?
#groups.create.grant.all allows the UI to override the defaults in grouper.properties
#If not set, the defaults from the grouper.properties file will be used
#NB in the QuickStart, no privs are automatically assigned - grouper.properties was
#modified so that all 'groups.create.grant.all.<priv>' are false,
groups.create.grant.all =
#If true, on the 'Subject Search' page there will be a link to your 'Subject Summary'
allow.self-subject-summary =true
#Unless otherwise configured, the UI starts browsing at the ROOTstem. set default.browse.stem
#to start browsing from a different stem
default.browse.stem =@default.browse.stem@
#Grouper has no formal notion of 'personal' stems vs 'institutional' stems, however, setting
#personal.browse.stem, will trim this portio of the hierarchy when a user is browsing in 'All' mode
#TODO members of Wheel group / GrouperSystem should be able to browse regardless.
###personal.browse.stem =uob:personal
#The UI has a 'Saved Groups' feature intended to make it easier to find groups of interest
#and used when ceating comosite groups. This property, if true, causes any new or updated group
#to be automatically added to your list of saved groups
put.in.session.updated.groups =true
#The UI has a 'Saved Stems' feature intended to make it easier to find stems of interest
#This property, if true, causes any new or updated stem
#to be automatically added to your list of saved stems
put.in.session.updated.stems =true
#Turn off the debug functionality (true/false)
#Can be set in the Grouper UI build.properties file
browser.debug.enable =@browser.debug.enable@
#If debug is on then restrict to named group. Disable if group does not exist
#Can be set in the Grouper UI build.properties file
browser.debug.group =@browser.debug.group@
#Enables user to specify arbitrary exsecutable as HTML editor on the server
#Do not enable unless you absolutely trust users
#Can be set in the Grouper UI build.properties file
browser.debug.group.enable-html-editor =@browser.debug.group.enable-html-editor@
#The directory where preferences are saved
debug.prefs.dir =@debug.prefs.dir@
Membership Import and export
As of V1.2 the UI provides a framework for allowing users to export membership lists
to flat files i.e. comma separated files, including in Excel compatible format. It is also
possible to import simple delimited files.
Both import and export require configuration and appropriate configuration will vary from
site to site. For this reason, the UI does not come pre-configued for import/export, however,
sample files are provided (see Enabling import / export of group memberships)
membership-export.config =resources/grouper/membership-export.xml
membership-import.config =resources/grouper/membership-import.xml
If the user does not select a file to import allow text to be typed / pasted into textarea
Since version 1.2.1
membership-import.allow-textarea =true
##for large files, give a temp dir so they arent stored in memory or the system temp dir
file.upload.temp.dir =
file.upload.max.bytes =
##users must be in this group to be able to login to the UI
require.group.for.logins =
Displaying lists
#When browsing or searching the UI will present lists of various objects. The following settings
#allow sites to control default page sizes and a list of user-selectable page sizes
pager.pagesize.default =50
pager.pagesize.selection =10 25 50 100
#Typically, when browsing it is sufficient to show the extension/displayExtension for a group/stem
#as the parent stems are aleady shown and are common. When searching, however, this context is lost
#so sites can configure which field to display in the context of a search where results may come from
#different locations
search.group.result-field =displayName
search.stem.result-field =displayName
#By setting the 'result-field-choice' properties, sites can alow users to select which
#field to use for displaying serach resuts
search.group.result-field-choice =displayName displayExtension name
search.stem.result-field-choice =displayName displayExtension name
#Prior to V1.2 sites could do little to control how subjects, groups or stems were displayed
#in the UI, beyond the display of stem/group search results, unless they created dynamic tiles
#It is now possible to control the display of stems, groups and subjects in different contexts
#In the case of subjects, an attribute can be configured based on the subject's SourceAdapter
#Provides backwards compatability - it was assumed that all Subjects woud have a 'description' attribute
subject.display.default =description
#Used for groups when displayed as a subject i.e. when displayed as member of another group
subject.display.g\:gsa =displayExtension
#Used for internal Grouper subjects i.e. GrouperAll and GrouperSystem
subject.display.g\:isa =name
#Default attribute to display for groups
group.display =displayExtension
#Attribute to use when browsing and the user has selected to hide the hierarchy -
#thus losing context
group.display.flat =displayName
#Default attribute for stems
stem.display =displayExtension
Searching
#Configuration affecting how simple default group/stem searches are carried out
#Determines if the name or extension field (or neither) are searched
search.default.search-in-name-or-extension =
#Determines if the display name or display extension (or neither) is searched
search.default.search-in-display-name-or-extension =name
#On the advanced groups search screen determines how many search fields are displayed
search.max-fields =5
#On the advanced groups search screen determines how many group type select lists are displayed
search.max-group-types =3
#On the advanced stems search screen determines how many search fields are displayed
search.stems.max-fields =4
#Control whether default search can search any attribute. Valid values=only or true or false
search.default.any =false
#Control default search option
search.default =name
#Allow filtering of membership lists by subject source
members.filter.by-source =true
members.filter.limit =500
#Displays source specific form elements using keys:
#subject.search.form-fragment.<sourceId>
subject.search.form-fragment.g\:gsa =subjectSearchGroupFragmentDef
Sorting
As of V1.2 the Grouper UI allows sorting of various lists of objects
See Sort order of lists for explanation
comparator.impl =edu.internet2.middleware.grouper.ui.DefaultComparatorImpl
comparator.helper.edu.internet2.middleware.grouper.Group
=edu.internet2.middleware.grouper.ui.GroupComparatorHelper
comparator.helper.edu.internet2.middleware.grouper.ui.util.GroupAsMap
=edu.internet2.middleware.grouper.ui.GroupComparatorHelper
comparator.helper.edu.internet2.middleware.grouper.Stem=edu.internet2.middleware.grouper.ui.StemComparatorHelper
comparator.helper.edu.internet2.middleware.grouper.ui.util.StemAsMap
=edu.internet2.middleware.grouper.ui.StemComparatorHelper
comparator.helper.edu.internet2.middleware.subject.Subject
=edu.internet2.middleware.grouper.ui.SubjectComparatorHelper
comparator.helper.edu.internet2.middleware.grouper.ui.util.SubjectAsMap
=edu.internet2.middleware.grouper.ui.SubjectComparatorHelper
comparator.helper.edu.internet2.middleware.grouper.Member
=edu.internet2.middleware.grouper.ui.SubjectComparatorHelper
comparator.helper.edu.internet2.middleware.grouper.Membership
=edu.internet2.middleware.grouper.ui.SubjectComparatorHelper
comparator.helper.edu.internet2.middleware.grouper.ui.util.MembershipAsMap
=edu.internet2.middleware.grouper.ui.SubjectComparatorHelper
comparator.helper.edu.internet2.middleware.grouper.ui.util.SubjectPrivilegeAsMap
=edu.internet2.middleware.grouper.ui.GroupOrStemComparatorHelper
#Sorting large lists can be computationally expensive - and slow. Use this property to turn off sorting for
#large lists
comparator.sort.limit =200
To control the order in which subject attributes are listed on the Subject Summary page:#subject.attributes.order.<SOURCE_ID>=comma separated list of case sensitive attribute names
subject.attributes.order.g\:gsa =displayExtension,displayName,name,alternateName,extension,createTime,createSubjectId,createSubjectType,modifySubjectId,modifySubjectType,modifyTime,subjectType,id
subject.attributes.order.qsuob =LFNAME,LOGINID,subjectType,id
Audit query
Date format likely to be locale dependent + may need to turn on/off
audit.query.enabled =true
##SimpleDateFormat format strings
audit.query.date-format =MM/dd/yyyy
audit.query.display-date-format =dd MMM yyyy HH:mm:ss
##If no date specified show results for audit.query.default-since days
audit.query.default-since =7
Plugin browse / search
The UI has a pluggable interface for browsing and searching. See Customising Browsing and Searching for explanation
repository.browser.my.class =edu.internet2.middleware.grouper.ui.MyMembershipsRepositoryBrowser
repository.browser.my.flat-capable =true
repository.browser.my.root-node =
repository.browser.my.hide-pre-root-node =true
repository.browser.my.flat-privs =MEMBER
repository.browser.my.flat-type =group
repository.browser.my.search =groups
repository.browser.create.class =edu.internet2.middleware.grouper.ui.CreateRepositoryBrowser
repository.browser.create.flat-capable =true
repository.browser.create.root-node =
repository.browser.create.hide-pre-root-node =true
repository.browser.create.flat-privs =CREATE STEM
repository.browser.create.flat-type =stem
repository.browser.create.search =stems
repository.browser.manage.class =edu.internet2.middleware.grouper.ui.ManageRepositoryBrowser
repository.browser.manage.flat-capable =true
repository.browser.manage.root-node =
repository.browser.manage.hide-pre-root-node =true
repository.browser.manage.flat-privs =ADMIN UPDATE CREATE STEM
repository.browser.manage.flat-type =group
repository.browser.manage.search =groups
repository.browser.join.class =edu.internet2.middleware.grouper.ui.JoinRepositoryBrowser
repository.browser.join.flat-capable =true
repository.browser.join.root-node =
repository.browser.join.hide-pre-root-node =true
repository.browser.join.flat-privs =OPTIN
repository.browser.join.flat-type =group
repository.browser.join.search =groups
repository.browser.all.class =edu.internet2.middleware.grouper.ui.AllRepositoryBrowser
repository.browser.all.flat-capable =false
repository.browser.all.root-node =
repository.browser.all.hide-pre-root-node =true
repository.browser.all.flat-privs =
repository.browser.all.search =groups
repository.browser.subjectsearch.class =edu.internet2.middleware.grouper.ui.AllRepositoryBrowser
repository.browser.subjectsearch.flat-capable =true
repository.browser.subjectsearch.root-node =
repository.browser.subjectsearch.hide-pre-root-node =true
repository.browser.subjectsearch.flat-privs =
repository.browser.subjectsearch.search =groups
repository.browser.savedgroups.class =edu.internet2.middleware.grouper.ui.AllRepositoryBrowser
repository.browser.savedgroups.flat-capable =true
repository.browser.savedgroups.root-node =
repository.browser.savedgroups.hide-pre-root-node =true
repository.browser.savedgroups.flat-privs =
repository.browser.savedgroups.search =groups
repository.browser.savedsubjects.class =edu.internet2.middleware.grouper.ui.AllRepositoryBrowser
repository.browser.savedsubjects.flat-capable =true
repository.browser.savedsubjects.root-node =
repository.browser.savedsubjects.hide-pre-root-node =true
repository.browser.savedsubjects.flat-privs =
repository.browser.savedsubjects.search =groups
Dynamic tiles
The UI uses dynamic tiles to determine, at run time, how to display various objects
See Defining Custom Dynamic Templates for more details
composite.view.default =/WEB-INF/jsp/compositeView.jsp
composite.view.asFactor =/WEB-INF/jsp/compositeAsFactorView.jsp
composite.view.chainPath =/WEB-INF/jsp/compositeChainPathView.jsp
composite.view.chain =/WEB-INF/jsp/compositeChainView.jsp
subject.view.default =/WEB-INF/jsp/subjectView.jsp
subject.view.memberLink =/WEB-INF/jsp/memberLinkView.jsp
subject.view.subjectSearchResultLink =/WEB-INF/jsp/subjectSearchResultLinkView.jsp
=
subject.view.subjectInfo =/WEB-INF/jsp/subjectInfo.jsp
subject.view.groupSearchResultLink =/WEB-INF/jsp/groupSearchResultLinkView.jsp
subject.view.stemSearchResultLink =/WEB-INF/jsp/stemSearchResultLinkView.jsp
subject.view.assignFoundMember =/WEB-INF/jsp/assignFoundMemberView.jsp
subject.view.subjectAccessPriv =/WEB-INF/jsp/subjectAccessPrivView.jsp
subject.view.subjectNamingPriv =/WEB-INF/jsp/subjectNamingPrivView.jsp
subject.view.subjectSummaryLink =/WEB-INF/jsp/subjectSummaryLinkView.jsp
subject.view.current =/WEB-INF/jsp/currentSubjectView.jsp
subject.view.isMemberOf =/WEB-INF/jsp/subjectIsMemberOfView.jsp
subject.view.isIndirectMemberOf =/WEB-INF/jsp/subjectIsIndirectMemberOfView.jsp
subject.view.hasPrivilege =/WEB-INF/jsp/subjectHasPrivilegeView.jsp
subject.view.savedSubject =/WEB-INF/jsp/subjectSearchResultLinkView.jsp
group.view.hasPrivilege =/WEB-INF/jsp/subjectHasPrivilegeView.jsp
stem.view.browseHierarchy =/WEB-INF/jsp/browseChildStem.jsp
stem.view.assignFoundMember =/WEB-INF/jsp/browseChildStem.jsp
stem.view.stemSearchResultLink =/WEB-INF/jsp/stemSearchResultLinkView.jsp
stem.view.searchResultItem =/WEB-INF/jsp/stemSearchResultItemView.jsp
stem.view.default =/WEB-INF/jsp/stemView.jsp
stem.view.savedStem =/WEB-INF/jsp/stemSearchResultLinkView.jsp
subjectType.group.view.assignFoundMember =/WEB-INF/jsp/browseForFindChildGroup.jsp
subjectType.group.view.subjectSearchResult =/WEB-INF/jsp/groupAsSubjectSearchResultView.jsp
##for subject searches which arent groups, this is the view (to put the subject image)
subject.view.subjectSearchResult =/WEB-INF/jsp/subjectSearchResultView.jsp
group.view.linkGroupMembers =/WEB-INF/jsp/groupLinkMembersView.jsp
group.view.compositeMember =/WEB-INF/jsp/groupChainPathView.jsp
group.view.compositeOwner =/WEB-INF/jsp/groupChainPathView.jsp
group.view.compositeGroupChainMember =/WEB-INF/jsp/compositeGroupChainMemberView.jsp
group.view.isMemberOf =/WEB-INF/jsp/subjectIsMemberOfView.jsp
group.view.current =/WEB-INF/jsp/currentSubjectView.jsp
group.view.browseHierarchy =/WEB-INF/jsp/browseChildGroup.jsp
group.view.assignFoundMember =/WEB-INF/jsp/browseForFindChildGroup.jsp
group.view.groupSearchResultLink =/WEB-INF/jsp/groupSearchResultLinkView.jsp
group.view.groupSearchResultWithPrivs =/WEB-INF/jsp/groupSearchResultWithPrivsView.jsp
group.view.savedGroup =/WEB-INF/jsp/groupSearchResultLinkView.jsp
group.view.groupMember =/WEB-INF/jsp/subjectView.jsp
group.view.chainPath =/WEB-INF/jsp/groupChainPathView.jsp
group.view.subjectSummaryGroupLink =/WEB-INF/jsp/groupChainPathView.jsp
group.view.searchResultItem =/WEB-INF/jsp/groupSearchResultItemView.jsp
group.view.groupChain =/WEB-INF/jsp/groupChainView.jsp
group.view.default =/WEB-INF/jsp/subjectView.jsp
membership.view.subjectSummaryMemberLink =/WEB-INF/jsp/subjectSummaryMemberLinkView.jsp
membership.view.subjectSummary =/WEB-INF/jsp/subjectSummaryMembershipView.jsp
membership.view.memberLink =/WEB-INF/jsp/memberLinkView.jsp
membership.view.memberWithoutLink =/WEB-INF/jsp/memberWithoutLinkView.jsp
membership.view.default =/WEB-INF/jsp/defaultMembershipView.jsp
membership.view.removableMembershipInfo =/WEB-INF/jsp/removableMembershipView.jsp
membership.view.compositeMember =/WEB-INF/jsp/compositeMembershipView.jsp
subjectprivilege.view.subjectSummaryPrivilege =/WEB-INF/jsp/subjectSummaryPrivilegeView.jsp
subjectprivilege.view.default =/WEB-INF/jsp/defaultSubjectPrivilegeView.jsp
subjectprivilege.access.view.privilegesLink =/WEB-INF/jsp/accessPrivilegesLinkView.jsp
subjectprivilege.naming.view.privilegesLink =/WEB-INF/jsp/namingPrivilegesLinkView.jsp
list.view.default =/WEB-INF/jsp/genericListView.jsp
list.view.groupSummaryGroupTypes =/WEB-INF/jsp/genericItemsOnlyListView.jsp
list.view.groupSummaryFields =/WEB-INF/jsp/genericItemsOnlyListView.jsp
list.view.editGroupAttributes =/WEB-INF/jsp/genericItemsOnlyListView.jsp
list.view.editAttributesFields =/WEB-INF/jsp/genericItemsOnlyListView.jsp
list.view.compositesAsFactor =/WEB-INF/jsp/genericItemsOnlyListView.jsp
list.view.searchAttributesFields =/WEB-INF/jsp/genericItemsOnlyListView.jsp
list.view.searchForPrivAssignHeader =/WEB-INF/jsp/searchForPrivAssignmentListHeaderView.jsp
list.view.searchForPrivAssignFooter =/WEB-INF/jsp/searchForPrivAssignmentListFooterView.jsp
list.view.browseStemsFindHeader =/WEB-INF/jsp/browseStemsFindListHeaderView.jsp
list.view.browseStemsFindFooter =/WEB-INF/jsp/browseStemsFindListFooterView.jsp
list.view.removableMemberLinksHeader =/WEB-INF/jsp/removableMemberLinksHeaderView.jsp
list.view.removableMemberLinksFooter =/WEB-INF/jsp/removableMemberLinksFooterView.jsp
list.view.genericListHeader =/WEB-INF/jsp/genericListHeaderView.jsp
list.view.genericListFooter =/WEB-INF/jsp/genericListFooterView.jsp
list.view.memberLinksHeader =/WEB-INF/jsp/genericListHeaderView.jsp
list.view.privilegeLinksHeader =/WEB-INF/jsp/genericListHeaderView.jsp
list.view.browseHeader =/WEB-INF/jsp/genericListHeaderView.jsp
list.view.findNewHeader =/WEB-INF/jsp/genericListHeaderView.jsp
list.view.assignHeader =/WEB-INF/jsp/genericListHeaderView.jsp
list.view.searchResultHeader =/WEB-INF/jsp/genericListHeaderView.jsp
list.view.memberLinksFooter =/WEB-INF/jsp/genericListFooterView.jsp
list.view.privilegeLinksFooter =/WEB-INF/jsp/genericListFooterView.jsp
list.view.browseFooter =/WEB-INF/jsp/genericListFooterView.jsp
list.view.findNewFooter =/WEB-INF/jsp/genericListFooterView.jsp
list.view.assignFooter =/WEB-INF/jsp/genericListFooterView.jsp
list.view.searchResultFooter =/WEB-INF/jsp/genericListFooterView.jsp
list.view.chain =/WEB-INF/jsp/chainPath.jsp
field.list.view.default =/WEB-INF/jsp/fieldLISTView.jsp
field.list.view.withValue =/WEB-INF/jsp/fieldLISTWithValueView.jsp
field.list.view.schema =/WEB-INF/jsp/fieldSchemaView.jsp
field.attribute.view.withValue =/WEB-INF/jsp/fieldATTRIBUTEWithValueView.jsp
field.attribute.view.editValue =/WEB-INF/jsp/fieldATTRIBUTEEditValueView.jsp
field.attribute.view.search =/WEB-INF/jsp/fieldATTRIBUTESearchValueView.jsp
field.attribute.view.schema =/WEB-INF/jsp/fieldSchemaView.jsp
groupType.view.groupSummary =/WEB-INF/jsp/groupTypeSummaryView.jsp
groupType.view.editGroupAttributes =/WEB-INF/jsp/groupTypeEditAttributesView.jsp
groupType.view.schema-summary =/WEB-INF/jsp/groupTypeSchemaSummaryView.jsp
groupType.view.audit-link =/WEB-INF/jsp/groupTypeAuditLinkView.jsp
auditEntry.view.summary.type.import-importExport =/WEB-INF/jsp/audit/import-importExport.jsp
auditEntry.view.summary.type.deleteGroupType-groupType =/WEB-INF/jsp/audit/deleteGroupType-groupType.jsp
auditEntry.view.summary.type.move-stem =/WEB-INF/jsp/audit/move-stem.jsp
auditEntry.view.summary.type.copy-stem =/WEB-INF/jsp/audit/copy-stem.jsp
auditEntry.view.summary.type.updateGroupPrivilege-privilege
=/WEB-INF/jsp/audit/updateGroupPrivilege-privilege.jsp
auditEntry.view.summary.type.addGroupField-groupField =/WEB-INF/jsp/audit/addGroupField-groupField.jsp
auditEntry.view.summary.type.updateGroupType-groupType =/WEB-INF/jsp/audit/updateGroupType-groupType.jsp
auditEntry.view.summary.type.addAttributeDefName-attributeDefName
=/WEB-INF/jsp/audit/addAttributeDefName-attributeDefName.jsp
auditEntry.view.summary.type.updateStem-stem =/WEB-INF/jsp/audit/updateStem-stem.jsp
auditEntry.view.summary.type.addGroupPrivilege-privilege
=/WEB-INF/jsp/audit/addGroupPrivilege-privilege.jsp
auditEntry.view.summary.type.deleteGroupField-groupField
=/WEB-INF/jsp/audit/deleteGroupField-groupField.jsp
auditEntry.view.summary.type.addGroup-group =/WEB-INF/jsp/audit/addGroup-group.jsp
auditEntry.view.summary.type.deleteGroupMembership-membership
=/WEB-INF/jsp/audit/deleteGroupMembership-membership.jsp
auditEntry.view.summary.type.updateGroup-group =/WEB-INF/jsp/audit/updateGroup-group.jsp
auditEntry.view.summary.type.deleteGroupComposite-groupComposite
=/WEB-INF/jsp/audit/deleteGroupComposite-groupComposite.jsp
auditEntry.view.summary.type.deleteGroup-group =/WEB-INF/jsp/audit/deleteGroup-group.jsp
auditEntry.view.summary.type.updateGroupField-groupField
=/WEB-INF/jsp/audit/updateGroupField-groupField.jsp
auditEntry.view.summary.type.deleteGroupAttribute-groupAttribute
=/WEB-INF/jsp/audit/deleteGroupAttribute-groupAttribute.jsp
auditEntry.view.summary.type.copy-group =/WEB-INF/jsp/audit/copy-group.jsp
auditEntry.view.summary.type.addGroupComposite-groupComposite
=/WEB-INF/jsp/audit/addGroupComposite-groupComposite.jsp
auditEntry.view.summary.type.addAttributeDef-attributeDef
=/WEB-INF/jsp/audit/addAttributeDef-attributeDef.jsp
auditEntry.view.summary.type.unassignGroupType-groupTypeAssignment
=/WEB-INF/jsp/audit/unassignGroupType-groupTypeAssignment.jsp
auditEntry.view.summary.type.addGroupType-groupType =/WEB-INF/jsp/audit/addGroupType-groupType.jsp
auditEntry.view.summary.type.addStemPrivilege-privilege=/WEB-INF/jsp/audit/addStemPrivilege-privilege.jsp
auditEntry.view.summary.type.addGroupAttribute-groupAttribute
=/WEB-INF/jsp/audit/addGroupAttribute-groupAttribute.jsp
auditEntry.view.summary.type.updateGroupMembership-membership
=/WEB-INF/jsp/audit/updateGroupMembership-membership.jsp
auditEntry.view.summary.type.deleteStemPrivilege-privilege
=/WEB-INF/jsp/audit/deleteStemPrivilege-privilege.jsp
auditEntry.view.summary.type.updateGroupComposite-groupComposite
=/WEB-INF/jsp/audit/updateGroupComposite-groupComposite.jsp
auditEntry.view.summary.type.changeSubject-member =/WEB-INF/jsp/audit/changeSubject-member.jsp
auditEntry.view.summary.type.addStem-stem =/WEB-INF/jsp/audit/addStem-stem.jsp
auditEntry.view.summary.type.updateStemPrivilege-privilege
=/WEB-INF/jsp/audit/updateStemPrivilege-privilege.jsp
auditEntry.view.summary.type.deleteStem-stem =/WEB-INF/jsp/audit/deleteStem-stem.jsp
auditEntry.view.summary.type.addGroupMembership-membership
=/WEB-INF/jsp/audit/addGroupMembership-membership.jsp
auditEntry.view.summary.type.assignGroupType-groupTypeAssignment
=/WEB-INF/jsp/audit/assignGroupType-groupTypeAssignment.jsp
auditEntry.view.summary.type.deleteGroupPrivilege-privilege
=/WEB-INF/jsp/audit/deleteGroupPrivilege-privilege.jsp
auditEntry.view.summary.type.move-group =/WEB-INF/jsp/audit/move-group.jsp
auditEntry.view.summary.type.updateGroupAttribute-groupAttribute
=/WEB-INF/jsp/audit/updateGroupAttribute-groupAttribute.jsp
auditEntry.view.summary =/WEB-INF/jsp/audit/summary.jsp
auditEntry.view.queryResult =/WEB-INF/jsp/audit/queryResult.jsp
auditEntry.view.default =/WEB-INF/jsp/audit/summary.jsp
ObjectAsMap Implementations
Allow sites to provide local implementations of Map wrappers of Grouper objects
objectasmap.StemAsMap.impl =edu.internet2.middleware.grouper.ui.util.StemAsMap
objectasmap.GroupAsMap.impl =edu.internet2.middleware.grouper.ui.util.GroupAsMap
objectasmap.FieldAsMap.impl =edu.internet2.middleware.grouper.ui.util.FieldAsMap
objectasmap.MembershipAsMap.impl =edu.internet2.middleware.grouper.ui.util.MembershipAsMap
objectasmap.SubjectAsMap.impl =edu.internet2.middleware.grouper.ui.util.SubjectAsMap
objectasmap.SubjectPrivilegeAsMap.impl =edu.internet2.middleware.grouper.ui.util.SubjectPrivilegeAsMap
objectasmap.AuditEntryAsMap.impl =edu.internet2.middleware.grouper.ui.util.AuditEntryAsMap
Infodots
##if the little yellow "i" images that show help should be enabled
infodot.enable =true
Lite UI settings
#### Lite UI settings
#cant be subjectId, sourceId, name, description, screenLabel, memberId, or attribute name which is single valued
#comma separated. will be sorted by sourceId, then the sort field (recommended to be screenName)
simpleMembershipUpdate.exportAllSubjectFields=sourceId, screenLabel, entityId, name, description
simpleMembershipUpdate.exportAllSortField=screenLabel
simpleMembershipUpdate.groupComboboxResultSize=200
simpleMembershipUpdate.filterComboMinChars=3
simpleMembershipUpdate.filterMaxSearchSubjects=1000
#max subjects in drop down
simpleMembershipUpdate.subjectComboboxResultSize=50
# customizer class to customize common things (extend GrouperUiCustomizer)
grouperUiCustomizerClassname =
# kill all cookies with these prefixes on logout (comma separated)
grouperUi.logout.cookie.prefix =
# images (must be in assets/images dir) for subject source id
grouperUi.subjectImg.sourceId.0 = jdbc
grouperUi.subjectImg.image.0 = user.png
#e.g. Chris Hyzer, mchyzer, IT Services
# grouperUi.subjectImg.screenEl.0 = ${subject.name}, $subject.getAttributeValue("netId"), $subject.getAttributeValue("dept")
grouperUi.subjectImg.screenEl.0 = ${subject.description}
grouperUi.subjectImg.sourceId.1 = g:gsa
grouperUi.subjectImg.image.1 = group.png
grouperUi.subjectImg.screenEl.1 = ${grouperUiUtils.convertSubjectToLabel(subject)}
grouperUi.subjectImg.sourceId.2 = g:isa
grouperUi.subjectImg.image.2 = application.png
grouperUi.subjectImg.screenEl.2 = ${grouperUiUtils.convertSubjectToLabel(subject)}
grouperUi.logHtmlDir =
grouperUi.logHtml = false
#if comma separated email addresses are here, then errors will trigger emails (ui-lite)
errorMailAddresses =
See Also
Customizing the Grouper UI