Oracle® Fusion Middleware Services Reference Guide for Oracle Universal Content Management 11g Release 1 (11.1.1) Part Number E11011-01

 Previous Up Next
View PDF

# 5.14 User Services (Core Content Server)

User Services assist in managing user-related activities, such as adding accounts, aliases, and roles. Frequently used services are marked with an asterisk (*) in the following list.

The following services are described in this section:

Used to create a new alias. The most likely errors are mismatched parameters or when a user or alias already exists in the system.

If you add an alias using the User Admin applet, you must add at least one user. However, you do not need to add a user using IdcCommand or IdcCommandX. To add users using IdcCommand or IdcCommandX, the optional parameter AliasUsersString must be included.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• dAlias: The alias name.

• dAliasDescription: The alias description.

Optional Service Parameters

• In HDA format: Use the \n escape sequence between each user name when using HDA format, as in this example:

• AliasUsersString=sysadmin\nuser1

• When using SOAP format, put the unencoded line feed directly into the XML or encode the line feed as (&#10;).

Example

• To create an alias and add a user the required parameters are:

IdcService=ADD_ALIAS
dAlias=my_alias


@Properties LocalData
dAlias=my_alias
@end

• In HDA format, adding a user with the AliasUserMap and Alias ResultSets:

• @Properties LocalData

IdcService=ADD_ALIAS
changedSubjects=aliases,1008291537850
dAliasDescription=Test Alias
refreshSubjects=
blFieldTypes=StatusMessage message
blDateFormat=M/d{/yy} {h:mm[:ss] {aa}[zzz]}!tAmerica/Chicago!mAM,PM
IsJava=1
changedMonikers=
refreshSubMonikers=
refreshMonikers=
dAlias=NewAlias
@end
@ResultSet AliasUserMap
2
dAlias 6 30
YourAlias
Gillian
@end
@ResultSet Alias
2
dAlias 6 30
dAliasDescription 6 50
MyAlias
This is a test of adding an alias
NewAlias
Test Alias
YourAlias
Test Alias
@end


Service that creates a new security group. The most likely error is when the security group name is not unique.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• dGroupName: The security group name.

• dDescription: The security group description.

• dPrivilege: The permission setting.

If this value is set to 0, only the admin role has RWDA permission on the security group; no other roles are able to access the security group. If the value is set to 15, all roles get RWDA permission on the security group. For more information about numbering of permissions, see the Oracle Fusion Middleware System Administrator's Guide for Content Server.

Example

IdcService=ADD_GROUP
dGroupName=NEW_GROUP
dPrivilege=15


Service that creates a new role. The most likely error is when the role name is not unique.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• dRoleName: The role name.

• dPrivilege: The permission setting.

If this value is set to 0 only the admin role has RWDA permission on the group. No other roles are able to access the group. If the value is set to 15 all roles get RWDA permission on the group. For more information about numbering of permissions, see the Oracle Fusion Middleware System Administrator's Guide for Content Server.

Example

IdcService=ADD_ROLE
dRoleName=specialuser
dPrivilege=15


Service used to create a new user. The most likely error is when the user name is not unique.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• dName: The user name.

• dUserAuthType: The user authorization type. This value must be set to either Local or Global.

Optional Service Parameters

• dFullName: The full name of the user.

• dEmail: The email address for the user.

Optional Attribute Information

Optional attribute information is specified in a ResultSet that contains the user's attribute information and references the roles the user belongs to and the accounts the user has access to. Attribute information consists of a list of three comma-delimited strings. The first string indicates the type of attribute, the second the name of the attribute, and the third is the access number for accounts or default entry for role.

Important:

The user attribute information is not predefined. By default, a new user belongs to no roles or accounts, and becomes a guest in the system.
• Attribute Type: When defining a role, the first string specifies that this is a role attribute, the second string is the name of the role, and the third is the default entry of 15.

When defining an account, the first string specifies that this is an account attribute, the second string is the name of the account, and the third is the access level.

• For a role attribute, the information is in the form:

• role,contributor,15

• For an account attribute, the information is in the form:

• account,books,1

• Attribute Name: A user can belong to multiple roles and accounts, so there can be multiple role and account information strings separated by commas in the attribute information column. If the user is to have the admin role, define the user attribute information as follows:

@ResultSet UserAttribInfo
2
AttributeInfo
jsmith
role,contributor,15
@end


If the user is to belong to both the contributor and editor roles and have Read permission on the books account, define the user attribute information as:

@ResultSet UserAttribInfo
2
AttributeInfo
jsmith
role,contributor,15,role,editor,15,account,books,1
@end

• Access Number: These access numbers can be assigned to the user.

Example

• IdcCommand command file format:

dName=specialuser
dUserAuthType=LOCAL

• HDA format with optional parameters:

• @Properties LocalData

IdcService=ADD_USER
dName=jsmith
dUserAuthType=LOCAL
dFullName=Jennifer Smith
dEmail=jsmith@stellent.com
@end
@ResultSet UserAttribInfo
2
AttributeInfo
jsmith
@end


## 5.14.5CHANGE_USER_AUTH_TYPE

Service that changes the authentication type (global, local, or external) for users.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• curUserAuthType: Current user authentication type.

• dUserAuthType: New user authentication type.

## 5.14.6CHECK_USER_CREDENTIALS

Service that checks the credentials of a user. You can use this service to get information about a user (for example, roles and accounts), or use it to check a user/password pair to see if they match. This is called during the authentication process. The data is cached so it is not called for every service request.

This service does not return user data for Microsoft Active Directory managed users when the Content Server is configured to use ADSI. It does return the user data for local users and external LDAP managed users.

Access Level: N/A (0)

Location: IdcHomeDir/resources/core/templates/std_services.htm

Optional Service Parameters

• getUserInfo: 0 (false): Does not retrieve extended user information. 1 (true): Retrieves extended user information (full name, e-mail address, locale, and user type)

• hasSecurityInfo: 0 (false): Retrieves the user accounts. 1 (true): Does not retrieve the user accounts.

• authenticateUser: 0 (false): Does not authenticate the user (validate that the user/password pair match). 1 (true): Authenticates the user (validate that the user/password pair match). In this case, the userPassword parameter must be specified.

• userPassword: The password for the specified user name. If the authenticateUser parameter is included and set to 1 (true), the userPassword parameter must be specified.

• userExtendedInfo: This parameter, combined with the getUserInfo parameter, returns the user's accounts and groups in the data binder. 0 (false): Does not retrieve the information. 1 (true): Retrieves the information.

Results

• Local Data:

• extendedInfo: HDA-encoded string containing user info fields (ndUserLocale, nblFieldTypes, ndEmail, nblDateFormat, ndFullName, ndUserType, ndUserAuthType, ndUserChangeDate, ndUserTimeZone, and ndUserArriveDate). Only returned if optional parameter 'getUserInfo' is 1 (true).

• accounts: comma-delimited list of user's accounts. Only returned if optional parameter hasSecurityInfo is 0 (false).

• roles: comma-delimited list if user's roles. Only returned if optional parameter 'hasSecurityInfo' is 0 (false).

• hasSecurtyInfo: Returns 1 (true) if security information is present in response.

• isAuthenticated: Returns 1 (true) if optional parameter authenticateUser is set to 1 (true), and the optional parameter userPassword matches the password that corresponds to userName.

• isPromptLogin: Returns 1 (true) if userPassword does not correspond to userName. No other data is returned in this situation.

Example

The following is an example CHECK_USER_CREDENTIALS service call to get information about a user:

@Properties LocalData
IdcService=CHECK_USER_CREDENTIALS
getUserInfo=1
@end


The following is an example of the results that would be returned by this service call to get user information (note that the accounts are returned):

Content-type: text/plain
<?hda version="6.3 dev (build-date)" jcharset=Cp1252 encoding=iso-8859-1?>
@Properties LocalData
dUser=user1
blFieldTypes=
dUserOrgPath=
refreshSubMonikers=
accounts=#none,prj(RWD)
blDateFormat='{ts' ''yyyy-MM-dd HH:mm:ss'''}'!tAmerica/Chicago
StatusCode=0
dUserSourceOrgPath=
hasSecurityInfo=1
roles=contributor
refreshSubjects=
changedSubjects=
dName=user1
refreshMonikers=
changedMonikers=
extendedInfo=\@Properties LocalData\nu9=\nu8=\nu7=\ndUserArriveDate={ts '2003-02-11 08:34:35'}\nu6=\ndUserTimeZone=\nu5=\nu4=\nu3=\nu2=\ndUserAuthType=LOCAL\nu1=\ndUserType=\ndUserChangeDate={ts '2003-04-03 11:57:29'}\nuPhone=\nuCompany=\ndUserLocale=English-US\nblFieldTypes=\nu24=\nu23=\nu22=\nu21=\nu20=\ndFullName=user1\nblDateFormat=M/d{/yyyy} {h:mm{:ss}{.SSSS} {aa}}!tAmerica/Chicago\ndEmail=\nu19=\nu18=\nu17=\nu16=\nu15=\nu14=\nu13=\nu12=\nu11=\nu10=\n\@end\n\n
@end


The following is an example of the results that would be returned by this service call to get user information (note that the accounts are not returned):

Content-type: text/plain
<?hda version="6.3 dev (build-date)" jcharset=Cp1252 encoding=iso-8859-1?>
@Properties LocalData
dUser=user1
blFieldTypes=
refreshSubMonikers=
blDateFormat='{ts' ''yyyy-MM-dd HH:mm:ss'''}'!tAmerica/Chicago
StatusCode=0
changedSubjects=
refreshSubjects=
dName=user1
changedMonikers=
refreshMonikers=
extendedInfo=\@Properties LocalData\nu9=\nu8=\nu7=\ndUserArriveDate={ts '2003-02-11 08:34:35'}\nu6=\ndUserTimeZone=\nu5=\nu4=\nu3=\nu2=\ndUserAuthType=LOCAL\nu1=\ndUserType=\ndUserChangeDate={ts '2003-04-03 11:57:29'}\nuPhone=\nuCompany=\ndUserLocale=English-US\nblFieldTypes=\nu24=\nu23=\nu22=\nu21=\nu20=\ndFullName=user1\nblDateFormat=M/d{/yyyy} {h:mm{:ss}{.SSSS} {aa}}!tAmerica/Chicago\ndEmail=\nu19=\nu18=\nu17=\nu16=\nu15=\nu14=\nu13=\nu12=\nu11=\nu10=\n\@end\n\n
@end


