Configuring Development Goal Plan Using XML

Objectives

After completing this lesson, you will be able to:

  • Modify the General Settings for a Development Plan Template using XML
  • Configure standard and custom fields in a Development Plan template in XML
  • Set up Action and Field permissions in a Development Plan template using XML
  • Edit the Plan Layout of a Development Plan template using XML
  • Configure Development Plan Template switches
  • Configure the Competencies field

XML General Settings

XML Overview

The Development Plan XML gives you full configuration control, whereas Manage Templates in Admin Center gives you limited options. For example, do you want to add the Metric/Measure of Success or Milestones fields? This can only be configured through the XML. All items within Admin Center are also configurable within the XML. For example, the plan Start Date uses the XML element <obj-plan-start>. Some elements are easy to correlate while others can be challenging.

XML Attributes

Many of the General Settings attributes cannot be edited in the Admin Center and must be changed via XML. This section reviews some of those General Settings attributes that must be changed via XML.

General Settings Attributes

OptionValid ValuesDescription
Spellchk

true

 

false*

No longer supported; use browser’s spell check.

new-obj-share-status-public

true

Goals are created as a shared/public goal.

false*

Goals are created as private goals.

alerts-viewdefault

on

 

off

No longer supported.

pager-max-objs-per-page

number

No longer supported.

display-alignment-format

names

No longer supported.

goals

No longer supported.

use-text-for-privacy

true

Visibility field is available to indicate whether goal is public or private.

 false*

Hides the Visibility field.

max-goals

number

Sets the maximum number of goals that should be in a goal plan. (Note: this will not show on the goal plan unless the pager-max-objs-per-page is set to greater than 0.)

min-goals

number

Sets the maximum number of goals that should be in a goal plan. (Note: this will not show on the goal plan unless the pager-max-objs-per-page is set to greater than 0.)

max-weight

number

Sets the maximum total weight of all goals in a goal plan.

min-weight

number

Sets the minimum total weight of all goals in a goal plan.

max-weight-per-obj

number

Sets the maximum weight of each objective in a goal plan.

min-weight-per-obj

number

Sets the minimum weight of each objective in a goal plan.

Modify General Settings – XML

To edit the Development Goal Plan Template in XML, the template must first be exported from Provisioning. This is done in the Managing Plan Template area, under Import/Update/Export Development Plan Templates. Once the template has been exported, it can be opened in an XML editor to make changes.

Note
Be sure to leave the obj-plan-id as is. If this is changed, an entirely new Development Plan will be uploaded. Development plan IDs are in the following range: 2000-2999.

To learn how to edit template XML files, watch this video:

General Settings allow you to activate different features within your development plan template. One of those features is whether the goal is set as private (only the user can see the goal) or public (users with the appropriate permissions can see the goal). The visibility of goals is controlled by the new-obj-share-status-public and use-text-for-privacy attributes.

Goal Visibility Settings

new-obj-share-status-publicuse-text-for-privacyVisibility Field on Edit Goal Page*Result
TrueTrueField is VisibleGoal is public and the UI displays an indicator (Public)
TrueFalseField is Not VisibleGoal is public but the UI does not display an indicator
FalseTrueField is VisibleGoal is private and the UI displays an indicator (Private)
FalseFalseField is Not VisibleGoal is private but the UI does not display an indicator
  • Private Access and Share Action Permissions will also impact whether the Visibility field can be edited or is read-only.

The figure illustrates the view for both the XML and the Create Development Goal screen after defaulting a goal to Private and enabling the Visibility field.

Note
Private goals can only be viewed by the roles permissioned to see private goals. When using proxy, you will not see another user's private goals. Privacy is controlled by XML permissions and can be set to allow any permissioned role to see private goals.

Modify General Settings - Additional XML Settings

Text Replacement allows you to replace standard text for the "Instructions" attribute with custom text within the XML (note that the "I" at the beginning of the attribute is capitalized). If the instructions are not showing, choose the "Introduction" text on the Development Goal Plan Screen to toggle the text on and off.

Do not confuse this with the Text Replacement tool in Admin Center. All text replacement options can be found in the DTD objective-template_4_0.dtd and are added via the text-replacement element. You can search the DTD for the term "Text-Replacements" and you will find the list of options.

The figure below illustrates the XML code and the Development Plan view showing examples of XML-based text replacement.

Note
The instructions, as seen previously, can be edited via the Admin Center, but they can also be changed in XML.

Modify Development Plan General Settings in XML

