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.
Grouper
- v2.1.0: Merge grouper.properties with grouper.example.properties
- v2.1.0: Upgrade the following jars: hibernate.jar, cglib.jar (REMOVED), commons-collections.jar, javassist.jar, slf4j-api.jar, asm.jar, asm-util.jar, asm-attrs.jar (REMOVED), hibernate-jpa-2.0-api.jar, mysql-connector-java-bin.jar (in jdbcSamples), slf4j-log4j12
- v2.1.0: Merge the grouper.hibernate.properties with the grouper.hibernate.example.properties, update the cache
FROM: hibernate.cache.provider_class = org.hibernate.cache.EhCacheProvider TO: hibernate.cache.region.factory_class = net.sf.ehcache.hibernate.EhCacheRegionFactoryhibernate.cache.region.factory_class = net.sf.ehcache.hibernate.EhCacheRegionFactory hibernate.cache.region.factory_class = net.sf.ehcache.hibernate.EhCacheRegionFactory
- v2.1.0: Merge ehcache.xml with ehcache.example.xml. Add the following cache setting for point in time audit.
<cache name="edu.internet2.middleware.grouper.pit.PITField" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITFieldDAO.FindById" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITAttributeAssign" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITAttributeAssignAction" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITAttributeAssignActionSet" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITAttributeAssignValue" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITAttributeAssignValueView" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITAttributeDef" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITAttributeDefName" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITAttributeDefNameSet" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITGroup" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITGroupSet" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITMember" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITMembership" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITMembershipView" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITPermissionAllView" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITRoleSet" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.pit.PITStem" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignActionDAO.FindById" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignActionSetDAO.FindById" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignDAO.FindById" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignValueDAO.FindById" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeDefDAO.FindById" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeDefNameDAO.FindById" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeDefNameSetDAO.FindById" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITGroupDAO.FindById" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITGroupSetDAO.FindById" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITMemberDAO.FindById" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITMembershipDAO.FindById" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITRoleSetDAO.FindById" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITStemDAO.FindById" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignActionDAO.FindBySourceIdActive" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignActionSetDAO.FindBySourceIdActive" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignDAO.FindBySourceIdActive" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeAssignValueDAO.FindBySourceIdActive" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeDefDAO.FindBySourceIdActive" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeDefNameDAO.FindBySourceIdActive" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITAttributeDefNameSetDAO.FindBySourceIdActive" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITGroupDAO.FindBySourceIdActive" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITGroupSetDAO.FindBySourceIdActive" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITMemberDAO.FindBySourceIdActive" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITMembershipDAO.FindBySourceIdActive" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITRoleSetDAO.FindBySourceIdActive" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITStemDAO.FindBySourceIdActive" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" /> <cache name="edu.internet2.middleware.grouper.internal.dao.hib3.Hib3PITFieldDAO.FindBySourceIdActive" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="30" timeToLiveSeconds="120" overflowToDisk="false" />
Grouper UI
- v2.1.0: Merge media.properties
- v2.1.0: Merge nav.properties
- 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.
Grouper WS
- v2.1.0: Merge grouper-ws.properties with grouper-ws.example.properties
- Add decorator attributes:
# if there are attribute names that need to be sent to the SubjectDecorator # for subsequent dynamic lookup (configured in SubjectFinder), comma separated ws.subject.attributes.for.decorator =
-
- Add a default diagnostics minutes since last success:
#this is 52 hours... 48 for 2 days, and 4 more for the job to run. So if the warehouse is down for updates, #then the daily job will not give an error ws.diagnostic.defaultMinutesSinceLastSuccess = 3120 #change log can only for 30 minutes of failing before diagnostics fails ws.diagnostic.defaultMinutesChangeLog = 30
- Update the WS version for testing purposes
150c150 < ws.testing.version=v2_1_000 --- > ws.testing.version=v2_0_000
- Add a default diagnostics minutes since last success:
-
- Update all the axis and rampart jars. Merge or replace the new axis2.xml config file
Subject API
Grouper Client
- v2.1.0: Merge grouper.client.properties with grouper.client.example.properties.
- v2.1.0: Merge grouper.client.usage.txt with grouper.client.usage.example.txt.