The following is an example CHECK_USER_CREDENTIALS service call to see if a user name/password pair match:

@Properties LocalData
IdcService=CHECK_USER_CREDENTIALS
authenticateUser=1
@end


The following is an example of the results that would be returned by this service call to check a user name/password pair match (note that the user name and password match; the key returned value being isAuthenticated=1):

Content-type: text/plain
<?hda version="6.3 dev (build-date)" jcharset=Cp1252 encoding=iso-8859-1?>
@Properties LocalData
dUser=user1
blFieldTypes=
refreshSubMonikers=
blDateFormat='{ts' ''yyyy-MM-dd HH:mm:ss'''}'!tAmerica/Chicago
StatusCode=0
changedSubjects=
refreshSubjects=
dName=user1
changedMonikers=
refreshMonikers=
isAuthenticated=1
@end


The following is another example CHECK_USER_CREDENTIALS service call to see if a user name/password pair match:

@Properties LocalData
IdcService=CHECK_USER_CREDENTIALS
authenticateUser=1
@end


The following is an example of the results that would be returned by this service call to check a user name/password pair match (note that the user name and password do not match; isPromptLogin=1 is returned instead of isAuthenticated=1):

Content-type: text/plain
<?hda version="6.3 dev (build-date)" jcharset=Cp1252 encoding=iso-8859-1?>
@Properties LocalData
dUser=user1
blFieldTypes=
refreshSubMonikers=
blDateFormat='{ts' ''yyyy-MM-dd HH:mm:ss'''}'!tAmerica/Chicago
StatusCode=0
changedSubjects=
refreshSubjects=
dName=user1
changedMonikers=
refreshMonikers=
@end