As a consultant, you are asked to modify the Development Plan general settings in XML.

Steps

  1. Export the latest version of the Development Plan XML from Provisioning.

    1. Navigate to Provisioning and select the Company ID. Then navigate to Managing Plan Template, select Import/ Update/Export Development Plan Templates, export the THR95 Development Plan template, and open it in a preferred XML Editor.

    2. Save the file with a v1 to start tracking versions.

    3. Validate the file against the DTD (objective-template_4_0.dtd) provided with your Course files. You may need to copy the DTD file into the same folder as the template file, or add a path to the DTD reference in the XML.

  2. In the Development Plan Template enable the Visibility field to choose if goals are public or private.

    1. Change the new-obj-share-status-public attribute within the XML from new-obj-share-status-public="false" to new-obj-share­ status-public="true"

  3. In the Development Plan Template add the ability to toggle the public/private indicator using the Visibility field.

    1. Change the use-text­ for-privacy attribute from use-text-for-privacy="false" to use-text-for-privacy="true"

  4. In the Development Plan Template add a new sentence: "Be as detailed as you'd like."

    1. Begin by locating <text-replacement for="Instructions">. Enter the sentence "Be as detailed as you'd like." before the last sentence starting with "For more details...".

  5. Validate the file against the DTD (objective-template_4_0.dtd) provided with your Course files. Save the file as a new version.

  6. Import the new file to Provisioning.

    1. Go to your company instance and then under Managing Plan Template go to Import/Update/Export Development Plan Templates.

    2. Select Choose File, browse to the location of the template file to select it, and then choose Upload.

    3. Test your instance by logging in as your CDPAdmin user.

    4. Verify your changes to the development plan in the front end. Check the Introduction section to make sure your new text appears.

    5. Create a new goal.

      • Go to Goals
      • Select Development Goal
      • Create a new goal from scratch
      • Goal name: Sample Goal
      • Goal Description: Sample Goal Description
      • Verify under the Visibility field that you see the text that reads: Public.
      • Purpose: Develop in Current Role
      • Status: On Track
      • Save and close

Configuration of Categories in XML

Categories are used to organize Development Goals, and they are set up using the category element. Within the category element, there must be a category ID and a category name.

The category ID appears in reports and can only be configured in the XML. The category name is what appears in the instance.

It is best practice to have the category ID and category name be as similar as possible. In addition, special characters should not be used in the category IDs. When a category is added from Admin Center, the system assigns an ID with the name "categoryX" where X is a numeric value. This ID should be edited in the XML to match the category name.

Note

Do not set the category ID to a number. Numbers are not intuitive when the customer is running reports. The category ID is case and space sensitive; using spaces is not recommended.

The <default-category> element

The <default-category> has the following considerations: 

  • There is only one <default-category> that can be configured as such in the XML template.
  • The <default-category> always comes after the last </category> defined in the XML template. This order is enforced by the DTD objective-template_4_0.dtd. After creating new categories you can delete the <default-category> element to control the order.
  • The <default-category> is optional and more frequently used in Goal Plans than Development Plans. 

Here’s an example of the <default-category> XML:

Code snippet

<category id="Goals">
<category-name>Current Goals</category-name>
</category>
<category id="ArchivedGoals">
<category-name>Archived Goals</category-name>
</category>
<default-category id="Default">
<category-name>Select Current or Archived Goals Category</category-name>
</default-category>
Expand

Configuration of Standard Fields in XML

Standard Fields

As discussed in previous sections, both Standard and Custom fields are available to be added to a Development Plan. Although adding fields is generally completed in Admin Center, both Standard and Custom fields can be added through XML.

Adding new fields through provisioning using XML follows a three-step process, because a couple of the steps that were performed automatically for you in Admin Center now need to be done manually in XML:

  1. Define the field.

    The <field-definition> element is used to define each development goal field. You must define all fields that are to be used in the plan.

    All development goal plan templates come pre-populated with several configured development goal fields.

    You can make additions, remove, or edit these fields according to customer requirements. There are many fields that you can add to the development goal plan.

  2. Permission the field.

    The <field-permission> section determines who can read (view) and write (edit) specific fields.

    For individual employee roles, fields can be hidden altogether with the none (no access) permission type.

  3. Add the field to the Layout.

    The <plan-layout> section no longer determines the layout of the development goal plan screen, but it’s still necessary to add fields to the layout.

The XML for a standard field follows a repeatable pattern. Here’s an example of the name field that we can break down to see the various attributes:

