You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 34 Next »

Release Notes for Grouper 2.4

Grouper v2.4.0 includes 276 fixes and improvements over v2.3.0. See the full list.


New Features in Grouper 2.4.0

Most features in Grouper 2.4.0 are also in 2.3.0 patches.  The upgrade from 2.3.0 to 2.4.0 is a minor upgrade.

Migrate to new UI

Migrate all screens in Admin and Lite UI to the "New UI" and remove the admin and lite UI. Note, you can add the legacy UI if needed

DeprovisioningDeprovision access from someone to loses an affiliation or changes jobs
AttestationGroups and folders can be marked to require periodic membership review. Reminders will be emailed to group owners
Grouper deployment guideVersion 1 of the Grouper deployment guide is an introduction to Grouper and best practices for using it

New messaging strategies

Add new messaging strategies for ActiveMQ, AMQP (e.g. RabbitMQ), AWS
Grouper loader in UIUser interface to show loader configuration, diagnostics, logs, wizard editor
Subject API diagnosticsUser interface to analyze, diagnose, and recommend improvements for subject source configuration
Real time SQL loaderAllow a change log table (SQL triggers) or messages to trigger loader updates for a partial population or single user
InstrumentationImprove and standardize Grouper logging to provide centralized metrics at an institution and the ability to upload stats to a central Internet2 server
PackagingDocker containers that hold Grouper components for each deployment
GSH next generationImprove gsh by adding readline like capabilities (line editing, tab completions, history, etc)
Inbound messagesAllow Grouper to read a message queue and act on messages (e.g. membership changes etc)
vt-ldap to LdaptiveUpgrade from vt-ldap to Ldaptive
properties configConvert sources.xml and ehcache.xml to be cascaded properties files
Update 3rd party librariesUpdate 3rd party libraries to the latest version that is feasible

 

v2.4.0 patches

Grouper patching instructions (how to install patches with the Grouper installer)

note: if a java file is included in a patch, then all associated classfiles are there too

Date

Patch

Description

Files affected

API patches

2018/09/06

grouper_v2_4_0_api_patch_0

GRP-1888: Fix default configuration for ldap validator
GRP-1889: messaging routing key should be optional

classes/edu/internet2/middleware/grouper/ldap/ldaptive/LdaptiveSessionImpl.java
classes/edu/internet2/middleware/grouper/messaging/MessagingListenerController.java
classes/grouper-loader.base.properties

2018/09/13

grouper_v2_4_0_api_patch_1

GRP-1890: Real time ldap loader with LDAP_GROUPS_FROM_ATTRIBUTES

classes/edu/internet2/middleware/grouper/app/loader/db/GrouperLoaderResultset.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderIncrementalMessagingListener.java
classes/edu/internet2/middleware/grouper/app/loader/ldap/LoaderLdapUtils.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderIncrementalJob.java

2018/09/17

grouper_v2_4_0_api_patch_2

GRP-1901: Real time loader SQL jobs - allow separate database for incremental table

classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderIncrementalJob.java

2018/10/09

grouper_v2_4_0_api_patch_3

GRP-1803: gsh script incorrectly assumes GROUPER_CP=${GROUPER_HOME}/conf
GRP-1853: receive non zero return code from gsh if fails
GRP-1916: Refactor gsh

NOTE! In order to patch files in bin/ directory, requires latest grouperInstaller.jar (2018-10-31 or later)

NOTE! If patching UI and WS, disregard errors "Problem applying patch since this patch old file" and allow to force update the bin files. Or, can set grouperInstaller.autorun.forceInstallPatch if using custom properties

classes/groovysh.profile
classes/edu/internet2/middleware/grouper/app/gsh/GrouperShell.java
bin/gsh.sh
bin/gsh.bat
classes/edu/internet2/middleware/subject/SubjectCheckConfig.java
bin/README.txt
classes/grouper.base.properties
classes/edu/internet2/middleware/grouper/app/gsh/GrouperGroovysh.java

2018/10/15

grouper_v2_4_0_api_patch_4

GRP-1826: Disable/Enable Loader job
GRP-1928: Issue when rescheduling a job when the type is changing from interval to cron