## 5.14.7DELETE_ALIAS

Service that deletes an existing alias. The most likely errors are mismatched parameters, when the alias is being used in the workflow, or when the system is unable to delete the alias or the user.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• dAlias: The alias name.

Example

IdcService=DELETE_ALIAS


## 5.14.8DELETE_GROUP

Service that deletes an existing security group.The most likely errors are when content items or workflows associated with this group still exist in the system.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• dGroupName: The security group name.

Example

IdcService=DELETE_GROUP


## 5.14.9DELETE_ROLE

Service that deletes an existing role. The most likely errors are when the specified role does not exist or when a user still has this role assigned.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• dRoleName: The role name.

Example

IdcService=DELETE_ROLE
dRoleName=test_role


## 5.14.10DELETE_USER

Service that deletes an existing user. The most likely error is when the user has been assigned to an alias.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• dName: The user name.

Example

• IdcCommand command file format:

IdcService=DELETE_USER
dName=jsmith

• HDA format:

@Properties LocalData
IdcService=DELETE_USER
dName=jsmith
@end


## 5.14.11EDIT_ALIAS

Service that modifies an existing alias. To edit and add users, the AliasUsersString parameter must be included.

Location: IdcHomeDir/resources/core/templates/std_services.htm

Caution:

Editing an alias deletes all existing data (Description and Users) from the alias. To retain existing data, you must include the existing data along with any new data.