Code snippet
<field-definition id="name" type="textarea" required="true" detail="false" viewdefault="on" showlabel="false" default-calc-type="step" field-show-coaching-advisor="true" cascade-update="push-down">
<field-label>Goal</field-label>
<field-description>Goal</field-description>
</field-definition>
Expand

Fields in the goal plan are controlled by <field-definition> elements in XML. Each field has its own unique field definition and this, in turn, may have the following sub-elements and attributes.

Sub-elementDescription
<id>To define a field a unique field ID is required. The available IDs are listed in the Standard Fields table which follows.
<type>Every field ID has one or more "types." The type defines the style of data associated with the field. For example, an ID of "due" would accept data of Type "date" only.
<field-label>The field label that is displayed in the goal plan template, appearing next to the field in the instance. You can configure the field label to display whatever term the customer wants. If the customer has purchased and enabled language packs, you can configure additional field labels in multiple languages.
<field-description>The <field-description> element can be used to enter an internal comment. It does not display in the UI. These comments may be helpful to you or other developers working on the same field at a later date. You should always complete the description field so that Professional Services, Customer Success, or anyone else accessing your XML can easily understand the field information.
<default-value>The <default-value>  element can be used when a customer wants a field to be pre-populated with a specific default value. For example, the customer may want a default goal weight value of 10%. In the Create Performance Goal window, this value is then pre-populated, but can still be changed by the user.
Note
There is an exception to the <field-description> for the milestones and metric-lookup-table fields. In these cases, you can use the <field-description> to provide information to be used as a tooltip for the end users.

The Goal Field configuration interaction provides additional details on each step in adding a new field through XML.

Select the buttons to learn about Field Definition elements.

Field Definition Elements

Certain attributes are required for any field definition. For example, the id attribute and the type attribute must be defined or the file will fail to validate against the DTD. Some attributes are not required, such as detail or showlabel.

There is also one required child element: field-label . All other child elements are optional.

Additionally, the table Standard Fields lists details about commonly used Development Plan Standard fields. These can all be added through Admin Center.

Standard Fields

Field ID

Type

Typical Usage/Characteristics

name

text

textarea

enum

The name of the goal; sometimes relabeled as goal description. This is the only field that is required to be defined in a goal plan.

The maximum length allowed for this field is 500.

desc

text

textarea

enum

Use for a detailed goal description if the name is being used for a short description.

The maximum length allowed for this field is 4,000. The recommended length is 2,000.

metric

text

textarea

enum

Defines how a goal is measured, for example, success criteria.

The maximum length allowed for this field is 4,000. The recommended length is 1,000.

start

date

The start date of the goal. This is auto-populated with the date defined in obj-plan-due, but can be changed (if permissioned). It must be between the obj-plan-start element value and the obj-plan-due element value in the goal plan template.

due

date

The end/due date of the goal. This is auto-populated with the date defined in obj-plan-due, but can be changed (if permissioned). It must be between the obj-plan-start element value and the obj-plan-due element value in the goal plan template.

state

enum

text*

textarea*

The status of the goal; where the user is in the process. Typically presented as a drop-down list of values with colors to represent the status. Used in dashboard reports. Limited to 128 characters.

As of 2H 2023, you can use the trigger-completion configuration to specify what state triggers the completion of a goal.

comments

comment

Used to configure comments added to the goal. The comments will include the name, owner, and date-stamp of the comment entry.

The maximum length allowed for this field is 4,000. The recommended length is 1,000.

purpose

enum

text*

textarea*

The purpose of the goal. Typically presented as a drop-down list of values with colors to represent the purpose of the goal.

competency

competencies

Pulls in competencies based upon job code, library, category, or other specified characteristic. More details about competencies are provided in a separate topic.

Only available when Talent Intelligence Hub (TIH) or Job Profile Builder (JPB) is enabled, both competencies and skills are available when TIH is enabled.

Field Types

The table Field Types shows a list of available field types. It is important to remember that Standard fields are limited to a predetermined set of field types. Custom fields typically use text, textarea, enum, date, or percent.

Field Types

Type

Description

comment

Configures the layout and permissions for public comments.

competencies

Configures the layout and permissions for competency links.

date

Date (MM/DD/YYYY).

enum

Enumerated type (shown as a drop-down list). enumfields, beyond the status field, will not display any background or text color as configured in Manage Templates. The maximum enumvalues possible are limited to 20.

number

A number value.

percent