classes/edu/internet2/middleware/grouper/j2ee/status/DiagnosticLoaderJobTest.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoader.java

2018/11/02

grouper_v2_4_0_api_patch_5

GRP-1943: add debugging information in UI search
GRP-1857: Specify Subject Sources for Grouper UI (Web)

classes/edu/internet2/middleware/grouper/misc/GrouperObjectFinder.java

2018/11/05

grouper_v2_4_0_api_patch_6

GRP-1941: LDAP loader - parsing complex attribute values

GRP-1877: LDAP_GROUPS_FROM_ATTRIBUTES should utilize extra attributes to construct display name

classes/grouper-loader.base.properties
classes/edu/internet2/middleware/grouper/app/loader/LoaderJobBean.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/grouper/app/loader/ldap/LdapResultsTransformationOutput.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderJob.java
classes/edu/internet2/middleware/grouper/app/loader/ldap/LdapResultsTransformationInput.java
classes/edu/internet2/middleware/grouper/app/loader/ldap/LdapResultsTransformationBase.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderType.java
classes/edu/internet2/middleware/grouper/app/loader/ldap/LoaderLdapUtils.java
classes/edu/internet2/middleware/grouper/app/loader/db/GrouperLoaderResultset.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderIncrementalJob.java
classes/edu/internet2/middleware/grouper/app/loader/ldap/LdapResultsTransformationDelimitedValueExample.java

2018/11/09

grouper_v2_4_0_api_patch_7

GRP-1856: Instrumentation file location should be configurable

classes/edu/internet2/middleware/grouper/instrumentation/InstrumentationThread.java

2018/11/09

grouper_v2_4_0_api_patch_8

GRP-1895: ldaptive default ThreadLocalTLSSocketFactory mixes hostnames with multiple server configs

lib/grouper/ldaptive-1.1.0.jar
lib/grouper/ldaptive-1.1.2.jar

2018/11/13

grouper_v2_4_0_api_patch_9

GRP-1936: Upgrade dom4j to 2.1.1

lib/grouper/dom4j-2.1.0.jar
lib/grouper/dom4j-2.1.1.jar
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java

2018/11/24

grouper_v2_4_0_api_patch_10

GRP-1952: add method to stem finder to find stems by two attribute values on an assignment of assignment

classes/edu/internet2/middleware/grouper/StemFinder.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3StemDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/StemDAO.java
classes/edu/internet2/middleware/grouper/GroupFinder.java

2018/12/07

grouper_v2_4_0_api_patch_11

GRP-1950: Minor improvements to daemon jobs page

classes/edu/internet2/middleware/grouper/app/loader/GrouperLoader.java

UI patches

2018/09/06

grouper_v2_4_0_ui_patch_0

GRP-1881: Change away from MyServices widget and then can't get it back indexColumnMenu.jsp
GRP-1857: Specify Subject Sources for Grouper UI (Web)
GRP-1872: Value type is not saved when creating a new attribute definition
GRP-1884: help.jsp not working in 2.4

files/WEB-INF/grouperUi2/index/indexColumnMenu.jsp
classes/grouperText/help.fr.html
classes/grouper-ui.base.properties
classes/grouperText/grouper.text.en.us.base.properties
files/WEB-INF/grouperUi2/attributeDef/newAttributeDef.jsp
classes/grouperText/help.en.html
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Group.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2AttributeDef.java
files/WEB-INF/grouperUi2/index/help.jsp

2018/11/02

grouper_v2_4_0_ui_patch_2 (not released)

GRP-1880: Develop New Template Wizard
GRP-1857: Specify Subject Sources for Grouper UI (Web)
GRP-1943: add debugging information in UI search

classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperNewServiceTemplateLogic.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Main.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ServiceAction.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperTierStructureLogic.java
files/WEB-INF/grouperUi2/stem/stemTemplate.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ServiceActionArgument.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperRequestContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/StemTemplateContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ServiceActionType.java
classes/grouperText/grouper.text.en.us.base.properties
files/WEB-INF/grouperUi2/stem/stemMoreActionsButtonContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/TemplateContainerConfig.java
files/WEB-INF/grouperUi2/stem/stemNewTemplate.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperTemplateLogicBase.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Template.java

