Deprecated feature: Loading user data

You can load user data to WebSphere Commerce database tables by using loading utilities, SQL, or access beans.

About this task

When you load user data into the database, you must load the following database tables:

Optionally, you can also load the following tables:

Use the following as a reference when you load data into these tables.

  • MEMBER (MEMBER_ID( **1**), TYPE='U', STATE=1)
  • USERS (USERS_ID=MEMBER.MEMBER_ID, DN ( **2**), REGISTERTYPE='R', PROFILETYPE=( **3**) , LANGUAGE_ID)
  • USERREG (USERS_ID=USERS.USERS_ID, STATUS=1, LOGONID, SALT ( **4**), LOGONPASSWORD ( **5**), PASSWORDEXPIRED=0 )
  • ADDRBOOK (MEMBER_ID=USERS.USERS_ID)
  • ADDRESS (MEMBER_ID=USERS.USERS_ID, STATUS='P', NICKNAME=USERREG.LOGONID, SELFADDRESS=1 (**6**))
  • MBRREL ( **7**)
  • MBRROLE ( **8**)
Where:
**1**
The MEMBER_ID primary key space (KEYS table) is shared by the USERS, ORGENTITY, and MBRGRP tables.
**2**
The DN should be lowercase and in the following format: "uid=" + logonid + "," + parent_organization_DN"
**3**
Type 'C' is for consumer direct users; 'B' is for a business direct users. Consumer direct users are listed in the WebSphere Commerce Accelerator. B2B direct users are listed in the Organization Administration Console.
**4**
A random string that is unique to each user. This string is appended to the password before hashing.
**5**
The encrypted logon password that is generated when you use the wcs_password utility, which takes the plain text password and SALT value as input values.
**6**
A user can have only one permanent self-address (SELFADDRESS=1, STATUS='P'). This is the address that is associated with the user registration. Other permanent addresses in the user address book should have SELFADDRESS=0 and STATUS='P'. Any old addresses that change are marked temporary (STATUS='T').
**7**
One row in the MBRREL table should be created for each ancestor. For example, if you are creating a user under the default organization, then create one record to indicate that the parent (sequence=1) is the default organization, and the grandparent (sequence = 2) is the root organization.
**8**
The MBRROLE table defines the roles that the user plays in the system. By default, you want a user that registers to a store to have the Registered Customer role (-29) in the store organization.
There are different methods for loading data into your tables:
  • Massload utility: Refer to the massload utility to load your user data.
  • SQL: Use SQL to load the user data. The current MEMBER.MEMBER_ID value to use can be found by completing the following steps:
    Note: The MEMBER.MEMBER_ID and USERS.USERS_ID must be the same, and the USERS table primary key ranges from 1 to 6999999999999999999.
    1. Stop the WebSphere Commerce Server.
    2. After the SQL inserts are completed, load the KEYS table. You must load the KEYS table so that the WebSphere Commerce Server inserts data with a primary key value greater that the ones that were used in the manual insert. Run the following SQL:
      update keys set counter = (select max(users_id) from users) where tablename = 'users'
    3. Start the WebSphere Commerce Server. The next user_id that is used by WebSphere Commerce to create a new user is at the counter value +1.
  • Access Beans: Use the following access beans:
    • To populate the MEMBER, USERS and MBRREL tables, use the following access bean: com.ibm.commerce.user.objects.UserAccessBean
      Note: If you call the setParentMember() method on the UserAccessBean, it creates the rows in the MBRREL table automatically
    • To populate the ADDRBOOK and ADDRESS tables, use the following access bean: com.ibm.commerce.user.objects.AddressAccessBean
    • To populate the MBRROLE table, use the following access bean: com.ibm.commerce.user.objects.MemberRoleAccessBean
    • To populate the USERPROF table, use the following access bean: com.ibm.commerce.user.objects.UserProfileAccessBean
    • To populate the BUSPROF table, use the following access bean: com.ibm.commerce.user.objects.BusinessProfileAccessBean
    • To populate the USERDEMO table, use the following access bean: com.ibm.commerce.user.objects.DemographicsAccessBean
    • To populate the MBRATTRVAL table, use one of the following access beans, depending on the data type: com.ibm.commerce.user.objects.MemberAttributeStringValueAccessBean com.ibm.commerce.user.objects.MemberAttributeIntegerValueAccessBean com.ibm.commerce.user.objects.MemberAttributeFloatValueAccessBean com.ibm.commerce.user.objects.MemberAttributeDatetimeValueAccessBean