This document lists instructions for people with existing groups installations on how to upgrade to newer versions of grouper (or grouper related products). If you notice something missing please let us know. The instructions are in descending order based on date/release. You will find instructions below for Grouper, Grouper-ws, Grouper-ui, etc. It is assumed if you are running grouper-ui that you will perform both the grouper upgrade notes, and the grouper-ui upgrade notes. It is understood that you will get the new source/javadoc/etc files, this document addresses configurations, jars, etc. Note that for major upgrades, you should follow the upgrade steps. For minor upgrades, that instructions should be sufficient.
- v2.0.2: compare the grouper.hibernate.properties with grouper.hibernate and re-arrange the driver/dialect, and optionally blank them out so Grouper can auto-detect. You can also do this in the grouper-loader.properties.
- v2.0.2: compare sources.xml with sources.example.xml and you should add an inclause to any jdbc (not jdbc2) sources:
- v2.0.2: compare sources.xml with sources.example.xml and you should probably add a max page size to each source:
- v2.0.2: compare grouper.properties with grouper.example.properties, and add this section to the grouper.properties
- v2.0.2: merge grouper.hibernate.properties with grouper.hibernate.example.properties
- v2.0.2: The default sort string for groups was changed from "name" to "displayExtension". Note that the admin UI shows displayExtension when showing membership lists, but the lite UI shows the displayName. So even with the new default, the membership list in the lite UI will not look like it is sorted correctly. If your users use the lite UI and not the admin UI, you may want to use "displayName" instead for now. Perhaps in 2.2, the lite UI will show the displayExtension instead. If you change the sort string, you should sync the member attributes. See Member search and sort columns. Here's the new default in sources.xml:
- v2.0.1: Note that grouper-loader.properties has loader.autoadd.typesAttributes default to true GRP-672
- v2.0.1: Merge ehcache.xml with ehcache.example.xml. Unless you previously customized this configuration file, you should be able to just copy the new configuration. The change here was to add caching for Hib3PITFieldDAO.findById() and PITField. And also to no longer expire UpdateTimestampsCache and set the default cache to expire after 1 second rather than to never expire. Here are the cache settings for the updated caches:
- v2.0.0: Merge grouper.properties with grouper.example.properties
- Note, this should be true, and set where you want the system attributes to live:
- The following general settings have been added.
- Subject API changed to support sort and search strings for subjects. You can use the sources.xml file to map subject attributes to sort and search fields that are stored in Grouper. Every source must be configured for at least one sort string and one search string. Most of the sources are configured in sources.xml but the internal and external sources are configured in grouper.properties. Here are the configuration updates for grouper.properties.
- There is additional support for Grouper hooks.
- Grouper rules are new in 2.0.
- If you want to keep track of the last immediate membership update of a group.
- Additional email settings
- Additional junit settings
- Grouper Permission Limits are new in 2.0.
- External subjects are new in 2.0
- If your Grouper instance needs to talk to another Grouper instance (for instance to sync data):
- v2.0.0: Merge grouper-loader.properties with grouper-loader.example.properties
- Clear out old change log entries. Old records will be deleted from grouper_change_log_entry, so you should remove old records first if there are lots, since deleting 2 million records with a delete statement in oracle could be bad. e.g. if you have 2560000 records in the table, this will clear out everything but 60k of them in a way that doesnt make oracle choke... note, make sure the grouper loader is not running when you do this...
- Add options for enabling/disabling flattened notifications. Also, remove lines that start with daily.report.syncFlatTables.
- Add change log consumers for Grouper Rules and to sync Grouper instances
- Rules configuration
- ESB integration configuration
- v2.0.0: Merge ehcache.xml with ehcache.example.xml and merge grouper.ehcache.xml with grouper.ehcache.example.xml. Unless you previously customized these configuration files, you should be able to just copy the new configuration.
- v2.0.0: Add and customize grouper.client.properties based on grouper.client.example.properties.
- v2.0.0: Add email templates for Grouper rules (under conf/grouperRulesEmailTemplates).
- v2.0.0: Merge log4j.example.properties with log4j.properties to replace sync'ing of flat tables with sync'ing of point in time tables.
- v2.0.0: Merge sources.xml with sources.example.xml
- You can control error handling on findAll() failures
- Subject API changed to support sort and search strings for subjects. You can use the sources.xml file to map subject attributes to sort and search fields that are stored in Grouper. Every source must be configured for at least one sort string and one search string. Most of the sources are configured in sources.xml but the internal and external sources are configured in grouper.properties. Here are the configuration updates for sources.xml.
The default for the g:gsa source: The default for the jdbc source: The default for the alternate jdbc source: The default for the jndi source:
- For the jdbc and alternate jdbc sources, you can have exception thrown if too many subjects are returned.
- The new configuration includes an SQL Server example.
- The new configuration includes an example of configuring an email attribute.
- v2.0.0: Get latest jars
- Update lib/grouper/subject.jar
- Add lib/grouper/grouperClient.jar
- v2.0.2: Merge media.properties, decide if you want pager.removeFromSubjectSearch to be true or false
- v2.0.2: Merge media.properties: this subject combobox setting should be more than a couple of the largest sources.xml page size for subjects
- v2.0.0: Merge media.properties
- The default location for logos have changed.
- Menu bar on the admin UI can contain a link to the Lite UI
- If you're a wheel group member, default to 'act as admin' view?
- Security related groups:
- Include options for sorting and searching of subjects.
- Misc settings
- Additional lite UI settings
- Add internationalization
- Various new settings due to new functionality
- v2.0.0: Merge nav.properties
- If you have enabled member sorting (member.sort.enabled) and disabled default sorting (member.sort.defaultOnly), be sure to add labels for each default sort string configured in grouper.properties (member.sort.defaultIndexOrder). Note that the labels used for the member.sort.stringX properties are based on your configuration in sources.xml and grouper.properties for member sorting and searching.
- There are many other updates in the nav.properties file. Mostly to define the text in all the new screens in the lite UI. Be sure to merge your copy.
- v2.0.0: Merge grouper-ws.properties with grouper-ws.example.properties
- Update the WS version for testing purposes
Subject attributes are not case sensitive anymore. If implement your own source, and you do not extend SubjectImpl and BaseSourceAdaptor, then you need to make the following changes: all the Subject attribute methods are case-insensitive, you should use the SubjectCaseInsensitiveMap for attributes. The source attribute names should be toLowerCase, you should use the SubjectCaseInsensitiveSet for the Source attribute names.
- v2.0.0: Merge grouper.client.properties with grouper.client.example.properties.
- Encryption settings. See GRP-542
- Update output templates for getPermissionAssignments and assignPermissions.
- Update Grouper version
- Fix documentation link
- v2.0.0: Merge grouper.client.usage.txt with grouper.client.usage.example.txt.
- Several operations have new usage