• dAlias: The alias name.

• dAliasDescription: The alias description.

• In HDA format: Use the \n escape sequence between each user name when using HDA format, as in this example:

AliasUsersString=sysadmin\nuser1

• When using SOAP format, put the unencoded line feed directly into the XML or encode the line feed as (&#10;).

• Example

Edits an alias:

IdcService=EDIT_ALIAS
dAlias=my_alias
dAliasDescription=new user


@Properties LocalData
monitoredTopics=appcommongui,1000382277000
IdcService=EDIT_ALIAS
dAliasDescription=Test Alias
blFieldTypes=
blDateFormat=M/d{/yy} {h:mm[:ss] {aa}[zzz]}!tAmerica/Chicago!mAM,PM
watchedMonikers=
dAlias=YourAlias
@end

• In HDA format, adding users with the AliasUserMap and Alias ResultSets:

@Properties LocalData
refreshMonikers=
IsJava=1
refreshSubMonikers=
refreshSubjects=aliases,1008541017551
dAlias=YourAlias
refreshTopics=
ClientEncoding=Cp1252
blDateFormat=M/d{/yy} {h:mm[:ss] {aa}[zzz]}!tAmerica/Chicago!mAM,PM
watchedMonikers=
IdcService=EDIT_ALIAS
blFieldTypes=StatusMessage message
changedMonikers=
dAliasDescription=Test Alias
changedSubjects=
monitoredTopics=appcommongui,1000382277000
@end
@ResultSet AliasUserMap
2
dAlias 6 30
YourAlias
Gillian
YourAlias
Monique
YourAlias
@end
@ResultSet UpdatedUserTopics
3
topicName
topicValue
topicTS
@end
@ResultSet Alias
2
dAlias 6 30
dAliasDescription 6 50
MyAlias
This is a test of adding an alias
NewAlias
Test Alias
YourAlias
Test Alias
@end


## 5.14.12EDIT_GROUP

Service that modifies an existing security group.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• dGroupName: The security group name.

• dDescription: The security group description.

• dPrivilege: The permission setting.

If this value is set to 0 only the admin role has RWDA permission on the group. No other roles are able to access the group. If the value is set to 15, all roles get RWDA permission on the group.

Example

IdcService=EDIT_GROUP
dGroupName=MY_GROUP
dPrivilege=0


## 5.14.13EDIT_ROLE

Service that modifies an existing role.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• dRoleName: The existing role name.

• dGroupName: The name of the security group.

Optional Service Parameters

• dPrivilege: The permission setting.

If this value is set to 0 only the admin role has RWDA permission on the group. No other roles are able to access the group. If the value is set to 15, all roles get RWDA permission on the group.

Example

IdcService=EDIT_ROLE
dRoleName=test_role
dGroupName=MY_GROUP
dPrivilege=15


## 5.14.14EDIT_USER

Service that modifies an existing user. The most likely error is the user not having the security level to perform this action or the user not existing.

Location: IdcHomeDir/resources/core/templates/std_services.htm

Caution:

Editing a user deletes all existing user attributes (role and account permissions). To retain existing attributes, you must include the existing attributes along with any new or changed data. If user attributes are not defined, the user belongs to no roles or accounts, and becomes a guest in the system.

Note:

If the specified user does not exist, Content Server adds the user.

• dName: The user name.

• dUserAuthType: The user authorization type. This value must be set to either Local or Global.

Optional Service Parameters

• dFullName: The full name of the user.

• dEmail: The email address of the user.

• dUserLocale: The locale designation, such as English-US, English-UK, Deutsche, Français, or Español.

• dUserType: The user type.

Optional Attribute Information

Optional attributes are specified as a ResultSet that contains the user's attribute information and specifies the roles the user belongs to and the accounts the user has access to. Attribute information consists of a list of three comma-delimited strings. The first string indicates the type of attribute, the second the name of the attribute, and the third is the access number for accounts or default entry for role.

• Attribute Type: When defining a role, the first string specifies that this is a role attribute, the second string is the name of the role, and the third is the default entry of 15. When defining an account, the first string specifies that this is an account attribute, the second string is the name of the account, and the third is the access level.

• For a role attribute, the information is in the form:

• role,contributor,15

• For an account attribute, the information is in the form:

• account,books,1

• Attribute Name: A user can belong to multiple roles and accounts, so there can be multiple role and account information strings separated by commas in the attribute information column. If the user is to have the admin role, define the user attribute information as follows:

@ResultSet UserAttribInfo
2
AttributeInfo
jsmith
role,contributor,15
@end


If the user is to belong to both the contributor and editor roles and have Read permission on the books account, define the user attribute information as:

@ResultSet UserAttribInfo
2
AttributeInfo
jsmith
role,contributor,15,role,editor,15,account,books,1
@end

• Access Number: These access numbers can be assigned to the user.

Example

• IdcCommand command file format:

IdcService=EDIT_USER
dName=user20
dUserAuthType=Local

• HDA format with optional parameters and attribute information:

@Properties LocalData
IdcService=EDIT_USER
dName=jsmith
dFullName=Jennifer Smith
dUserAuthType=Local
dEmail=jsmith@stellent.com
dUserType=MKT
dUserLocale=English-US
@end

@ResultSet UserAttribInfo
2
AttributeInfo
jsmith
@end


## 5.14.15EDIT_USER_PROFILE

Service that modifies the user profile for an existing user. and saves profile settings. This cannot be used to change a user's security credentials.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• Any of the fields in the Users table (except dName) can be updated by this service.

• You can use this service o edit personalization information that is not stored in the database. Some of a user's information is stored in the database and some is stored in personalization data .hda files.

• For information in the database, simply passing the corresponding field name and a value causes the field to be updated.

• For personalization data, encoded topic strings must be used (for example, topicString1=updateKeys:pne_portal:lm_Layout:Trays).

• The Password value cannot be updated for proxied users.

• The most likely reason this service would fail is if it cannot find the user (dName) in the system, or if the user name passed in dName does not match the current user.

• dName: The user name.

Optional Service Parameters

• dFullName: The full name of the user.

• dEmail: The email address of the user.

• dUserLocale: The locale designation, such as English-US, English-UK, Deutsche, Français, or Español.

• dUserType: The user type.

• emailFormatList: Set to HTML for HTML-based emails or text for text-based email.

• numTopics: The number of additional personalization topics in this request.

• topicString1: An encoded string of a personalization topic to update.

• numTopics: The total number of topic strings being passed.

• Any field from the User's table (except dName): dFullName, dEmail, dPasswordEncoding, dPassword, dUserType, dUserAuthType, dUserOrgPath, dUserSourceOrgPath, dUserSourceFlags, dUserArriveDate, dUserChangeDate, dUserLocale, dUserTimeZone.

• topicString1 - topicStringN: Any number of strings encoded to define personalization topic edit operations.

• RedirectUrl: Used to display another page. If omitted, the user is redirected to the Content Server home page.

Optional parameters for version 7.0 and later:

• Layout: The API to use (for example, Top Menu or Trays).

• Skin: The skin to use (for example, Windows).

• XuiSearchTemplate: The template to use for the user's personalized Search Results page.

Results

• Result Sets: UserTopicEdits (Returned only if personalization data was edited. Contains info about what topic edits were performed. Has the following fields: topicName, topicEditAction, topicKey, topicValue. Note that topicValue is an HDA-encoded string.)

• Local Data:

• changedSubjects

• dUser

• Response Template:

• REDIRECT_TEMPLATE (redirect_template.htm)

• Default redirect service: GET_DOC_PAGE (Page=HOME_PAGE)

Used By

• Resource Includes: user_info_submit_form

Example

• IdcCommand command file format:

IdcService=EDIT_USER_PROFILE

• HDA format with optional parameters:

@Properties LocalData
IdcService=EDIT_USER_PROFILE
dName=jsmith
dFullName=Jennifer Smith
dEmail=jsmith@stellent.com
dUserType=MKT
dUserLocale=English-US
@end


## 5.14.16GET_ALIASES

Service that returns a list of all aliases.

Location: IdcHomeDir/resources/core/templates/std_services.htm

Service that retrieves the Configure Web Server Filter page in a browser.

Location: IdcHomeDir/resources/core/templates/std_services.htm

## 5.14.18GET_SELF_REGISTER_PAGE

Service that returns the self-registration page and loads the user information for a self-registered user.

Location: IdcHomeDir/resources/core/templates/std_services.htm

## 5.14.19GET_USER_INFO

Service that returns the User Profile page for the current user. Use CHECK_USER_CREDENTIALS to verify the roles and accounts for the user.

This service takes no parameters and derives its information based upon the value of the dUser server variable.

Access Level: Read, Global, Scriptable (49)

Queries Executed: Quser

Location: IdcHomeDir/resources/core/templates/std_services.htm

Results:

• Result Sets:

• USER_INFO (fields from Users database table for current user)

• UserMetaDefinition (result set that defines properties of user meta fields; matches contents of usermeta.hda file in data directory)

• LmLayouts (listing of names of available layouts; fields: layout)

• LmLayoutSkinPairs (listing of all available layout/skin combinations; fields: layout, skin)

• Option Lists Returned: Users_UserLocaleList

• Local Data:

• dName

• dUser

• Response Template: USER_INFO (user_info.htm)

Used By

• Templates:

• MY_VIEW_FORM (my_view_form.htm)

• PNE_PORTAL_DESIGN_PAGE (pne_portal_design_page.htm)

• PNE_PORTAL_DOC_PROFILES_PAGE (pne_portal_doc_profiles_page.htm)

• PNE_PORTAL_PERSONAL_URLS_PAGE(pne_portal_personal_urls_page.htm)

• PNE_PORTAL_SAVED_QUERIES_PAGE (pne_portal_saved_queries_page.htm)

• std_home_page.htm

• SUBSCRIPTION_LIST (subscription_list.htm)

## 5.14.20GET_USERS

Service that returns a list of all users and their attributes. Returns a list of all users registered in the system with their primary attributes: user name, full name, password, email address, directory, type, and password encoding.

Location: IdcHomeDir/resources/core/templates/std_services.htm

Loads all data from the user's PNE file (pne_portal.htm), including standard personalization properties and result sets, and custom personalization data, for a user's saved queries. This is used by remote applications to obtain a user's personalization settings.

This is used as a remote application service. It is a raw data service with no associated template display.

Location: IdcHomeDir/resources/core/templates/std_services.htm

Results

• Result Sets: All result sets from the user's pne_portal.htm file. Typically this includes personal URLS and saved queries, but can also include any custom personalization result sets used by the specific implementation.

• Local Data: All LocalData properties from the user's pne_portal.hda file. This includes standard personalization properties (XuiSearchTemplate, showDefaultQuery, defaultQueryRows, lm_Skin, lm_Layout, portalDesignLink, quickSearchLink, defaultQuery, searchFormType, emailFormat), but can also include any custom personalization properties used by the specific implementation.

Used By

• Other: SoapCustom:Wsdl:PortalInfo:Services

Loads personalization data based on the topic chosen. The topics correspond to HDA files in the DomainHome/ucm/cs/data/users/profiles/ directories.

This is used as a remote application service. It is a raw data service with no associated template display.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• userTopic: The name of the user topic, such as pne_portal or wf_in_queue.

Results

• Result Sets: All result sets in the specified topic file.

• Local Data: All LocalData properties in the specified topic file.

## 5.14.23QUERY_GROUP

Service that returns the description of a security group.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• dGroupName: The security group name.

Example

IdcService=QUERY_GROUP
dGroupName=Public


## 5.14.24QUERY_USER_ATTRIBUTES

Service that returns user attributes for a specific user.

This service does not return user data for Microsoft Active Directory managed users when the Content Server is configured to use ADSI. It does return the user data for local users and external LDAP managed users.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• dName: The user name.

Example

IdcService=QUERY_USER_ATTRIBUTES
dName=jsmith


## 5.14.25REGISTER_USER

Service that registers a user. If only the user name parameter (dName) is provided, the new user is a local user with the guest role and a blank password.

The most likely error is a user name that is not unique.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• dName: The user name.

Optional Service Parameters

• dFullName: The full name of the user.

• dEmail: The email address for the user.

• dUserLocale: The locale designation, such as English-US, English-UK, Deutsche, Français, or Español.

• dUserType: The user authorization type, either Local or Global.

Example

IdcService=REGISTER_USER
dName=user20


## 5.14.26SAVE_USER_TOPICS

Service used to save personalization information for the user. Seven actions can be performed with this service. The required parameters for the service vary depending upon which action is being performed.

A form is normally used to submit the service request because of the complexity of the data and the number of additional parameters required.

Location: IdcHomeDir/resources/core/templates/std_services.htm

Actions

The following actions are used with the topicString parameter:

• updateKeys: Updates a single LocalData key variable. The topicString takes 4 values: the first 3 required values plus a fourth that contains the literal string value to be placed in the key variable.

• updateKeyByName: This action is new for Content Server version 10.0. Like updateKeys, this action updates a single LocalData key variable. It also takes 4 topicString values. Instead of containing a literal string, the fourth value contains the name of an additional field/parameter that contains the value to be used in the update.

• deleteKeys: Deletes a single key variable. The topicString takes the 3 required values only.

• updateRows: This action is used to add or update one or more result set rows using a single topic string. The topicString takes 5 values: the first 3 required values; a fourth that contains a comma-delimited list of all result set column names in correct order; a fifth containing a number indicating the total number of rows being updated/added.

A set of additional fields/parameters with names corresponding to the column names must be provided for each row of data based upon the number of rows indicated in the fifth value of the topicString. Sequential numeric suffixes must be appended to the column names of the fields in each row's data set beginning with one and ending with total row number provided in the topicString (if any of these are missing, Content Server throws an error).

If the value for the first column (the unique key) of a row in the update data matches that of an existing row in the result set, the existing row will be updated; otherwise a new row will be appended to the bottom of the result set.

• addMruRow: The "Mru" in the name is an acronym for "most-recenly-used". This action adds a single row to the top of a result set. The number of rows in the result set is not allowed to exceed a specified maximum. If a row is added to a result set that already contains the maximum number of rows, the last row is deleted at the same time that the new one is added (essentially keeping only the N most recently used rows in a result set).

The maximum number of rows can be specified using an optional mruNumber parameter. If no mruNumber parameter is provided, the maximum defaults to 10.

The topicString takes 4 values: the first 3 required values and a fourth that contains a comma-delimited list of all result set column names in correct order. Similar to updateRows, a set of additional fields/parameters with names corresponding to the column names must be provided; but since only one row is added/updated at a time, no numeric suffixes are required on the names.

If the value of the first column (the unique key) matches that of an existing row, that row is updated and moved to the top of the result set rather than adding a new row. The number of rows doesn't change, and the affected row is now considered the most-recently-used row.

• deleteRows: Deletes one or more rows from a result set. The topicString takes 4 values: the first 3 required values, and a fourth that contains a comma-delimited list of strings that correspond to the DATA VALUES of the first column (unique key) of existing rows in the specified result set.

• deleteSets: Deletes one or more result sets from a topic file. The topicString takes only 3 values, but in this case, the third value can be a comma-delimited list of names rather than a single key name, allowing multiple result sets to be deleted using a single topicString.

Optional Service Parameters

• numTopics: Tells the service the number of topicStrings to expect.

• topicKeys: Identifies the topic string parameter fields by name. Composed of a colon-separated list of one or more names that correspond to fields or parameters that contain the topic strings. A numTopics value must be present when this parameter is used, even if you don't use the enumeration method of identifying topic string values. (Any value can be used for numTopics.)

• topicStringn: Composed of three to five values, separated by colons. The number of topic strings depends on the value in numTopics. For example, if numTopics is 2, topicString1 and topicString2 are required.

• The values are as follows:

• The first value is the action to be taken by the service.

• The second value is the name of the topic file that is acted on.

• The third value is the key name of the item being modified (either the name of a LocalData key variable, or the name of a result set in the topic file).

• The fourth value contains data information for an add or update action. It either contains the data string itself, or it points to additional fields or parameters that contain the data values.

• The fifth value is used only with the updateRows action to indicate the number of rows of data being sent.

All of the update actions perform 'add' operations if a key of the given name is not found in the specified topic file. If a topic file matching the name given in the second value is present, but doesn't contain a key (variable or result set) matching the key name given in the third value, then a new variable or result set will be created using the data provided for the update operation. If the topic file itself is not found, it will also be created.

• RedirectUrl: Used to display another page. If omitted, the user is redirected to the Content Server home page.

• mruNumber: Used to specify the maximum number of rows in a result set when using the addMruRow - 'Add Most-Recently-Used Row' action.

Results

• Result Sets: UserTopicEdits (Rows represent each of the topic edits performed by the service call. Rows contain the fields: topicName, topicEditAction, topicKey, topicValue.)

• Response Template:

• REDIRECT_TEMPLATE (redirect_template.htm)

• Default redirect service: GET_DOC_PAGE: HOME_PAGE

Used By

• Resource Includes: xui_searchapi_results_action_form

• Templates:

• MY_VIEW_FORM (my_view_form.htm)

• PNE_PORTAL_DOC_PROFILES_PAGE (pne_portal_doc_profiles_page.htm)

• PNE_PORTAL_PERSONAL_URLS_PAGE (pne_portal_personal_urls_page.htm)

• PNE_PORTAL_SAVED_QUERIES_PAGE (pne_portal_saved_queries_page.htm)

• WF_INQUEUE_LIST (workflow_queue.htm)

Examples

Caution:

The following example is not a core configuration of Content Server. This is a custom feature extension and is only supported through the purchase of Consulting Services or through the purchase of our Developer Support Token Program. As with all customizations, when you upgrade your software, the custom changes may be overwritten.

To add a personal URL, use the following parameters and values:

numTopics=1
topicString1=updateRows:pne_portal:PersonalURLS:title,website:1


These values add rows in the PersonalURLS resultset in the pne_portal.hda user topic. The columns in the resultset are title and website, which are taken from the fourth value of the topic string. The last value (1) tells the service that one row of data is being sent.

You must use additional parameters to the service to specify the row data. These parameters are taken from the title and website column names specified in the topicString. Because it is possible to specify more than one row of data, a numeric suffix is added to each of the column names to form the service parameter name. The first row would require the title1 and website1 parameters and a second row would require the title2 and website2 parameters.

To add a row of data that is a link to the home page, set the values of the title1 and website1 parameters to Home Page and http://www.stellent.com. These values must be URL-encoded if you are adding them directly to the URL in the browser address bar; if you use a form in a Web page to submit the data, encoding is handled. Using a form, the complete service specification would be the following:

<FORM name='addPersonalUrlForm' method='POST'
action='<$HttpCgiPath$>'>
<INPUT type='hidden' name='IdcService' value='SAVE_USER_TOPICS'>
<INPUT type='hidden' name='numTopics' value='1'>
<INPUT type='hidden' name='topicString1'
value='updateRows:pne_portal:PersonalURLS:title,website:1'>
<INPUT type='hidden' name='website1' value='http://www.stellent.com'>
<INPUT type='submit' value='Submit'>
</FORM>


## 5.14.27UPDATE_FILTER_INFO

Service that updates the Web server filter settings.

Location: IdcHomeDir/resources/core/templates/std_services.htm

## 5.14.28UPDATE_USEROPTION_LIST

Service that adds or updates an option list for a user information field.

Caution:

The option list values specified in the OptionListString parameter replace any existing values. To retain existing values, you must include the existing values along with the new values.

Option list values for the User Type field and all custom user information fields are not stored in the database but in the useroptions.hda file, which is normally located in the DomainHome/ucm/cs/data/users/config/ directory.

Location: IdcHomeDir/resources/core/templates/std_services.htm

• dKey: The option list key.

• OptionListString: The list of options, separated by the \n escape sequence.

Example

• IdcCommand command file format:

# Add values NY, DC, CA to UserTypeList
IdcService=UPDATE_USEROPTION_LIST
dKey=Users_UserTypeList
OptionListString=NY\nDC\nCA

• HDA format (adds the values NY, DC, and CA to UserTypeList):

@Properties LocalData
IdcService=UPDATE_USEROPTION_LIST
dKey=Users_UserTypeList
OptionListString=NY\nDC\nCA
@end