20Migrating Roles

Migrating Roles

This chapter describes how to migrate roles using the Oracle Migration Tool On Demand client. It contains the following topics:

Roles

A role in Oracle CRM On Demand is similar to a business function that a user performs within an organization, such as a sales executive function or a service manager function. Within your organization, your business function gives you certain privileges and permissions that are unique to your business function. Similarly, within the context of Oracle CRM On Demand, roles differentiate one business function from another by doing the following:

  • Defining the features in Oracle CRM On Demand that a user has the privileges to use

  • Defining the set of permissions the user is given to work with protected information

  • Defining the user interface settings that display this information

The following table describes the Oracle Migration Tool On Demand client commands used with roles. For more information about running these commands, see Migrating Roles.

Table Commands Used with Roles in Oracle Migration Tool On Demand

Command Description

ReadAll Role

This command exports all roles in the Oracle CRM On Demand tenant.

Upsert Role RoleXML

This command updates or inserts a role.

Note: For an update to occur, the criteria must match the value of the <RoleName> element, which is case sensitive. For example, Administrator and ADMINISTRATOR are two different values.

Privileges Required for Migrating Roles

The following privileges are required for the user account running the Oracle Migration Tool On Demand client commands:

  • For the ReadAll command: Enable Web Services Access, and Manage Roles and Access.

  • For the Upsert command: Enable Web Services Access, and Manage Roles and Access. To update the <ExpirePasswordIn> element, the Manage Company privilege is required.

For information about setting and checking privileges, see Oracle CRM On Demand Online Help.

Elements and Sections in the Roles XML Output File

The following table describes the elements and sections in the roles XML output file.

Table Elements and Sections in the Roles XML Output File

Description Element or Section

<RoleName> contains the system name of the role.

<data:RoleName>MyCustomRole</data:RoleName>

<Description> contains the description for the role.

<data:Description>OnDemand Role</data:Description>

<DefaultSalesProcess> contains the name of the default sales process specified for the role.

<data:DefaultSalesProcess>Default Sales Process
</data:DefaultSalesProcess> 

<ThemeName> contains the name of the theme that is used by default when a user who is assigned this role signs in to Oracle CRM On Demand using a desktop or laptop computer.

<data:ThemeName>Oracle</data:ThemeName> 

<ModernThemeName> contains the name of the theme that is used by default when a user who is assigned this role signs in to Oracle CRM On Demand using a tablet computer or other touch-screen device, provided that the tablet computer or touch-screen device is detected by Oracle CRM On Demand.

<data:ModernThemeName>Oracle Blue - Modern
</data:ModernThemeName>

<LeadConversionLayout> contains the name of the lead conversion layout specified for the role.

<data:LeadConversionLayout>
</data:LeadConversionLayout> 

<ActionBarLayout> contains the name of the Action bar layout specified for the role.

<data:ActionBarLayout>Action Bar Standard
 Layout</data:ActionBarLayout>

<RelatedInfoFormat> specifies the format for related information sections on record detail pages, which can be shown as lists or as tabs.

<data:RelatedInfoFormat>Tabs
</data:RelatedInfoFormat>

<ExpirePasswordIn> specifies the length of time that a password is valid for a user who has this role. After this period has elapsed, the user is forced to change the password. If no value is specified, then the password expiry period that is defined for the company applies to the users who have this role.

Valid values are:

  • 30 days

  • 60 days

  • 90 days

  • 180 days

  • One Year

  • Never expires

<data:ExpirePasswordIn></data:ExpirePasswordIn>

<LimitRecordsInListExport> specifies the number of records that users who have this role can export at one time when exporting a list of records through the Export List menu option on List pages. By default, no restriction is applied and this element is empty.

Note: The restriction, if specified, applies only to exports that are performed through the Export List menu option on List pages. It does not apply to export operations that are performed through the Export Assistant or through any other channel.
<data:LimitRecordsInListExport>
</data:LimitRecordsInListExport>