Percentage (rounded to the next whole number; have % appended).

rating

The rating of the goal; used for configuring a metric-lookup-table.

table

A table of data; fields have a specific set of allowed table-columns.

text

One line of text.

textarea

Multiple lines of text.

While all of these field types are available in XML, not all of them are available when adding fields through Manage Templates in Admin Center.

Other Standard Fields

Similar to Goal Management, other standard fields can be configured on the Development Plan. These are standard fields that cannot be added through Manage Templates in Admin Center, they need to be added through the XML. For example, if the customer wants the user to add milestones to each of their goals. The milestones field is a non-Admin Center Standard field.

Here are some other standard fields:

Other Standard Fields

Field ID

Type

Label (these can be modified)

Typical Usage/Characteristics

weight

enum

percent

text*

textarea*

Weight

The weight of the goal in the goal plan. The value in the field will also be used to auto-populate the objective weight in the PM form. If configured as enum, the value (not the label) is used in the form. If configured as text, the text value entered is used verbatim.

milestones

table

Milestones

A table of individual milestones towards achieving the goal.

XML-only Attributes

To make changes to attributes not available in Admin Center, locate the desired element, and make the change. For example, if you want the field to be a required field, change the required code. Required fields are indicated with an asterisk (*).

The table describes additional <field-definition> attributes and can be saved for reference.

AttributeValid ValuesDefault ValueDescription
requiredtrue, falsefalseIf true, a red asterisk (*) appears next to the field and the user is required to complete the field. If false, the user can leave the field blank.
detailtrue, falsefalseThis attribute is not supported with latest goal management; leave as default.
viewdefaulton, offonThis attribute is not supported with latest goal management. With legacy, it controls the default display view of the field on the Development Plan.
showlabeltrue, falsefalseThis attribute is not supported with latest goal management. With legacy, field labels are not displayed by default when view­ing goals in the goal plan, but they are always dis­played in the goal edit window. If the goal plan col­umn headings are adequate in representing the fields displayed, field labels may not need to be displayed. However, consider displaying field la­bels for fields that are not in the first row of the goal plan, especially if the fields in those rows are not the table fields.
reportablefieldXn/aDetermines which custom fields are available in the Goal List report. XML reads as reportable="fieldX" where "fieldX" is field1 — field20. For example, if the customer wanted a custom field to be reportable, the XML would read reportable="field1" (or other available number 1–20). Up to 20 fields can be designated as reportable across an entire company. Refer to the objective-template DTD for more details. This attribute can ONLY be configured in the XML and it is not available in Manage Templates.
field-show-coaching-advisortrue, falsefalseIf true, the link to the Coaching Advisor will display above the field. Only applies to field type "textarea".
spellchktrue, falsefalseThis feature will reach End of Maintenance on May 17, 2024 and will be Deleted on November 15, 2024.
trigger-completiontruen/aThis attribute applies to the Status field (Field ID state) only, and will appear as true only when a value is selected for the Trigger Completion option. It will be added to the value that has been selected for the Trigger Completion.

For clarity, avoid using DTD defined attributes like "type" or "id" as the literal values inside quotation marks. Doing so could cause confusion among developers and administrators.

There are additional field options, which can be found in the Career Development Planning Implementation Guide: Goal Plan Template Elements and Attributes

Configuration of Custom Fields in XML

Custom Fields

We have already seen that custom fields can be added through Admin Center. They can also be added through XML. For custom fields, the Field ID and Field Type are determined by the customer. It is important to decide if custom fields need to be reportable (only custom fields need this attribute. All standard fields are reportable by default).

Field ID

Type

Typical Usage/Characteristics

custom field

text

textarea

enum

date

percent

You have the option to define and report on custom fields that are defined in your goal plan. These are goal field types that are not listed in the DTD. Because they are not listed in the DTD, you can make up your own field ID to reflect what information will be gathered and stored by the field.

Add Custom Fields via XML

The figure below shows adding the custom field done (% complete).

Note
The reportable attribute must be included for reportability on several reports, including Ad hoc reports.
Note
Remember, adding custom fields can be completed in Admin Center, but reportability is an XML-only attribute. The above could be an example of first adding in Admin Center and then including the reportable attribute in XML.

Configure Development Plan Fields in XML

As a consultant, you are asked to configure the field settings in XML for your development plan.

