Configuring a property extension database on Linux

You can configure a property extension database (previously referred to as a lookaside database) to store attributes that the LDAP directory does not or cannot store. Which you want to include in your portal user registry. This situation often occurs when you are using an LDAP directory that does not allow schema extensions for new attributes to support portal applications. When you configure a property extension database, you effectively extend the user registry to make new attributes available as part of your portal user profile. However, it is preferable to store all user attributes in the main user registry. You must complete this task only if you cannot add new attributes to your LDAP directory. The topic explains how to configure property extensions in a single-server environment and in a clustered environment.

Before you begin

  • Configure portal security with your main user registry before you configure your property extension database. Your property extension database configuration becomes unavailable if you complete the steps in this task on the security configuration then configure portal security with your main user registry.
  • Due to a limitation with the Virtual Member Manager (VMM), you cannot update attributes. To change an attribute, you must first remove the attribute then add it again. For this reason, ensure that you spell all attributes correctly and use caution when you add attributes to your property extension database.
  • The VMM database schema has a limit of 36 characters on the repository ID column. For this reason, you must use a repository ID that is 36 characters or less.

About this task

Complete the following steps to configure a property extension database:

Procedure

  1. Set up a new database, including creating a new user with appropriate database privileges for accessing the database:
    Instructions for setting up databases: Refer to the appropriate documentation for the type of database you want to set up.
    Consulting your database administrator: A database administrator typically completes the task of setting up a new database. However, the following steps are provided for your reference in the event you are creating a stand-alone database for testing or demonstration purposes. Consult your database administrator before you proceed with the following steps if you plan to create a database for a production environment.
    Table 1. Steps for creating a database to use as a database user registry.
    Database Steps
    DB2® Complete the following steps to create a DB2 database:
    1. Install DB2.
    2. Enter the following database tuning commands:
      db2 "CREATE DB dbname using codeset UTF-8 territory us PAGESIZE 8192"
      db2 "UPDATE DB CFG FOR dbname USING applheapsz 4096"
      db2 "UPDATE DB CFG FOR dbname USING app_ctl_heap_sz 1024"
      db2 "UPDATE DB CFG FOR dbname USING stmtheap 32768"
      db2 "UPDATE DB CFG FOR dbname USING dbheap 2400"
      db2 "UPDATE DB CFG FOR dbname USING locklist 1000"
      db2 "UPDATE DB CFG FOR dbname USING logfilsiz 4000"
      db2 "UPDATE DB CFG FOR dbname USING logprimary 12"
      db2 "UPDATE DB CFG FOR dbname USING logsecond 20"
      db2 "UPDATE DB CFG FOR dbname USING logbufsz 32"
      db2 "UPDATE DB CFG FOR dbname USING avg_appls 5"
      db2 "UPDATE DB CFG FOR dbname USING locktimeout 30"
      db2 "UPDATE DB CFG FOR dbname using AUTO_MAINT off"
    Oracle Complete the following steps to create an Oracle database:
    1. Install Oracle by using Unicode database and National character sets such as UTF8, AL32UTF8, or AL16UTF16.
    2. Configure the database in Dedicated Server Mode.
    3. Enter the initial buffer pool sizes or set them according to your business needs:
      • db_block_size = 8192
      • db_cache_size = 300M
      • db_files = 1024
      • log_buffer = 65536
      • open_cursors = 1500 open_cursors = 1500
      • pga_aggregate_target = 200M
      • pre_page_sga = true
      • processes = 300
      • shared_pool_size = 200M
    SQL Server Complete the following steps to create an SQL Server database:
    1. Create a SQL Server database with a name of your choice.
    2. Optional: Create a new SQL Server database user with the same permissions as your Portal database users for this new database.
    Note: Install SQL Server with the appropriate portal database collation so that your tempdb collation setting matches the collation you use for the property extension database. The tempdb collation is inherited from the master database, which you set when you install SQL Server.
  2. Specify values for the following parameters in wp_add_LA.properties.
    Adding several attributes: You must add attributes to the property extension database one at a time. Complete this step to specify the parameters for a specific attribute then complete the next step to run the task to add that attribute. Repeat both steps for each attribute you plan to add.
    1. Go to the following directory: wp_profile_root/ConfigEngine/config/helpers..
    2. Locate and open wp_add_LA.properties with any text editor.
    3. Specify values for the following parameters:
      Note: See the properties file for specific information about the advanced parameters.
      Note: In a clustered environment, ensure that la.providerURL is set to the Deployment Manager.
      • la.providerURL
      • la.propertyName
      • la.entityTypes
      • la.dataType
      • la.multiValued
      Values for the dataType parameter: Available data types that are defined in com.ibm.websphere.wim.SchemaConstants:
      • String
      • Int
      • Date
      • AnySimpleType
      • AnyURI
      • Boolean
      • Long
      • Double
      • Short
      Note: A complete overview of valid dataType values can be found in the Configuring a property extension repository in a federated repository configuration file. All constant values of DATA_TYPE_* fields are valid input for la.dataType. Only the String data type is valid for displaying attributes in the Profile Management portlet. These attributes can be added to the Profile Management portlet through the configuration mode interface.