The <ListOfRoleTranslation> section contains the translation values for the role.

<data:ListOfRoleTranslation> 
. . .
</data:ListOfRoleTranslation> 

The <RoleTranslation> section contains the translation values for one language:

<data:ListOfRoleTranslation> 
  <data:RoleTranslation> 
    <data:LanguageCode>ENU</data:LanguageCode>
    <data:RoleName>My Custom Role</data:RoleName> 
  </data:RoleTranslation> 
. . .
</data:ListOfRoleTranslation> 

The <ListOfRecordTypeAccess> section lists the record-type Access defined for each record type for the role.

<data:ListOfRecordTypeAccess> 
. . .
</data:ListOfRecordTypeAccess> 

The <RecordTypeAccess> section specifies the record-type Access defined for each record type for users who have this role, as follows:

  • <RecordName> contains the system name of the record type (object), which never changes. The system names for the record types are listed in System Names for Record Types.

  • <HasAccess> determines whether the user has access to the records of the specified record type (true) or does not have access to records of the specified record type (false).

  • <CanCreate> determines whether the user can create records of the specified record type (true) or cannot create records of the specified record type (false).

  • <CanReadAll> determines whether the user has read all records of the specified record type (true) or does not have access to all records of the specified record type (false).

<data:ListOfRecordTypeAccess> 
  <data:RecordTypeAccess>
    <data:RecordName>CustomObject10
    </data:RecordName>
    <data:HasAccess>true</data:HasAccess>
    <data:CanCreate>true</data:CanCreate>
    <data:CanReadAll>true</data:CanReadAll>
  </data:RecordTypeAccess>
  <data:RecordTypeAccess>
    <data:RecordName>Account
    </data:RecordName>
    <data:HasAccess>true</data:HasAccess>
    <data:CanCreate>true</data:CanCreate>
    <data:CanReadAll>true</data:CanReadAll>
  </data:RecordTypeAccess>
. . .
</data:ListOfRecordTypeAccess> 

The <AccessProfile> section specifies the access profiles that are assigned to the role, as follows:

  • <DefaultAccessProfile> contains the name of the default access profile for the role.

  • <OwnerAccessProfile> contains the name of the owner access profile for the role.

<data:AccessProfile>
  <data:DefaultAccessProfile>Administrator
   Default Access Profile
  </data:DefaultAccessProfile>
  <data:OwnerAccessProfile>Administrator 
   Owner Access Profile
  </data:OwnerAccessProfile>
</data:AccessProfile> 

The <ListofPrivilege> section specifies the privilege settings for the role.

<data:ListOfPrivilege>
. . .
</data:ListOfPrivilege> 

The <Privilege> section specifies the details of one privilege for the role:

  • <PrivilegeName> contains the system name of the privilege. For information about privilege IDs, their corresponding names, and descriptions, see Privilege IDs and Their Corresponding Names and Descriptions.

  • <Enabled> specifies whether the privilege is enabled for the role (true) or is not enabled for the role (false).

<data:ListOfPrivilege>
  <data:Privilege>
    <data:PrivilegeName>ACCESS_ATT_EXPORT
    </data:PrivilegeName>
    <data:Enabled>false</data:Enabled>
  </data:Privilege>
. . .
</data:ListOfPrivilege> 

The <TabAccessAndOrder> section contains the details of the tab access and order for the role.

<data:TabAccessAndOrder> 
. . .
</data:TabAccessAndOrder> 

The <ListofAvailableTab> section contains the details of the tabs that are available to users who have this role, but are not displayed by default. This section corresponds to the Available Tabs list in the Role Management wizard. The <AvailableTab> child element contains the system name of the record type for the tab.

For more information about mapping the XML values from the <AvailableTab> element to their corresponding UI names, see the table in System Names for Record Types.

<data:TabAccessAndOrder> 
  <data:ListOfAvailableTab>
    <data:AvailableTab>Account</data:AvailableTab>
    <data:AvailableTab>Forecasts</data:AvailableTab>
    <data:AvailableTab>Leads</data:AvailableTab>