2018/10/12

grouper_v2_4_0_ui_patch_1

GRP-1826: Disable/Enable Loader job

files/WEB-INF/grouperUi2/index/miscellaneous.jsp
files/WEB-INF/grouperUi2/group/grouperLoaderMoreActionsButtonContents.jsp
classes/edu/internet2/middleware/grouper/ui/GrouperUiFilter.java
files/WEB-INF/grouperUi2/group/grouperLoaderGroupTab.jsp
classes/grouper-ui.base.properties
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/AdminContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperLoader.java
files/WEB-INF/grouperUi2/admin/adminDaemonJobs.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperLoaderContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Admin.java
classes/grouperText/grouper.text.en.us.base.properties
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiDaemonJob.java
files/WEB-INF/grouperUi2/admin/adminDaemonJobsContents.jsp

2018/11/05

grouper_v2_4_0_ui_patch_3

GRP-1941: LDAP loader - parsing complex attribute values

GRP-1877: LDAP_GROUPS_FROM_ATTRIBUTES should utilize extra attributes to construct display name

files/WEB-INF/grouperUi2/group/grouperLoaderEditGroupTab.jsp
files/WEB-INF/grouperUi2/group/grouperLoaderGroupTab.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperLoaderContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperLoader.java
classes/grouperText/grouper.text.en.us.base.properties

2018/11/15

grouper_v2_4_0_ui_patch_4

GRP-1950: Minor improvements to daemon jobs page

files/WEB-INF/grouperUi2/admin/adminDaemonJobs.jsp
classes/grouperText/grouper.text.en.us.base.properties
classes/grouper-ui.base.properties
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/AdminContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiDaemonJob.java
files/WEB-INF/grouperUi2/admin/adminDaemonJobsContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Admin.java

2018/12/07

grouper_v2_4_0_ui_patch_5

GRP-1950: Minor improvements to daemon jobs page

classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Admin.java
files/WEB-INF/grouperUi2/admin/adminDaemonJobsViewLogs.jsp
files/WEB-INF/grouperUi2/admin/adminDaemonJobs.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiHib3GrouperLoaderLog.java
files/WEB-INF/grouperUi2/admin/adminDaemonJobsContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperLoader.java
classes/grouper-ui.base.properties
classes/grouperText/grouper.text.en.us.base.properties
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Group.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/AdminContainer.java
files/WEB-INF/grouperUi2/group/grouperLoaderEditGroupTab.jsp
files/WEB-INF/grouperUi2/admin/adminDaemonJobsViewLogsResults.jsp

WS patches

2018/09/10

grouper_v2_4_0_ws_patch_0

GRP-1892: grouper-ws.base.properties / ws.client.user.group.name no longer commented

classes/grouper-ws.base.properties

PSPNG patches

2018/09/15

grouper_v2_4_0_pspng_patch_0

Getting Grouper 2.4 up to date with Grouper 2.3/PSPNG Patches 17-21. This includes GRP-1345, GRP-1874, GRP-1552, GRP-1683, GRP-1730, GRP-1868, GRP-1882, GRP-1893.

classes/edu/internet2/middleware/grouper/pspng/FullSyncProvisionerFactory.java
classes/edu/internet2/middleware/grouper/pspng/LdapSystem.java
classes/edu/internet2/middleware/grouper/pspng/ChangelogHandlingConfig.java
classes/edu/internet2/middleware/grouper/pspng/ProvisionerConfiguration.java
classes/edu/internet2/middleware/grouper/pspng/PspUtils.java
classes/edu/internet2/middleware/grouper/pspng/GrouperGroupInfo.java
classes/edu/internet2/middleware/grouper/pspng/ProvisioningWorkItem.java
classes/edu/internet2/middleware/grouper/pspng/LdapGroupProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/ProvisionerFactory.java
classes/edu/internet2/middleware/grouper/pspng/FullSyncProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/LdapAttributeProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/LdapObject.java
classes/edu/internet2/middleware/grouper/pspng/VoidProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/LdapProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/LdapProvisionerConfiguration.java
classes/edu/internet2/middleware/grouper/pspng/Provisioner.java
classes/edu/internet2/middleware/grouper/pspng/PspChangelogConsumerShim.java
classes/edu/internet2/middleware/grouper/pspng/ProvisionerCoordinator.java

