Steps to upgrade from 4.3.1 to 4.4.0

    This release provides conversion tools to assist with preparing your projects for this release. The tools are designed to migrate from 4.3.1 to 4.4.0. We recommend that you bring your projects up to 4.3.1 before moving to 4.4.0 so that these tools can save you from manually converting the necessary bits.

  1. Upgrade the Soiree plugin to 4.4.0
  2. Upgrade your Java project’s Soiree library files
    1. Right click on the project name in the package explorer.
    2. Select ‘Soiree Project Configuration’
    3. Update the Library Files
  3. Clean your projects
  4. The Soiree Plugin now requires JDK 8. Please upgrade to JDK 8 if you have not already done so.
  5. Look at your server configurations. Ensure the server listener connection timeout is 30000 or greater (it used to default to 3000)


  6. Global context conversion
    • For each project: open the Soiree Project Configuration tool
      If any solution contains global context values then the configurator will present a button labeled ‘Migrate global context from Solution to Product’
    • Pressing the ‘Migrate global context from Solution to Product’ button will transfer the global context values from the solution to the solution’s product.
  7. Authenticator Conversion
    • For each project: open the Soiree Project Configuration tool
      If any product contains authenticators then the configurator will present a button labeled ‘Convert the product’s authenticators to a user service’.
    • Pressing the ‘Convert the product’s authenticators to a user service’ button will remove the authenticators from the product and translate them into an equivalent user service (each use service is now responsible for authenticating the users it provides).
  8. Dual LDAP authentication
    For those solutions that currently authenticate against multiple LDAP directories you will need to manually update the product to specify a user service capable of using multiple directories. We have provided a sample user service that authenticates using two directories.
    1. Download the class SoireeUserServiceLDAP2.java
    2. Configure your product to use this custom user service. You provide the LDAP configuration parameters as shown here


  9. System Table Conversion
    • Create the new SoireeUserToken table
    • Drop and recreate the following tables
      • SoireeFileDownloadAuthUser
      • SoireeFileUpload
      • SoireeNotifications
      • SoireeNotificationUser
      • SoireeNotificationUserPrefs
      • SoireePerfLogProcess
      • SoireeSignonLog
    • Add columns to the SoireeUser and SoireeGroupRight tables
      ALTER TABLE SoireeUser ADD F_PASS_CHANGE CHAR(1);
      ALTER TABLE SoireeGroupRight ADD F_ADD_SCENE CHAR(1);
      ALTER TABLE SoireeUser ADD COLUMN F_PASS_CHANGE CHAR(1);
      ALTER TABLE SoireeGroupRight ADD COLUMN F_ADD_SCENE CHAR(1);
      ALTER TABLE SoireeUser ADD F_PASS_CHANGE CHAR(1);
      ALTER TABLE SoireeGroupRight ADD F_ADD_SCENE CHAR(1);
      ALTER TABLE SoireeUser ADD F_PASS_CHANGE CHAR(1);
      ALTER TABLE SoireeGroupRight ADD F_ADD_SCENE CHAR(1);
    • Tables SoireeImage and SoireeUserGroup need to have their user ID column converted to user token. This involves a four step process:
      1. Add user token columns
        ALTER TABLE SoireeImage ADD COLUMN I_USER_TOKEN_CREA BIGINT;
        ALTER TABLE SoireeUserGroup ADD COLUMN I_USER_TOKEN BIGINT;
        ALTER TABLE SoireeImage ADD COLUMN I_USER_TOKEN_CREA BIGINT;
        ALTER TABLE SoireeUserGroup ADD COLUMN I_USER_TOKEN BIGINT;
        ALTER TABLE SoireeImage ADD I_USER_TOKEN_CREA BIGINT;
        ALTER TABLE SoireeUserGroup ADD I_USER_TOKEN BIGINT;
        ALTER TABLE SoireeImage ADD I_USER_TOKEN_CREA NUMBER(19,0);
        ALTER TABLE SoireeUserGroup ADD I_USER_TOKEN NUMBER(19,0);
      2. Insert the UserToken sequence
        insert into SoireeSequence VALUES ( "2015-05-12 13:46:03.0", "2015-05-12 13:46:03.0", "com.seronix.soiree.security.UserToken", "LONG", "2", "c8120ea9-2e1c-4dcd-af14-724c31eb1f86", "1", "9223372036854775807", "1", "0", NULL, "N", "N");
      3. Convert the user id values to user tokens
        1. You only need to do this once per system database.
        2. Ensure the com.seronix.soiree.connection.System is configured to access the system database that you wish to convert.
        3. Open the Soiree Project Configuration tool. When you open the tool, make sure you are right clicking the project that contains the System connection that you configured in the previous step. If the SoireeImage and SoireeUserGroup tables contain both the old user ID and the new user token columns then a button will appear that is labeled “Convert the SoireeImage and SoireeUserGroup tables”
        4. Press the “Convert the SoireeImage and SoireeUserGroup tables” button. This will create user tokens for each user and place the token in the new columns.
      4. Remove the user id columns
        ALTER TABLE SoireeImage DROP COLUMN I_USER_CREA;
        ALTER TABLE SoireeUserGroup DROP COLUMN I_USER;
        DROP INDEX SoireeUserGroupX0 on SoireeUserGroup;
        DROP INDEX SoireeUserGroupX1 on SoireeUserGroup;
        CREATE UNIQUE INDEX SoireeUserGroupX0 ON SoireeUserGroup
        (I_TENANT ASC ,I_USER_TOKEN ASC, I_GROUP ASC);
        CREATE UNIQUE INDEX SoireeUserGroupX1 ON SoireeUserGroup
        (I_TENANT ASC, I_GROUP ASC, I_USER_TOKEN ASC);
        ALTER TABLE SoireeImage DROP COLUMN I_USER_CREA;
        ALTER TABLE SoireeUserGroup DROP COLUMN I_USER;
        ALTER TABLE SoireeUserGroup DROP PRIMARY KEY, ADD PRIMARY KEY(I_TENANT, I_USER_TOKEN ,I_GROUP);
        ALTER TABLE SoireeUserGroup DROP KEY SoireeUserGroupX1, ADD KEY SoireeUserGroupX1(I_TENANT, I_GROUP ,I_USER_TOKEN);
        ALTER TABLE SoireeImage DROP COLUMN I_USER_CREA;
        ALTER TABLE SoireeUserGroup DROP COLUMN I_USER;
        DROP INDEX SoireeUserGroupX0 on SoireeUserGroup;
        DROP INDEX SoireeUserGroupX1 on SoireeUserGroup;
        CREATE UNIQUE INDEX SoireeUserGroupX0 ON SoireeUserGroup
        (I_TENANT ASC ,I_USER_TOKEN ASC, I_GROUP ASC);
        CREATE UNIQUE INDEX SoireeUserGroupX1 ON SoireeUserGroup
        (I_TENANT ASC, I_GROUP ASC, I_USER_TOKEN ASC);
        ALTER TABLE SoireeImage DROP COLUMN I_USER_CREA;
        ALTER TABLE SoireeUserGroup DROP COLUMN I_USER;
        DROP INDEX SoireeUserGroupX0;
        DROP INDEX SoireeUserGroupX1;
        CREATE UNIQUE INDEX SoireeUserGroupX0 ON SoireeUserGroup
        (I_TENANT ASC,I_USER_TOKEN ASC,I_GROUP ASC) tablespace user_ps storage (initial 20K next 20k);
        CREATE UNIQUE INDEX SoireeUserGroupX1 ON SoireeUserGroup
        (I_TENANT ASC, I_GROUP ASC, I_USER_TOKEN ASC) tablespace user_ps storage (initial 20K next 20k);
  10. Signon and Menu Samples
    The samples provided for signon and menu navigation have been updated.
    • Right click on a project and open the Soiree Project Configuration tool
    • Remove the “Signon and Menu Samples”
    • Add the “Signon and Menu Samples”
  11. The Tutorial Database has been updated with the necessary changes to the system tables. If you are using a tutorial database from a previous release you may either update them manually as described above or you may simply delete your database and install a new one. To re-install a new copy of the tutorial database do the following:
    1. Delete the derby folder from your project
    2. Right click on a project and open the Soiree Project Configuration tool
    3. Update the Tutorial Database
  12. Delete any Authenticator items that exist in the project.

You can obtain the Android, iOS, and Server runtime libraries here: Soiree Downloads