Loading user data
The information on this page describes how to load user data.
When loading user data into the database, load the following database tables:
Optionally, you can also load the following tables:
Use the following as a reference when loading 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 lower-case 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. Business direct users are listed in the WebSphere Commerce 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 using the wcs_password utility, which takes the plain text password and SALT value as input values.
- **6**
- A user can only have one permanent self-address (SELFADDRESS=1, STATUS='P'). This is the address associated with the user's registration. Other permanent addresses in the user's address book should be have SELFADDRESS=0 and STATUS='P'. Any old addresses that have changed 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 will want a user that registers to a store to have the Registered Customer role (-29) in the store's organization.
There are three 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:
The MEMBER.MEMBER_ID and USERS.USERS_ID must be the same, and the USERS table primary key ranges from 1 to 6999999999999999999.
- Stop the WebSphere Commerce Server.
- Run the following SQL:
select counter + 1 from keys where tablename = 'users'
- After the SQL inserts are completed, load the KEYS table. You must load the KEYS table so that the WebSphere Commerce Server inserts using 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'
- 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.UserAccessBeanIf 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
Related Reference
Example: Loading data into the MEMBER table (idresgen utility)