2018/11/26

[Test patch] grouper_v2_4_0_pspng_patch_1

GRP-1908: Fixes problem with debug-logging private information

classes/edu/internet2/middleware/grouper/pspng/LdapSystem.java


For more information about upcoming plans, see the Grouper Product Roadmap .

Many other fixes and improvements were also made to all components of the Grouper Toolkit: Grouper API, Administrative & Lite UIs, Grouper Web Services, Grouper Client, Grouper Shell, Grouper Loader, PSP, and the Subject API.

Upgrading to Grouper 2.4 from Grouper 2.3

Using the Grouper Upgrader can simplify your upgrade process. Here is a movie demonstrating the Grouper upgrader.  The upgrader can upgrade an installed env of the API, UI, WS, client, PSP, etc.  If you dont have a build script to manage multiple envs, you might want to use the upgrader.

Upgrade Steps

  1. Make sure you are using Java8/Tomcat8.5
  2. Download the grouper installer
  3. Run the upgrader for each env (test, prod, ui, ws, etc)

Important Changes in Grouper 2.4 that impact the upgrade

GSH next generation: GSH now uses Groovy shell.  If your scripts dont work, set this in grouper.properties.  (Though also inform the Grouper developers via Jira or email in case a fix is needed since the legacy GSH will be removed in the future.)

gsh.useLegacy = true

Convert the ehcache xml file to properties

This is taken care of by the upgrader above.   If not, then you can do this manually

  1. If you have not customized Grouper caching (generally the case), just delete the ehcache xml and use the properties file shipped with Grouper.
  2. If you have customized Grouper caching
    1. Run the grouperInstaller → upgradeTask to convert this file
    2. Copy the grouper.cache.properties to all envs (prod, test, ui, ws, etc)

Convert the sources.xml to subject.properties

This is taken care of by the upgrader above.   If not, then you can do this manually

  1. Run the grouperInstaller → admin → upgradeTask to convert this file
  2. Copy the subject.properties to all envs (prod, test, ui, ws, etc)

vt-ldap was converted to Ldaptive

  1. Test your LDAP loader and subject sources to make sure they work correctly.  Note that if you use LDAP for your subject source, your configuration must change.  For more details, visit the vt-ldap to ldaptive migration for LDAP access page.  Also, try the subject source diagnostics to confirm your configuration.

Note that the admin and lite UIs are removed

  1. If you know of applications which deep link to the admin or lite UIs, update those links.
  2. If you have a reason to continue using these old UIs, there is an option to manually redeploy them.  (Though let us know if there is a missing feature or issue in the New UI.)

Custom member fields have been deprecated

  1. This was a very uncommon feature so most people should not be impacted.  Previously, each individual group could have multiple membership lists.  There would be the default list of members, but then you could also specify separate membership lists as well.  Going forward, the best practice is to use separate groups for those custom lists instead.  Custom lists are not supported in the New UI, but if you still use them, they will be available in the Admin UI if you choose to manually redeploy it.

Schema updates

  1. In previous Grouper upgrades, it was very common for large schema updates that required downtime to make the adjustments.  For the 2.3 to 2.4 upgrade, the only updates are new indexes and a new table.  The upgrader will automatically add these without requiring a downtime.

Check logs

  1. Login to your UI, do some WS calls, and check your logs for errors

Internationalization

  1. if you use internationalization, change grouper.properties
    from:  grouper.text.bundle.1.fileNamePrefix = grouperText/grouper.text.fr.fr     
    to:       grouper.text.bundle.1.fileNamePrefix = grouperText/grouper.textNg.fr.fr


See Also

Release Notes for Grouper 2.4

See Also

Grouper Downloads

Blog on Grouper Deprovisioning with Grouper 2.4 (September 2018)


  • No labels