Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.1: Merge grouper.properties with grouper.example.properties, add db.log.driver.mismatch
  • v2.1.0: Merge sources.xml with sources.example.xml.  Add the entity source, and if you havent added max page results and an inclause jdbc query, merge that part too.
  • v2.1.0: Merge grouper.properties with grouper.example.properties
  • v2.1.0: Upgrade the following jars: vt-ldap.jar, 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
    Code Block
    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 grouper-loader.properties with grouper-loader.example.properties.
    • The change log no longer has flattened permissions. Remove the option changeLog.includeFlattenedPermissions and add changeLog.includeRolesWithPermissionChanges. See GRP-611.
      Code Block
      # Should the change log include roles that have had permission changes?
      changeLog.includeRolesWithPermissionChanges = false
      
  • v2.1.0: Merge ehcache.xml with ehcache.example.xml. Add the following cache setting for point in time audit.
    Code Block
    <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.2: Merge the nav.properties, add in the session timeout text
  • v2.1.2: Merge the build.properties.template with build.properties, remove duplicate logout.link.show
  • 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.

...

  • v2.1.1: Add this for ldap or jndi sources in the sources.xml
    <init-param>
      <param-name>SubjectID_formatToLowerCase</param-name>
      <param-value>false</param-value>
    </init-param>

Grouper Client

  • v2.1.2: Merge grouper.client.properties with grouper.client.example.properties.
  • v2.1.2: Merge grouper.client.usage.txt with grouper.client.usage.example.txt.
  • 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.