Get User Theme

Description

Return theming details for a user and/or a domain.

It returns:

  • References to the user, account, account properties and theme nodes.
  • Theme resources.
  • Properties.

The theme returned is the first of:

  • Theme defined on the user node, if the user is passed.
  • Theme defined on the account node, if the user is passed.
  • Theme defined for the domain, if the server name is passed.
  • Default theme

The properties returned is a merge of:

  • Properties of the user, if the user is passed.
  • Properties of the account, if the user is passed.
  • Properties of the domain, if the server is passed.
  • Properties of the theme.

Properties of the user override those of the account, which override those of the account, which override those of the domain.

The default theme is read from the node identified by the defaultTheme configuration parameter.

The domain node is identified using two configuration parameters:

  • domains – the node that lists the domains
  • domainList – the member type for listing domains. The values contain the server names, and the targets point to domain nodes.

If either of these do not exists (which may occur on first system start up), the service logs an error and then continues without searching for domain themes.

Input

<GetUserTheme>
<userLogonReference>userid</userLogonReference>
<password>password</password> <userIdentifierTheme></userIdentifierTheme> <userLogonReferenceTheme>theme userid</userLogonReferenceTheme> <themeScope>user|account</themeScope> <themeVersion>asis|latest|current|best|draft</themeVersion> <server>server domain name</server> <manifest>true|false</manifest> </GetUserTheme>

All the parameters are optional.

The user for the theme is specified by user logon reference theme or user identifier theme (identifier takes precedence). This defaults to the user who called the service.

If themeScope is account, the theme active for the user's account is returned. If it is user, the default, the user's own theme is returned.

If a theme user is passed, then user credentials must also be passed and the caller must have authority over the theme user.

The theme version can be used to override the version of the theme node. The default, asis, means to use the one that is there.

manifest indicates whether the manifest should be read and the resource list and property list returned. If it is false (the default), then the manifest is not read.

Output

<UserTheme>
<errorNumber>0</errorNumber> <nodeVersionReferenceUser/> <userName/> <nodeVersionReferenceAccount/> <accountName/> <nodeVersionReferenceAccountProperties/> <nodeVersionReferenceTheme/> <themeName/> <nodeVersionReferenceDefaultTheme/> <defaultThemeName/> <usesDefault>true|false</usesDefault> <mayChangeTheme>true|false</mayChangeTheme> <ResourceList> <Resource> <reference/> <section/> <content/> <requires/> <follows/> <precedes/> </Resource> </ResourceList> <PropertyList> <Property> <reference/> <value/> </Property> </PropertyList> </UserTheme>

A theme is always returned unless there is a authorisation error.

User and account details are only returned if user credentials are passed.

The default theme is the theme that would apply to the user if their own theme were deleted (which may be the same). If theme scope is account, this is the theme that would apply to the account if the account theme were deleted. Note that this is not necesarily the global default theme, just the default theme for that user or account.

usesDefault is true if the user (user scope) or account (account scope) has no theme and the default has been used.

mayChangeTheme returns indicates whether the user is permitted to change the theme. It is only meaningful when the theme scope is account.

The ResourceList and resources are only returned if the manifest parameter is true. Resource repeats. Within resource, everything except reference is optional, and the follows, precedes and required elements can repeat.

The PropertiesList and properties are only returned in the manifest parameter is true. The reference is the node reference of the property.

The best version of the theme will be returned (i.e. draft if none are frozen, or current), unless there is a draft and the theme user is authorised to read the draft, in which case the draft will be returned.

Errors

101 - Not authorised

Class

com.metrici.xerula.GetUserThemeService