Receiving an authentication prompt: This task makes an EJB call to WebSphere® Application Server, which requires authentication. You might receive a prompt that asks for authentication. Enter the appropriate WebSphere Application Server user ID and password.

  1. This task requires server connections. Complete the following steps as appropriate:
    • In a stand-alone environment, ensure the WebSphere_Portal server is running.
    • In a clustered environment, stop all application servers on the system, which includes the WebSphere_Portal server and then start the nodeagent and deployment manager servers.
  2. Complete the following steps to install the enterprise archive (.ear) file on WebSphere Application Server.
    1. Open a command prompt.
    2. Go to the wp_profile_root/ConfigEngine directory.
    3. Run the ./ConfigEngine.sh wp-la-install-ear -DWasPassword=password task.

Note: In a cluster, you must add the -DServerName=dmgr_server_name -DNodeName=node_name parameters to install to the Deployment Manager.

  1. Stop and restart the appropriate servers to propagate the changes. For specific instructions, see Starting and stopping servers, deployment managers, and node agents.
  2. Set up a new database, including creating a new user with appropriate database privileges for accessing the database.
  3. Complete the following steps to define the DbDriver and DbLibrary parameter values:
    1. Go to the following directory: wp_profile_root/ConfigEngine/properties
    2. Locate and open wkplc_dbtype.properties with any text editor.
    3. Enter a value for the following parameters in the appropriate database type properties heading:
      • db_type.DbDriver
      • db_type.DbLibrary
      • db2.JdbcProviderName
    4. Save your changes.
  4. Specify values for the data source parameters in wp_add_LA.properties.
    1. Go to the following directory: wp_profile_root/ConfigEngine/config/helpers.
    2. Locate and open wp_add_LA.properties with any text editor.
    3. Specify values for the following parameters:
      Note: See the properties file for specific information about the advanced parameters.
      • la.JdbcProviderName
      • la.DbType
      • la.DbUrl
      • la.DbName
      • la.DataSourceName
      • la.DbUser
      • la.DbPassword
      • la.DbSchema
      SQL server: If your property extension database is an SQL Server, la.DbUser and la.DbSchema must be the same value.
      Adding parameters for a clustered environment: Add the following parameters to the wp_add_LA.properties if you are setting up the property extension database on a clustered environment:
      • la.schemaLocation=WAS_install_location_on_DMGR/AppServer/etc/wim/setup
      • la.laPropXML=WAS_install_location_on_DMGR/AppServer/etc/wim/setup/wimlaproperties.xml
      Where WAS_install_location_on_DMGR is the local path on your deployment manager node.
    4. Save and close wp_add_LA.properties.
  5. Change the value for the com.ibm.SOAP.requestTimeout parameter to 1000.
    1. Go to the following directory: wp_profile_root/properties.
    2. Locate and open soap.client.props with any text editor.
    3. Locate the com.ibm.SOAP.requestTimeout parameter and ensure that the value is greater than 1000.
    4. Save and close soap.client.props.
  6. If you are completing this task in a single-server environment, proceed to the next step. If you have a clustered environment, complete the following steps:
    1. Open a command prompt.
    2. Go to the following directory: wp_profile_root/ConfigEngine
    3. Run the following task to create the local Deployment Manager WebSphere variable that is used to access the database JAR files: ./ConfigEngine.sh wp-prep-vmm-db-secured-environment -DWasPassword=password -DDbDomain=la -Ddb_type.DmgrDbLibrary=local path of the database jars on the Deployment Manager -DDmgrNodeName=dmgr_node_name
      Note: The db_type in db_type.DmgrDbLibrary must be set to the type of database you are using, for example db2. The local full path of the database jars on the Deployment Manager must be one of the following options:
      • DB2 Type 2 driver: db2java.zip
      • DB2 Type 4 driver: db2jcc4.jar:db2jcc_license_cu.jar
      • DB2 for z/OS® Type 2 driver: db2java.zip
      • DB2 for z/OS Type 4 driver: db2jcc4.jar:db2jcc_license_cisuz.jar
      • Oracle: ojdbc14.jar
      • SQL Server JDBC driver that is provided by Microsoft: sqljdbc.jar
    4. Run the following task. Include each node name as a comma-separated list in the command:
      Tip: If the database that you are using for the property extension database is not DB2, add the following parameters to the wp-node-prep-vmm-db-secured-environment task:
      • -DparentProperties=full path to wp_profile_root/ConfigEngine/config/helpers/wp_add_LA.properties
      • -DSaveParentProperties=true
      1. Ensure that you specified the property value for la.DbType in the wp_add_LA.properties.
      2. Run the ./ConfigEngine.sh wp-node-prep-vmm-db-secured-environment -DWasPassword=password -DDbDomain=la -DVmmNodeName=node_name,node_name,node_name -Ddb_type.NodeDbLibrary=local full path of the database jars task from the wp_profile_root/ConfigEngine directory on each node to create the variable that is used to access the VMM database JAR files.
        Note: VmmNodeName is a list of one or more WebSphere Portal Express nodes names in the cell which share database driver paths. The db_type in db_type.NodeDbLibrary must be set to the type of database you are using, for example db2.
    5. Stop and restart all necessary servers to propagate your changes.
  7. Add a property extension repository to the federated or stand-alone LDAP repository.
    Tip: If you added the following parameters to the wp-node-prep-vmm-db-secured-environment task, you do not need to add them to the wp-configure-la-complete task:
    • -DparentProperties=full path to wp_profile_root/ConfigEngine/config/helpers/wp_add_LA.properties
    • -DSaveParentProperties=true
    1. Open a command prompt.
    2. Go to the following directory: wp_profile_root/ConfigEngine.
    3. Run the following task: ./ConfigEngine.sh wp-configure-la-complete -DWasPassword=password -DparentProperties=full path to wp_profile_root/ConfigEngine/config/helpers/wp_add_LA.properties -DSaveParentPropertes=true
  8. Stop and restart the appropriate servers to propagate the changes. For specific instructions, see Starting and stopping servers, deployment managers, and node agents.
  9. Add the attribute to the property extension database.
    1. Open a command prompt.
    2. Go to the following directory: wp_profile_root/ConfigEngine.
    3. Run the following task: ./ConfigEngine.sh wp-add-la-property -DWasPassword=password -DparentProperties=full path to wp_profile_root/ConfigEngine/config/helpers/wp_add_LA.properties The attributes become available in your property extension database.
    4. Add the attributes to Web Content Manager if you use web content user profiling and or Category selection trees.
      1. Ensure that you specify a value for la.providerURL in wp_add_LA.properties.
      2. Open a command prompt.
      3. Go to the following directory: wp_profile_root/ConfigEngine.
      4. Run the following task: ./ConfigEngine.sh add-wcm-la-attributes -DWasPassword=password -DparentProperties=full path to wp_profile_root/ConfigEngine/config/helpers/wp_add_LA.properties.
      Note: If the path name contains blank space, you must enclose the path in quotation marks.
  10. Stop and restart the appropriate servers to propagate the changes. For specific instructions, see Starting and stopping servers, deployment managers, and node agents.

What to do next

If you created your clustered environment, including the additional nodes, and then completed the steps in this task, you must now run the update-jcr-admin task on the secondary node. See the related links section for instructions.