Steps

  1. Export the latest version of the Development Plan XML template from Provisioning.

    1. Navigate to Provisioning and select your Company ID. Navigate to Managing Plan Template and select Import/Update/Export Development Plan Templates.

    2. Export the latest version of the THR95 Development Plan template using the red arrow on the right side of the screen.

    3. Open the template in your preferred XML Editor and save the file to a new name and version, following the naming convention from previous exercises.

  2. After the last field definition code, add the metric field definition. Copy the code below. You may need to delete some carriage returns after the code is copied to validate your XML.

    Code snippet
    <field-definition id="metric" type="textarea" required="false" detail="false" viewdefault="on" showlabel="true" field-show-coaching-advisor="false">
        <field-label>Measure of Success</field-label>
        <field-label lang="de_DE">Erfolgsmaß</field-label>
        <field-description>Measure of Success</field-description>
        <field-description lang="de_DE">Erfolgsmaß</field-description>
    </field-definition>
    Expand
  3. Make the custom field you added through Admin Center reportable.

    1. Add the attribute reportable to the field definitions similar to the following:

      Code snippet
      <field-definition id="done" type="percent" required="false" detail="false" viewdefault="off" showlabel="true" field-show-coaching-advisor="false" cascade-update="push-down" reportable="field1">
      <field-label>% Complete</field-label>
      <field-description>% Complete</field-description>
      </field-definition> 
      Expand
    2. Validate the file against the provided DTD (objective-template_4_0.dtd).

    3. Save your changes. Since you renamed the file earlier in the exercise, you do not need to rename it again.

  4. Import the new file to Provisioning.

    1. Navigate to ProvisioningImport/Update/Export Development Plan Templates.

  5. Test the changes.

    1. Log in as the Admin user and add a new goal. Although the metric field was defined in the XML, you did not permission the field or add it to the plan layout yet, so it will not be visible.

    2. Use Action Search to navigate to Manage Templates. Review your newly uploaded THR95 Development Plan template. Confirm that the metric/Measure of Success field does appear in the template right below the purpose field.

Setting up Action and Field Permissions

Action And Field Permissions

In addition to configuring fields on the Development Plan, the customer needs to decide which business roles are able to work with the goals and fields. Development Plan permissions are different than Role-Based Permissions, but both are used to grant access to users.

Role-Based Permissions allow access to the Development Goal Plan. Once users have access to the goal plan, all other permissions are governed by the XML plan permissions.

Development Plan Permissions Overview

When fields are added in Admin Center, permissions for that field are automatically added to all existing permission blocks. This may not be the desired behavior, so permissions must be further edited via XML.

When fields are deleted from Admin Center, the field and its permissions are removed.

When fields are added through XML, permissions need to be added to all existing permission blocks manually. The same is true when fields are deleted through XML.

The next sections discuss the process of editing two kinds of Development Plan permissions: Action permissions and Field permissions.

Action Permissions

Action permissions define the roles that have the ability to perform specific actions on a goal plan, such as creating goals or viewing private goals.

Note
Private access is an important and sometimes misunderstood concept. Privacy can mean different things to different people based on business context. So it is important to point out that private access can be granted to any role including the everyone (*) role. Typical configurations include access only to the employee (E) or access to the employee and employee's manager (EM). Private access configuration should be clearly communicated with employees to avoid any issues.

The above figure shows an example of the XML before permissions are modified (that is, no HR Rep) and after permissions are modified (that is, the HR Rep is included). In the after example, the HR Rep permission is represented by the EH role that is highlighted in yellow.

Modify Action Permissions - XML

The table All Permissions displays a list of possible action permissions.

Permission

Grants the Ability to:

"private-access"

See private/unshared goals.

"create"

Create goals in a goal plan.

"delete"

Delete goals from a goal plan.

"share"

Share/unshared (make public/private) goals.

Many customers like to keep development private. In this case, the "share" permission would need to be completely removed and goals should default to private in the General Settings area of the XML.

"create-row"

Create a row in a field type="table."

"delete-row"

Delete a row in a field type="table."

"move-row"

Move a row up or down in a field type="table."

"change-state"

Change the state (status) of the current goal.

Field Permissions

The <field-permission> element defines who sees and edits fields in the goal plan. Permissions are based on the relationship between the employees in the organization. Field permissions can only be configured in the XML template, not in Manage Templates.

Possible field permissions are as follows:

  • Read - the user with Read permission can see, but not edit the field. 
  • Write - the user with Write permission can see and edit the field. Write permission implies Read permission, so they do not have to both be set up.
  • None - the user cannot see (or edit) the field at all.
Note