. . .
  </data:ListOfAvailableTab> 
. . .
</data:TabAccessAndOrder> 

The <List of Selected Tab> section contains the details of the tabs that are displayed by default for users who have this role. This section corresponds to the Selected Tabs list in the Role Management wizard. The elements in the section are:

  • <TabName> contains the system name of the record type for the tab.

  • <Order> indicates the order of the tab in the Selected Tabs list. The order of value 0 (zero) corresponds to the first tab in the Selected Tabs section in the UI.

For more information about mapping the XML values from the <TabName> element to their corresponding UI names, see the table in System Names for Record Types.

<data:TabAccessAndOrder> 
. . .
  <data:ListOfSelectedTab>
     <data:SelectedTab>
       <data:TabName>Home</data:TabName>
       <data:Order>0</data:Order>
     </data:SelectedTab>
     <data:SelectedTab>
       <data:TabName>Accounts</data:TabName>
       <data:Order>1</data:Order>
     </data:SelectedTab>
     <data:SelectedTab>
       <data:TabName>Contacts</data:TabName>
       <data:Order>2</data:Order>
     </data:SelectedTab>
     <data:SelectedTab>
        <data:TabName>Leads</data:TabName>
        <data:Order>3</data:Order>
      </data:SelectedTab>
. . .
   </data:ListOfSelectedTab>
</data:TabAccessAndOrder> 

The <ListOfPageLayoutAssignment> section contains the details of the page layout assignments for the role.

<data:ListOfPageLayoutAssignment>
. . .
</data:ListOfPageLayoutAssignment> 

The <PageLayoutAssignment> section contains the details of the page layout assignment for one record type for the role:

  • <RecordType> is the system name of the record type (object), which never changes. For more information about mapping the XML values from the <RecordType> element to their corresponding UI names, see the table in System Names for Record Types.

  • <LayoutName> specifies the name of the page layout for the record type for this role. If the <LayoutName> element is not specified, then the default layout is applied. If the <PageViewType> has the Dynamic value, then the layout specified in the <LayoutName> must be a dynamic layout. For more information about dynamic page layouts, see Migrating Dynamic Page Layouts.

  • <PageViewType> specifies whether the page layout is a static layout or a dynamic layout. The <PageViewType> element value must be either Static or Dynamic.

<data:ListOfPageLayoutAssignment>
  <data:PageLayoutAssignment>
    <data:RecordType>UserAdmin
    </data:RecordType>
    <data:LayoutName></data:LayoutName>
    <data:PageViewType>Static
    </data:PageViewType>
  </data:PageLayoutAssignment>
  <data:PageLayoutAssignment> 
    <data:RecordType>Account
    </data:RecordType>
    <data:LayoutName></data:LayoutName>
    <data:PageViewType>Static
    </data:PageViewType>
  </data:PageLayoutAssignment>
. . .
</data:ListOfPageLayoutAssignment>

The <ListOfSearchLayoutAssignment> section contains the details of the search layout assignments for the role.

<data:ListOfSearchLayoutAssignment>
. . .
</data:ListOfSearchLayoutAssignment> 

The <SearchLayoutAssignment> section contains the details of the page layout assignment for one record type for the role:

  • <RecordType> is the system name of the record type (object), which never changes. For more information about mapping the XML values from the <RecordType> element to their corresponding UI names, see the table in System Names for Record Types.

  • <LayoutName> specifies the name of the search layout for the record type for this role.

<data:ListOfSearchLayoutAssignment>
  <data:SearchLayoutAssignment>
    <data:RecordType>Account</data:RecordType>
    <data:LayoutName>AccountSearch
    </data:LayoutName>
  </data:SearchLayoutAssignment>
  <data:SearchLayoutAssignment>
    <data:RecordType>Opportunity</data:RecordType>
    <data:LayoutName></data:LayoutName>
  </data:SearchLayoutAssignment>
