If a WebSEAL is in place, following junction must be configured:
GET|POST|PUT|DELETE|HEAD /dptk/
Add an additional Cluster including a Server JVM that operates the DataPrivacyToolkit application
Each DPTK JVM should have at least 1GB of maximum heap. You can verify this by navigating to Server Types > WebSphere application server. Then select your created server (do this step for all server, if you created multiple in your cluster),and navigate to Server Infrastructure > Java and Process Management > Process definition > Additional Properties > Java Virtual Machine.
Navigate to System administration > Nodes. Select the Node where the DPTK cluster was created and do a full resynchronize.
Copy the scripts essapps-createDatabase_DB2.ddl and dptk-createTables_DB2.ddl that are located in the release archive’s db-setup folder to the Database server
Login on the database server
ssh user@dbserver
[sudo] su - db2inst1
db2set
db2set DB2CODEPAGE=1208
db2 -td@ -vf essapps-createDatabase_DB2.ddl
ssh user@dbserver
db2 -td@ -vf dptk-createTables_DB2.ddl
scp /tmp/dptk.deployment-1.9.6-dist/essapps-createDatabase_Oracle.ddl user@dbserver:~/essapps-createDatabase_Oracle.ddl scp /tmp/dptk.deployment-1.9.6-dist/dptk-createTables_Oracle.ddl user@dbserver:~/dptk-createTables_Oracle.ddl
ssh user@dbserver
sqlplus sysdba/password @essapps-createDatabase_Oracle.ddl
NOTE: The above command will create a user named ESSAPPS and will prompt for a password. If you prefer to specify the password right when calling the command, use the following syntax:
sqlplus sysdba/password @essapps-createDatabase_Oracle.ddl password
ssh user@dbserver
sqlplus essapps/password @dptk-createTables_Oracle.ddl
This setup must be finalized by creating a DataSource in the WebSphere Cell
touch ~/essapps_was-setup.py
authAlias = 'profilesJAASAuth' jdbcProvider = 'profilesJDBC' dbType = 'DB2' dbServerOrUrl = 'localhost' dbPort = '50000' def findJ2EEResProperty(name, dataSourcePropertySet): for property in AdminConfig.list("J2EEResourceProperty", dataSourcePropertySet).splitlines(): if (AdminConfig.showAttribute(property, "name") == name): return property return None def setJ2EEResProperty(name, propertyValue, dataSourcePropertySet): prop = findJ2EEResProperty(name, dataSourcePropertySet) if not prop: AdminConfig.create('J2EEResourceProperty', dataSourcePropertySet, property) else: AdminConfig.modify(prop, propertyValue) def createEssAppsDatasource(jdbcProvider = 'profilesJDBC', authAlias = 'profilesJAASAuth'): cellName = AdminControl.getCell(); jdbcProviderId = AdminConfig.getid('/Cell:'+cellName+'/JDBCProvider:'+jdbcProvider+'/') essAppsDataSource = None for dataSource in AdminConfig.list('DataSource', jdbcProviderId).splitlines(): if AdminConfig.showAttribute(dataSource, 'jndiName') == 'jdbc/essapps': essAppsDataSource = dataSource if essAppsDataSource: print "DataSource '%s' already exists" % ('jdbc/essapps') #AdminConfig.modify(essAppsDataSource, dsProps) else: if dbType == 'DB2': dataSourceProps = '[-name essapps -jndiName jdbc/essapps -dataStoreHelperClassName com.ibm.websphere.rsadapter.DB2UniversalDataStoreHelper -containerManagedPersistence true -componentManagedAuthenticationAlias '+authAlias+' -configureResourceProperties [[databaseName java.lang.String ESSAPPS] [driverType java.lang.Integer 4] [serverName java.lang.String '+dbServerOrUrl+'] [portNumber java.lang.Integer '+dbPort+'] ]]' elif dbType == 'ORACLE': dataSourceProps = '[-name essapps -jndiName jdbc/essapps -dataStoreHelperClassName com.ibm.websphere.rsadapter.Oracle10gDataStoreHelper -containerManagedPersistence true -componentManagedAuthenticationAlias '+authAlias+']' elif dbType == 'MSSQL': dataSourceProps = '[-name essapps -jndiName jdbc/essapps -dataStoreHelperClassName com.ibm.websphere.rsadapter.MicrosoftSQLServerDataStoreHelper -containerManagedPersistence true -componentManagedAuthenticationAlias '+authAlias+' -configureResourceProperties [[databaseName java.lang.String ESSAPPS] [serverName java.lang.String '+dbServerOrUrl+'] [portNumber java.lang.Integer '+dbPort+'] ]]' essAppsDataSource = AdminTask.createDatasource(jdbcProviderId , dataSourceProps) dataSourcePropertySet = AdminConfig.showAttribute(essAppsDataSource ,"propertySet") if dbType == 'DB2': setJ2EEResProperty('currentSchema', '[[name "currentSchema"] [type "java.lang.String"] [value "ESSAPPS"] [required "false"]]', dataSourcePropertySet) setJ2EEResProperty('webSphereDefaultIsolationLevel', '[[name "webSphereDefaultIsolationLevel"] [type "java.lang.Integer"] [value "2"] [required "false"]]', dataSourcePropertySet) elif dbType == 'ORACLE': setJ2EEResProperty('URL', '[[name "URL"] [type "java.lang.String"] [value "' + dbServerOrUrl + '"] [required "false"]]', dataSourcePropertySet) AdminConfig.save() print "" createEssAppsDatasource('profilesJDBC', 'profilesJAASAuth')
<DMGR_PROFILE>/bin/wsadmin.sh -lang jython -f ~/essapps_was-setup.py -port <DMGR_SOAP_PORT> -user <WASADMIN_USER> -password <WASADMIN_PASSWORD>
Note: The placeholders DMGR_PROFILE, DMGR_SOAP_PORT, WASADMIN_USER and WASADMIN_PASSWORD must be replaced properly
The DataPrivacyToolkit requires the wkhtmltox binary package in order to render PDF documents. Download the latest stable version (Bleeding Edge with Qt 5.4.2 is not supported at the moment). Extract/install the tool on each node of your Connections cell:
sudo su - wasuser cd /mnt/my_shared_fs mkdir dptk/pdfexport cd dptk/pdfexport cp /tmp/wkhtmltox-<version>.tar.xz . tar xfJ wkhtmltox-<version>.tar.xz
In order to have proper fonts, we recommend to install DejaVu fonts (https://dejavu-fonts.github.io/)