None is the default permission (users have no permissions until Read or Write are assigned), so normally a None permission would not be necessary.

Field permissions exist in blocks that are read by the system from top to bottom, so a lower Read permission block could potentially override a higher Write permission block. Best practice is to place Read permissions above Write permissions in the code list.

The <field-permission> element consists of the following tags:

TagDescription
<description>Anything entered as <description> text is for your information only. It will not display to the end user.
<role-name>Defines which roles receive the permissions.
<field>Defines which goal fields this permission covers.

The above figure shows the before and after XML when a field permission is changed. The before examples shows two permission blocks (highlighted in yellow). In this example, no one can read or edit "metric" field because there is no permission for the "metric" field. The after example shows three permission blocks (highlighted in yellow). In this example: everyone can read the "metric" field, the roles E and EM can edit "metric", and the roles EM+ and EH can edit "comments".

Field Permissions - Note on Roles

Roles for Development Plan XML Permissions are the same as in Goal Management and the non-RBP data model.

Role Name

Description

*

Everyone

E

Employee

EM

Employee’s Manager

EMM

Employee’s Manager’s Manager

EM+

Employee’s Manager, all the way up the hierarchy

ED

Employee’s Direct Report

EDD

Employee’s Direct Report’s Direct Report

ED+

Employee’s Direct Report, all the way down the hierarchy

EMD

Employee’s Manager’s Direct Report (employee’s peers/co-workers)

EH

Employee’s HR Representative

TA

Talent Administrator

F

Form Reviewer (Goal access is restricted through a performance form only)

OP

Objective Parent (e.g., a project team lead’s goal that is aligned up from a team member’s goal)

OC

Objective Child (e.g., a team member’s goal that is aligned down from a team lead’s goal)

EP

All of the employee’s matrix managers

EX

An employee’s primary matrix manager

For a complete list of roles, see the following KBA: https://launchpad.support.sap.com/#/notes/2087940

Edit Permissions in XML

As a consultant, you are asked to edit permissions for your Development Plan.

