To upgrade from v1.4.0 grouper to v1.4.1, follow these instructions: (note the changelog)

 API / Web Service / User Interface / Extensions

Web Services

Grouper Client

To upgrade from v1.3.* grouper to v1.4, follow these instructions: (note the changelog)

 API / Web Service / User Interface / Extensions

Database conversion (try in test env first) TRACK 1 (do this or track 2)

gsh -xmlimport GrouperSystem /opt/grouper/1.3.1rc1/grouper/20081117-1.3.1.xml

Database conversion (try in test env first) TRACK 2 (do this or track 1)

Note, if you are using HSQL, you should get the newest driver available (e.g. from GROUPER_HOME/lib/jdbcSamples).  Upgrade your hsql probably.  And do track 1 and not track 2.

select 'alter table ' || table_name || ' drop constraint ' || constraint_name || ';' as the_command from user_constraints
where constraint_type in ('R', 'U')
and (table_name like 'GROUPER_%' or table_name like 'SUBJECT%')
 order by constraint_type, table_name;
SELECT concat(concat(concat(concat('alter table ', table_name), ' drop foreign key '), constraint_name), ';') as the_command
   FROM information_schema.table_constraints where constraint_type in ('FOREIGN KEY')
  and lower(table_name) like 'grouper%' and lower(table_schema) = 'grouper'
  order by constraint_type, table_name;

C:\dev_inst\eclipse\workspace_v33\grouper\bin>gsh -registry -check
Using GROUPER_HOME:  C:\dev_inst\eclipse\workspace_v33\grouper\bin\..
Using GROUPER_CONF:  C:\dev_inst\eclipse\workspace_v33\grouper\bin\../conf
Using JAVA:          "c:\dev_inst\java/bin/java"
using MEMORY:        64m-512m
Grouper starting up: version: 1.4.0 build date: 2008/11/13 14:42:25
grouper.properties read from: C:\dev_inst\eclipse\workspace_v33\grouper\conf\grouper.properties
Grouper current directory is: C:\dev_inst\eclipse\workspace_v33\grouper\bin
log4j.properties read from:   C:\dev_inst\eclipse\workspace_v33\grouper\conf\log4j.properties
Grouper is logging to file:   C:\dev_inst\eclipse\workspace_v33\grouper\bin\..\logs\grouper_error.log, at min level WARN
 for package: edu.internet2.middleware.grouper, based on log4j.properties
grouper.hibernate.properties: C:\dev_inst\eclipse\workspace_v33\grouper\conf\grouper.hibernate.properties
grouper.hibernate.properties: grouper@jdbc:mysql://localhost:3306/grouper
sources.xml read from:        C:\dev_inst\eclipse\workspace_v33\grouper\conf\sources.xml
sources.xml groupersource id: g:gsa
sources.xml jdbc source id:   jdbc: GrouperJdbcConnectionProvider

Based on grouper.properties: ddlutils.schemaexport.installGrouperData=true
(note, might need to type in your response multiple times (Java stdin is flaky))
(note, you can allow or deny db urls and users in the grouper.properties)
Are you sure you want to schemaexport all tables (dropThenCreate=F,writeAndRunScript=F) in db user 'grouper', db url 'jd
bc:mysql://localhost:3306/grouper'? (y|n):
y
Continuing...
Grouper ddl object type 'Grouper' has dbVersion: 0 and java version: 12
Grouper ddl object type 'Subject' has dbVersion: 0 and java version: 1
Grouper database schema DDL requires updates
(should run script manually and carefully, in sections, verify data before drop statements, backup/export important data
 before starting, follow change log on confluence, dont run exact same script in multiple envs - generate a new one for
each env),
script file is:
C:\dev_inst\eclipse\workspace_v33\grouper\bin\..\ddlScripts\grouperDdl_20081114_01_11_45_007.sql
Note: this script was not executed per the grouper.properties: ddlutils.schemaexport.writeAndRunScript
To run script via gsh, carefully review it, then run this:
gsh -registry -runsqlfile C:\\dev_inst\\eclipse\\workspace_v33\\grouper\\ddlScripts\\grouperDdl_20081114_01_11_45_007.sql

C:\dev_inst\eclipse\workspace_v33\grouper\bin>
# after you have converted id's, and are happy with the conversion of removing the uuid col,
# this will remove the backup uuid cols when running the gsh command: registryInitializeSchema()
ddlutils.dropBackupUuidCols = true

# after you have converted field id foreign keys, and are happy with the conversion of removing the attribute name,
# membership list name, and type cols,
# this will remove the backup field name/type cols when running the gsh command: registryInitializeSchema()
ddlutils.dropBackupFieldNameTypeCols = true

Web services

<WsDeleteMemberLiteResult>
  <resultMetadata>
    <wsResultCode
class="edu.internet2.middleware.grouper.ws.soap.WsDeleteMemberLiteResult$WsDeleteMemberLiteResultCode">SUCCESS</wsResultCode>
    <resultCode>SUCCESS</resultCode>
    <resultMessage></resultMessage>
    <success>T</success>

User Interface