. . .
</data:ListOfSearchLayoutAssignment> 

The <ListOfHomePageLayoutAssignment> section contains details of the homepage layout assignments for the role.

<data:ListOfHomepageLayoutAssignment> 
. . .
</data:ListOfHomepageLayoutAssignment> 

The <HomepageLayoutAssignment> section contains the details of the homepage layout assignment for one record type for the role:

  • <RecordType> is the system name of the record type (object), which never changes. For more information about mapping the XML values from the <RecordType> element to their corresponding UI names, see the table in System Names for Record Types.

  • <LayoutName> specifies the name of the homepage layout for the record type for this role.

<data:ListOfHomepageLayoutAssignment> 
  <data:HomepageLayoutAssignment>
    <data:RecordType>Homepage</data:RecordType>
    <data:LayoutName>My Homepage Custom 
     Layout</data:LayoutName> 
  </data:HomepageLayoutAssignment>
  <data:HomepageLayoutAssignment>
    <data:RecordType>Program</data:RecordType>
    <data:LayoutName></data:LayoutName>
  </data:HomepageLayoutAssignment>
  <data:HomepageLayoutAssignment>
    <data:RecordType>Partner</data:RecordType>
    <data:LayoutName></data:LayoutName>
  </data:HomepageLayoutAssignment>
  <data:HomepageLayoutAssignment>
    <data:RecordType>Account</data:RecordType>
    <data:LayoutName>My Custom Account 
     Homepage Layout</data:LayoutName>
  </data:HomepageLayoutAssignment>
. . .
</data:ListOfHomepageLayoutAssignment> 

Migrating Roles

The following topics provide examples of how to use the Oracle Migration Tool On Demand client to migrate roles:

Note: Back up your configuration data and all other relevant data before running the Oracle Migration Tool On Demand client.

    Extracting All Roles

    This topic describes how to extract all roles from your Oracle CRM On Demand environment (customer test environment or production).

    Syntax

    The following is the syntax for using the Oracle Migration Tool On Demand client to extract all roles:

    migrationtool -u UserID -s ServerURL ReadAll Role 
    

    where:

    • UserID is the user sign-in ID that has the appropriate privileges to run the Oracle Migration Tool On Demand client commands.

    • ServerURL is the URL for the Oracle CRM On Demand server where your company resides.

    Note: The Oracle Migration Tool On Demand client requests your Oracle CRM On Demand password, which can be redirected (using the pipe command) to the client program from standard input; that is, from a file, from the command line, or from another program.

    Example of Extracting All Roles

    The following is an example of extracting all roles from your Oracle CRM On Demand server:

    migrationtool -u UserID -s ServerURL ReadAll Role
    

      Updating or Inserting a Specific Role (Upsert)

      This topic describes how to update a specific role (if it exists) or insert the role (if it does not exist) in your Oracle CRM On Demand environment (customer test environment or production).

      Syntax

      The following is the syntax for using the Oracle Migration Tool On Demand client to update a specific role (if it exists) or insert the role (if it does not exist):

      migrationtool -u UserID -s ServerURL Upsert Role RoleXML 
      

      where:

      • UserID is the user sign-in ID that has the appropriate privileges to run the Oracle Migration Tool On Demand client commands.

      • ServerURL is the URL for the Oracle CRM On Demand server where your company resides.

      • RoleXML is the fully qualified path name of the role XML file, for example:

        C:\My Files\MyRole.xml
        
      Note: The Oracle Migration Tool On Demand client requests your Oracle CRM On Demand password, which can be redirected (using the pipe command) to the client program from standard input; that is, from a file, from the command line, or from another program.

      Example of Updating or Inserting a Role

      The following is an example of updating a role (if it exists) or inserting the role (if it does not exist) in your Oracle CRM On Demand server:

      migrationtool -u UserID -s ServerURL Upsert Role "C:\My Files\MyRole.xml"
      
      Note: Quotation marks are required only if the name contains spaces.