Steps

  1. Export the latest version of the Development Plan XML from Provisioning and rename it following the naming convention from previous exercises.

    1. Navigate to ProvisioningImport/Update/Export Development Plan Templates.

  2. Give Goal Creation permissions to the Second Level Manager.

    1. This comes from the create permission in the Action permissions within the XML.

    2. Sample code is below in step 3 to help you set all action permissions.

    Note
    You can review a list of roles in the following KBA: https://launchpad.support.sap.com/#/notes/2087940
  3. Update the permission description to reflect your permission changes. The completed Create permissions will appear as follows:

    Code snippet
    <permission for="create">
        <description>
            <![CDATA[The following roles may create goals in a user's plan.]]>
        </description>
        <role-name><![CDATA[E]]></role-name>
        <role-name><![CDATA[EM]]></role-name>
        <role-name><![CDATA[EMM]]></role-name>
        <role-name><![CDATA[TA]]></role-name>
    </permission>
    
    Expand
  4. Make all fields readable by all roles (*). The completed Read field permissions code will appear as follows:

    Code snippet
    <field-permission type="read">
        <description><![CDATA[The following roles may read the following fields]]></description>
        <role-name><![CDATA[*]]></role-name>
        <field refid="name"/>
        <field refid="desc"/>
        <field refid="metric"/>
        <field refid="due"/>
        <field refid="start"/>
        <field refid="state"/>
        <field refid="competency"/>
        <field refid="purpose"/>
        <field refid="done"/>
    </field-permission>
    
    Expand
  5. Make the metric Measure of Success field writeable by Employee's Managers by adding the role EM.

    1. Add a new Write permission for the "metric" field.

      Code snippet
      <field-permission type="write">
          <description><![CDATA[The following roles may write to the following fields]]></description>
          <role-name><![CDATA[EM]]></role-name>
          <field refid="metric"/>
      </field-permission>
      
      
      Expand
  6. Make all other fields editable by the Employee.

    1. Make sure all fields are listed under the Write permission. The completed Write field permissions will appear as follows:

      Code snippet
      <field-permission type="write">
          <description><![CDATA[The following roles may write to the following fields]]></description>
          <role-name><![CDATA[E]]></role-name>
          <field refid="name"/>
          <field refid="desc"/>
          <field refid="metric"/>
          <field refid="due"/>
          <field refid="start"/>
          <field refid="state"/>
          <field refid="competency"/>
          <field refid="purpose"/>
          <field refid="done"/>
      </field-permission>
      
      
      Expand
    Note
    Notice how the Read permissions are listed first and the Write permissions are listed next. Remember, order counts with permissions.
  7. Save the file.

  8. Validate the file against the provided DTD (objective-template_4_0.dtd) and upload it through Provisioning.

  9. Test your changes. Edit one of your goals and confirm you cannot add a % complete, but you can add a metric/Measure of Success.

Editing the Plan Layout

Plan Layout Overview

With Latest Development Goal Plans, the plan layout does not actually impact the Development Plan screen. But at this time you need to have a plan layout in the XML file for it to validate and to upload the file in Provisioning. And the Plan Layout will be in any templates that you upgrade to LGM. The actual layout of the Latest Development Goal Plan screen cannot be changed.

Edit the Plan Layout - XML

As mentioned above, even though you can’t change the layout of the Latest Development Goal screen, at this time the Plan Layout XML needs to be in the template in order to validate the XML file. To edit the plan layout you would export the Development Plan XML to an XML editor, make any necessary changes, and upload the template to the instance.

When fields are added in Admin Center, they are automatically placed on the plan layout. XML-added fields are not automatically placed in the plan layout like they are in Admin Center.

Development Plan Configuration

Development Plan Configuration in Admin Center vs. XML

There are advantages and disadvantages to configuring development plans in either Admin Center or using XML. For example, configuring items in Admin Center prevents consultants from making any syntax errors. On the other hand, certain items can only be added using XML. Depending on the items you’re configuring, you’ll want to choose the more appropriate configuration method.

One strategy is to add as much as possible through Admin Center, and then complete the configuration in XML.

The table below lists some examples of advantages and disadvantages of both configuration methods.

Configuration in Admin Center vs. XML

 

Admin Center

XML

Fields

New fields are automatically added to Permissions and Plan Layout. Additionally, fields such as "enum" are easier to add (multiple values, color picker tool, etc.). Not all fields, nor all field options, can be added through Admin Center.

All fields and field options can be added with XML and validated against the DTD. Additionally, some XML editors provide code completion.

Switches

Only one is available in Admin Center (CPM).

All switches can be configured.

Category

Easy to add, but cannot control Category ID.

Complete control over Category ID.

Permissions

Cannot be directly controlled – new fields automatically added.

Complete control, but new fields must be added manually.

Plan Layout

Cannot be directly controlled – new fields automatically added.

Complete control, but new fields must be added manually.

Standard Comment Field

The standard comment field is used to store public comments for the goals. This field will always include the author's name and the time stamp when a comment is entered.

It is not possible to add this field in the Development Plan template from Manage Templates. The configuration is done in the XML. The field ID comments is in the plural form, whereas the field type comment is in the singular form:

Code snippet
<field-definition id="comments" type="comment" required="false" detail="false" viewdefault="on" showlabel="true" field-show-coaching-advisor="false" cascade-update="push-down">
   <field-label>Comments</field-label>
   <field-label lang="en_US">Comments</field-label>
   <field-label lang="fr_FR">Commentaires</field-label>
   <field-description>Comments</field-description>
   <field-description lang="en_US">Comments</field-description>
   <field-description lang="fr_FR">Commentaires</field-description>
  </field-definition>

Expand

Like any other fields, the standard comment field has to be added to the Field permission in the Development Goal Plan Template XML. The comments can be added, edited, or deleted after the goal has been added using the Goal Details screen.

Add the Comment Field

As a consultant, you are asked to add a comment field to the Development Plan, using the threaded feedback format.

Steps

  1. Export the latest version of the Development Plan XML from Provisioning, rename it by adding a new version number, and open it in a preferred XML Editor.

    1. Development Plan template XML can be found in Provisioning under the section Managing Plan Template. The link is called Import/Update/Export Development Plan Templates.

  2. After the last field definition code add the Comment field definition. If the file does not validate, check for extra carriage returns in the text.

    Code snippet
    <field-definition id="comments" type="comment" required="false" detail="false" viewdefault="on" showlabel="true" field-show-coaching-advisor="false"> 
        <field-label>Comments</field-label>
        <field-label lang="de_DE">Kommentare</field-label>
        <field-description>Comments</field-description>
        <field-description lang="de_DE">Kommentare</field-description>
    </field-definition>
    
    Expand
  3. Add the Comment field to the Write Field Permissions.

    Code snippet
    <field-permission type="write">
        <description><![CDATA[The following users have write permission]]></description>
        <role-name><![CDATA[E]]></role-name>
        <role-name><![CDATA[EM]]></role-name>
        <field refid="comments"/>
    </field-permission>
    
    Expand
  4. Save the file with a new version number.

  5. Validate the file against the provided DTD (objective-template_4_0.dtd).

  6. Import the new file to Provisioning.

    1. Navigate to ProvisioningImport/Update/Export Development Plan Templates.

  7. Test the changes.

    1. Log into the instance using the CPDAdmin login.

    2. Select the business writing goal to view the details. Add a new comment (below Activities) and save it. The new comment should appear below the blank comment field.

    3. Proxy as manager Felicia Ford and navigate to GoalsDevelopment Goal. Change to your goals by selecting your name from the people list on the left.

    4. Select the goal from step b and add a new comment. Two comments should now be listed.

    5. Edit the goal and enter a number into the % complete field. Save your changes.

    6. Select Become self under the User Menu to return to your admin user.

Competencies Field Configuration

The "competencies" field type links development goals to one or more competencies or attributes that the employee is trying to develop.

Code snippet
<field-definition id="competency" type="competencies" required="false"  detail="false"  viewdefault="on"  showlabel="false" field-show-coaching-advisor="false">
    <field-label>Attributes</field-label>
    <field-description>Competencies</field-description>
    <field-format>use-competencies</field-format>
Expand

You can only have one "competencies" field per development plan, but you can have multiple skills or competencies added to a goal using that single field. And that "competencies" field can have a label of "Attributes" because both competencies and skills can be added to a goal.

Using Behaviors as Attributes

To use behaviors in the Competencies field instead of competencies, set the field-format tag (within the field-definition block) as follows: <Field-format>use-behaviors</ field-format>.

The competencies field will then list behaviors within their parent competencies.

Only the competencies that have behaviors are shown, and skills are no longer shown. You can select behaviors under the parent competency when creating a development goal. The competencies field then lists the selected behaviors.

If you had competencies and skills in a goal and you change the XML to use behaviors, all previous skills and competencies will be removed from the Competencies/Attributes field.

Note
Search the objective-template DTD and the CDP Configuration Guide for more details on the <field-format> tag.

Defining a Competencies Source

The Development Plan template uses a set of specific competencies by adding filters inside the XML template. To include competencies from any of the following, you can add a <competency-filters> tag that defines the sources of competencies that the Development Plan will use. These are:

  • Forms
  • Roles
  • Categories
  • Libraries
  • Exclude hidden competencies
  • Exclude skills & questions

Below are some examples of the <competency-filters> tag:

Source of Competencies:

Forms and Roles: No configuration

Forms

Note
There are some cases when custom competencies will not immediately appear as options to be selected using a competency browser. See the following KBA for more details: https://launchpad.support.sap.com/#/notes/2259810

Also see the CDP Implementation Guide: Linking Development Goals to Competencies | SAP Help Portal

Code snippet
...
</default-category>
<competency-filters>
<exclude type="roles"/>
</competency-filters>
<field-definition ...
Expand

Roles

Code snippet
...
</default-category>
<competency-filters>
<exclude type="forms"/>
</competency-filters>
<field-definition ...
Expand

Roles, except hidden competencies

Note
Hidden competencies are those competencies that have their status set to Hidden. This is set in each competency definition.
Code snippet
...
</default-category>
<competency-filters>
<exclude type="forms"/>
<exclude type="hidden"/>
</competency-filters>
<field-definition ...
Expand

A specific category

Code snippet
...
</default-category>
<competency-filters>
<exclude type="forms"/>
<exclude type="roles"/>
<include type="category" match="category name"/>
</competency-filters>
<field-definition ...
Expand

A specific library

Code snippet
...
</default-category>
<competency-filters>
<exclude type="forms"/>
<exclude type="roles"/>
<include type="library" match="library name"/>
</competency-filters>
<field-definition ...
Expand

Multiple categories

Code snippet
...
</default-category>
<competency-filters>
<exclude type="forms"/>
<exclude type="roles"/>
<include type="category" match="category name A"/>
<include type="category" match="category name B"/>
</competency-filters>
<field-definition ...
Expand

A specific category of a specific library, except hidden competencies

Code snippet
...
</default-category>
<competency-filters>
<exclude type="forms"/>
<exclude type="roles"/>
<exclude type="hidden"/>
<include type="category" match="category name" library="library name"/>
</competency-filters>
<field-definition ...
Expand

Log in to track your progress & complete quizzes