Implementing Goal Management en
Implementing Goal Management en
Management
SuccessFactors, May 2014
Table of Contents
1 Change History. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7 Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.1 Settings for SuccessFactors in the Home Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.1.1 Goal Management Module Permission (RBP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.1.2 Goal Management Module Permission (Standard Permissions). . . . . . . . . . . . . . . . . . . . . . . 91
7.2 Roles in Goal Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.3 Action Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.4 Field Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
7.5 Cascader Role. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99
7.6 Table Field Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
7.7 Table Column Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
7.8 Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
7.9 Goal Execution Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.10 Goal Plan States. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.10.1 Locking and Unlocking of a User's Goal Plan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.10.2 Change Locked / Unlocked State on Form Routing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8 Setting up the Goals Management Home Page Tile without RBP. . . . . . . . . . . . . . . . . . . . . . . . . 111
Setting up the Goals Management Home Page Tile with RBP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
SuccessFactors Goal Management helps organizations ensure that all employees are aligned and working on the
things that matter most so that the organizations can bridge the strategy and execution gap and stay on the path
to success.
● Goals Library of more than 500 SMART (Specific, Measurable, Attainable, Realistic, and Timely) goals
provides instant recommendations
● Goals can be reinforced everyday with intuitive updating of effort, success probability, and comments
● Managers can set cascading goals and see individual, team, or company-wide progress
● Compliance is improved by providing evidence of an objective review process. Plus, Legal Scan helps facilitate
compliance with Sarbanes-Oxley and other regulations
Goals in Goal Management (GM) may be used on a stand-alone basis with no other SuccessFactors modules,
although typically customers purchase both Goal Management and Performance Management (PM). Goals
entered into GM may be auto-populated onto a PM form (and this is typical).
Resources for Configuration - DTD The DTD file is another good source of reference. If you have access to the
corporate intranet, you can download the latest DTD (document type definition) file which defines the structure
and syntax. It can be accessed from the Partner Portal or, from the company intranet at http://cvs/
viewcvs/V4/src/com/sf/dtd. The objective-template.DTD is used for TGM, IDP, Learning Activity and Career
Worksheet.
To help you with your implementation, we recommend following this proven formula. This formula is based on PS
expertise. We strongly recommend you follow this sequence for the first few implementations and discuss any
variations with your team lead.
1 Set up Goal Management in Provi The initial configuration tasks to set up Goal Management.
sioning For more information see: Turning on Total Goal Manage
ment in Provisioning
2 Download and Configure Goal Plan Download the Goal Plan Template which is used to define
Template the fields and sections your users will fill out for their goal
plans. You import the template, review and carry out itera
tive edits on the XML. For more information see:
3 Define Goal Categories Create goal categories, which are used to segment the goal
plan. For more information see: Defining Category and De
fault-Category [page 30]
4 Define Goal Fields and Actions Define goal fields and actions including names, start date,
metrics, and so on. You configure the visibility and function
of those fields and actions.For more information see: Goal
Plan Template Options [page 17]
5 Define Sub-tables: Targets, Tasks, Define the sub-tables for the goal field definitions. For more
Milestones, Comments information see: Defining Goal Plan Fields [page 34]
6 Define Goal Visibility Set up goal visibility, which determines whether goals are
public or private. CSV File Format [page 63]
7 Define SMART Goal Wizard Enable the SMART Goal Wizard, if required. For more infor
mation see: Goal Wizard Option [page 31]
8 Define Goal Execution You can use goal execution to take your large, strategic
company goals and break them down so that your employ
ees understand how their daily tasks connect with your
overall strategy. For more information see: Enabling Goal
Execution [page 75]
9 Set up Goal Library Mapping Define a goal library which can be used to create individuals
goals. For more information see: Mapping of Goal Library
Content to Goal Plans [page 120]
10 Set up Goal Alignment Goal Alignment creates the connection, sometimes called
linkage, between goals on the goal plans of people through
out a company.
11 Set up role based permissions Set up the authorization concept of role-based permissions.
For more information see: Permissions [page 85]
12 Set up field and action permissions The field and action permission definitions specify who gets
to see certain fields and actions, read and edit them. You
define and configure read, write, or no permission to fields
and actions on the Goal Plan by relationship to the subject
of the form. For more information see: Permissions
13 Define Goal Plan and Form Layout Define the Plan Layout, which controls how the fields look in
Goal Management – on the Goal Plan itself. In addition, the
Form Layout controls how the goal fields will appear in the
Performance Management form, if goals are pulled from the
goal plan into the PM form. For more information see: Defin
ing Goal Plan Fields [page 34]
When you turn on TGM for a customer, you are turning on TGM for the entire company. That is, any user
accessing the "goals" or "objectives" hyperlink, or tab within the application will invoke the Total Goal
Management module.
1. Log in to Provisioning.
2. Select the company for which Total Goal Management should be enabled.
3. Under Edit Company Settings, select Company Settings.
4. Check the box next to Goal Management Suite and select Total Goal Management in the drop down list, and
My Goals Tab.
5. Optionally, if the customer prefers the term goal instead of objective, select Goal in the drop down list next to
the option to Change Objective into.
Note
This is for US English only, and does not apply to other languages.
When you turn on TGM for a customer, you must also import a goal plan template for the company. Otherwise,
when a user tries to access TGM, an error will be displayed in the browser.
Currently, there is no interface in Provisioning that allows you to edit the XML of a goal plan template. You must
create and edit your goal plan templates using an XML editor and import/re-import the goal plan to see your
changes. Details for configuring the goal plan template in an XML text file are described in this configuration
guide.
To import/re-import a goal plan template for a select company, follow these steps:
1. Log in to Provisioning.
2. Select the company for which the goal plan template should be imported.
3. Under the Managing Plan Template section, select Import/Update/Export Objective Plan Template.
4. Browse and select the goal template file that you prepared.
5. Click Upload.
Note
when importing a modified goal plan template over an existing one, your changes are generally reflected in the
application right away, even if goals already exist within that goal plan.
When multiple goal plans are imported into an instance, you can select the radio button (as shown in the
screenshot above) to specify which plan is rendered by default when you invoke TGM.
If more than one plan is active at a time, users will see a drop down list in TGM so that they can switch between
plans.
You export a goal plan on the same page in Provisioning that you imported a goal plan.
To export a goal plan template for a select company, press the icon under the Export column. Although
Provisioning offers the capability of exporting goal plan templates, you may still want to consider maintaining a
source copy of your template in a file. The primary advantage in doing so is to preserve any comments that you
may added to date and track updates that you make to the template (for example, a change log) or to preserve
comments in the template that help distinguish one section from another.
Note
Comments are stripped from the goal plan template when you import the template and hence any templates
that you export will not include your comments.
You can copy goals between goal plans as well as export the goals from a particular goal plan.
You can enable the wizard for copying goals between goal plans from Provisioning using the TGM/CDP Objective
Transfer Wizard setting.
A user can export the goals from a particular goal plan page based on the permissions configuration.
In order to do this we need to add a new action permission "export-goal" in the goal plan template. The
configuration is as follows:
<permission for="export-goal">
<description><![CDATA[ Employee and Employees' manager can export the goals from
the objective plan.
]]></description>
<role-name><![CDATA[EM]]></role-name>
<role-name><![CDATA[E]]></role-name>
</permission>
My Goals view allows you to filter your goal list to view the goals that are most important to you.
All you have to do is pick the date range or goal status you want, and the Goal Plan instantly refreshes to display
only those goals. So you see only what you want to see. Then you can work with the goals just as you always did.
Or, you can take a look at the two status charts to get a fast visual summary. When you want to see the entire Goal
Plan again, just click See All Goals and all the goals display on the Goal Plan.
The goal summary feature adds another section to the goals page called Summary.
Configuration Information
To enable the goal filtering option, include the following XML in your TGM template: <summary-section
filter="true"/>
The existing issue: if goal summary is enabled, goals added outside the Goal Plan date range will not display in the
plan, so users do not have a way to edit or correct the goals/dates.
Example
1. Visible Goals
a. If we create a goal with start date as 12/01/2014 and end date as 05/01/2017, it is visible as the end
date is overlapping with the date range specified in the template.
b. If we create a goal with start date as 04/03/2014 and end date as 05/01/2016, it is visible as the start
date is overlapping with the date range specified in the template.
c. If we create a goal with start date as 04/03/2014 and end date as 05/01/2015, it is visible as both the
start and the end date are overlapping with the date range specified in the template.
2. Not Visible Goals
a. If we create a goal with start date as 04/03/2010 and end date as 05/01/2011 it is not visible, as both
the start and the end date are outside the date range specified in the template
b. If we create a goal with start date as 04/03/2020 and end date as 05/01/2021 it is not visible, as both
the start and the end date are outside the date range specified in the template
A switch was added to switch on/off the date filter function. The user may list all goals with this switch, regardless
of whether or not it is in or out of the date range of the current goal plan.
Disable Date Range Filter check box in the goal summary section:
Default Setting (date range filter enabled)- note that the goals displayed are within range:
There are three standard goal activity email notifications that are configurable for each goal plan.
1. Goal Creation Notification will be sent to a user when an goal was created for him/her.
2. Goal Delete Notification will be sent to the goal owner when the goal was deleted by another user from the
goal plan.
3. Goal Modification Notification messages are sent every 24 hours if changes were made to public goals on
the user's goal plan. The message includes created, modified, and deleted goals. Users are not notified of
Many of the behaviors of the Goal Management Product are configured through the Goal Management Template.
The goal plan template is specified in an XML file.
● File header
● Template Configuration Options containing Objective Plan Data including:
○ a goal plan id
○ an internal goal plan name
○ an optional goal plan description
○ a last-modified date
○ a goal plan start date
○ a goal plan due date
● an option to automatically number goals
● an option to define goal categories and a default / catch-all category
● an option to use the Goal Wizard
● options to replace text
● an option to use a goal library
● definition of the fields to be used in the goal plan and the order in which they are displayed
● permission settings for modifying a goal plan
● definition of the goals on a PM form layout
When you download the DTD from Provisioning, you get a file that already contains the file header for you to work
with.
The first line of the XML file declares the DTD for the SuccessFactors Objective Management 4.0 deployment
descriptor. All such deployment descriptors must include a DOCTYPE of the following format:
1. Download the corresponding DTD file and put them both in the same folder on your desktop.
2. Open the XML file in an editor, and swap out this chunk of text:
http://cvs/viewcvs/V4/scr/com/sf/dtd/objective-template_4_0.dtd
to replace it with the name of your DTD file that you've saved in the folder on your desktop. For example:
objective-template_4_0.dtd
For more details on how to configure TGM goal plan templates, refer to the objective-template_4_0.dtd. To
access the latest DTD file, depending on whether you are a partner or an internal user, use either of the following
paths:
There are various additional attributes that you can add into the <obj-plan-template>. To find these attributes
and put them in the correct order, refer to the DTD (objective-template_4_0.dtd - see topic “File Header”
for more information.)
In the DTD, the <!ELEMENT <obj-plan-template> area tells you the order the larger sections should be in, and
the <!ATTLIST obj-plan-template tells you all the possible attributes that can be in the <obj-plan-template>
section and in which order they have to be in.
Table 1: The obj-plan-template element is the root element of the objective template descriptor. It contains
the following sub-elements:
Sub-element Description Additional information
obj-plan-id The unique number that identifies Numbers are assigned as follows:
the goal plan
● 1 - 1000 for TGM
● 2001 - 3000 for IDP
obj-plan-name Name of the goal plan This name appears in the UI. The
user selects the name in a drop
down list box.
add-wizard Option to use the Goal Wizard For further information see Goal
Wizard Option [page 31]
text-replacement Option to replace text See Example below for text replace
ment XML
obj-library Option to use a goal library For further information see Mapping
of Goal Library Content to Goal
Plans [page 120]
category Option to define goal categories For further information see Defining
Category and Default-Category
[page 30]
default-category Option to define a default / catch-all For further information see Defining
category Category and Default-Category
[page 30]
field definition permission A list of general permissions For further information see Defining
Goal Plan Fields [page 34]
field-permission A list of goal field permissions For further information see Defining
Goal Plan Fields [page 34]
plan-layout The goal plan layout specification For further information see Defining
Goal Plan Fields [page 34]
form-layout The goals that appear on a PM form For further information see Defining
layout Goal Display for PM Forms (v11 only)
[page 46]
This table describes optional attributes that you can specify in the <obj-plan-template> tag.
spellchk true a Spell Check button ap false - if option not speci
pears next to the Save fied
Changes and Cancel but
tons underneath each goal
being created
new-obj-share-status- true any new goals are created false - if option not speci
public as shared / public goals fied
Note
The onscreen alert is a
yellow triangle icon that
appears next to a goal
plan to indicate one of
the following events oc
curred:
● Goal is aligned to
another goal by an
other user
● Goal is modified by
another user
● Aligned up goal is
modified by goal
owner
● Aligned up goal is
deleted by goal
owner
● Aligned up goal is
unaligned by an
other user
● Aligned down goal
is modified by goal
owner
● Aligned down goal
is deleted by goal
owner
Example
XML Example:
Example
Text replacement:
</obj-plan-numbering>
<text-replacement for="Instructions">
Example
The following screenshots show the effect of the more-details-child-format option:
● more-details-child-format=original:
● more-details-child-format=goal-plan:
Example
Related Information
Use the obj-plan-numbering element if you want to have goals automatically numbered in the goal plan.
If goal categories are defined, the first number segment always reflects the ordinal position of the goal category.
Note
Omit the obj-plan-numbering element entirely, if your customer does not want to have automatically
numbered goals in Goal Management.
If you want goal numbering enabled, you must include at least one line of obj-plan-number-format code,
similar to the following example. This example numbers the goals as 1.1, 1.2, 1.3 and so on (assuming you have one
goal category).
<obj-plan-numbering>
<obj-plan-number-format>#.</obj-plan-number-format>
</obj-plan-numbering>
Two lines of code make the goals automatically numbered in the format 1.1, 2.1, 2.2, as in the following example:
<obj-plan-numbering>
<obj-plan-number-format>#.</obj-plan-number-format>
<obj-plan-number-format>#.</obj-plan-number-format>
</obj-plan-numbering>
If you only have two lines like the above you are essentially disabling users from being able to "indent" goals. The
buttons to left indent or right indent a goal do not appear in the set of mouse action buttons.
To enable users to indent goals to one or more levels, you must have a minimum of three code lines. For example:
<obj-plan-numbering>
<obj-plan-number-format>#.</obj-plan-number-format>
<obj-plan-number-format>#.</obj-plan-number-format>
<obj-plan-number-format>#.</obj-plan-number-format>
</obj-plan-numbering>
This XML automatically numbers goals in the plan and allows a maximum indent level of one, e.g. 1.1.1. If goal
categories are defined the first number segment always reflects the ordinal position of the goal category.
The XML illustrated above automatically numbers goals in the plan as follows:
1.1
1.1.1
1.2
1.2.1
Users are also able to left indent or right indent the goal by using the arrow buttons in the goal plan:
Attributes can be set to specify weight rules and count rules at various levels within the plan.
Not all of the attributes are included in the default XML template. To find additional required attributes and the
correct order, refer to the DTD (objective-template_4_0.dtd - see topic “File Header” for more information.)
When adding attributes for Objective Weight Rules and Objective Count Rules, it's important to ensure that the
elements are in the correct order. The following XML example shows the new attributes in the order that they can
be included.
Example
Related Information
Minimum and maximum weights can be set per objective, per category or per plan.
● Min/Max for the sum of all goal weights in the goal plan
● Min/Max for the sum of all goal weights in a category
● Min/Max supported weight value for an individual goal
In order to display the goal plan level weight total you have to define either a min or max for total goal plan weight.
If you don't want to have a min or a max, set the value to a large number so it won't be reached (e.g. max-
weight="9999").
Related Information
You can configure a min/max weight rule for the sum of all goal weights in the goal plan.
The attributes to control this are found under the main <obj-plan-template> element and are:
● max-weight
● min-weight
(For more information see “Objective Weight Rules and Objective Count Rules”.)
Related Information
You can configure a min/max weight rule for the sum of all goal weights in a category.
The attributes to control this are found under the <category> element.
Caution
Category level support for min/max weights only works when categories are defined as elements and not when
categories are defined as field definitions.
Example
Define that for the Financial category, goals should have a total min weight of 25% and a total max weight of
50%
You can configure a min/max weight rule for the weight value for an individual goal.
The attributes to control this are found under the <obj-plan-template> element. (For more information see
“Objective Weight Rules and Objective Count Rules”.)
Example
Each goal must have a weight between 5% and 50%
Related Information
Min/max objective counts can be configured at both the goal plan level and the category level.
● max-goals
● min-goals
(For more information see “Objective Weight Rules and Objective Count Rules”.)
● max-goals
● min-goals
Caution
Category level support for min/max objectives only works when categories are defined as elements and not
when categories are defined as field definitions.
Tip
● The plan level and category level objective counts are independent of each other, which means that it's
possible to set conflicting limits (for example, plan max is 5 goals and category max is 10).
● Category objective count is only supported when categories are defined as elements.
● The validation provides “soft” warnings and not strictly enforced errors (in other words, nothing stops the
user from exceeding the limits configured).
● Goal plan min/max has a dependency on goal plan pagination (in other words, pager-max-objs-per-page
has to be greater than 0). Otherwise, the min/max does not show up.
The elements for category and default-category are used to determine sections of an objective plan to
which the objectives are allocated.
The category element defines a top-level category used to segment an objective plan. If one or more category
elements are present in the template, the objective plans based on the template are divided in sections according
to the categories defined. If no category elements are defined, the objective plan is not divided into sections.
The default-category element defines the "default" or "catch-all" category. Any objective not matching one of
the explicitly defined categories is placed in this category.
● If no category element is defined, the objective plan is not divided into sections.
● For each category element, there must be at least one category-name element.
● There must be one category-name element without a locale, to define the default localized name.
● To have a category pull-down element in the objective plan, and not divide the plan into sections, define a field
with the name category.
Note
Do not include category elements and a field called category in the same objective template.
● Note that the order of the category elements is significant: it defines the order of the sections in the goal
plan.
● The & character is not supported in category id: to display it in the goal category label on the plan, use "&".
● The position of the default-category element must be after the last regular category end-tag in the XML.
The file will be invalid if default-category is inserted in between the category elements.
Table 3: Sub-elements
Attribute Description
id The id attribute defines the internal name used to store
and identify the category. This name should not be lo
calized.
Example
XML Example showing category and default-category:
<category id="Customer">
<category-name>Customer</category-name>
</category>
<category id="Financial">
<category-name>Financial</category-name>
</category>
<category id="Learning and Development">
<category-name>Learning & Development</category-name>
</category>
<category id="Internal Business Operations">
<category-name>Internal Business Operations</category-name>
</category>
<default-category id="Other">
<category-name>Other</category-name>
</default-category>
Example
XML Example showing the lang attribute:
The optional add-wizard element provides a SMART goal wizard function in the goal plan.
● You must have name, metric, start, and due fields defined in the goal plan template. Only these fields should
be required (required=true). It works better if you have just a name field and not name + description. Any
additional required fields will cause an error message on the last page of the wizard.
● Goal creators must include the E role, and must have read/write permission to these four fields.
● You must enable the goal library with it.
● The Goal Wizard is not yet localized.
Sub-elements:
Table 4: Sub-elements
Attribute Description
Include-goal-align Allows the the user to align the goal being added with
one of their manager's goals or group goals during the
Relevant step.
Example
</obj-plan-numbering>
<add-wizard mode="smart goal"/>
<text-replacement for="Instructions">
<text><![CDATA Use this worksheet to add or update goals. To quickly add a new
goal, click the Add goal
button, or browse the Hierarchy section to find an existing goal to add
to your plan]></text>
</text-replacement>
<field-mapping src-library-field-id="Data1" dst-field-id="metric"/>*
<field-mapping src-library-field-id="Name" dst-field-id="name"/>
</obj-library>
<category id="Customer">
Example
Goal wizard without goal alignment:
● All fields that are used in a goal plan must be defined in this section.
● The order that the fields are defined in dictates the order that they will be displayed in the goal plan details
page and the goal edit window.
● When you add a new field or remove an existing field from the goal plan template, you need to either add or
remove the field references in these sections of the template:
○ field-definition section
○ field-permissions section
○ plan-layout section
○ form-layout section
DTD Definition:
id Defines the internal name for the field, where the data
is stored in the database. The list of standard field ids is
shown below (in the table “Standard goal field ids”. In
addition you can define custom field ids.
field-label The field label that is displayed in the goal plan tem
plate. It can be configured to use whatever term the
customer wants.
Note
You should consider displaying
field labels for fields that are not
in the first row of the goal plan
(first row can be represented by
plan column headings), espe
cially if the fields in the non-first
rows are not the table fields
(tasks/targets/milestones).
It is important to determine what portlets will be used for reporting on goals. The Goal Status portlet uses the
status field.
state enum,(use text, textarea with care) Typically presented as a drop down
list of values with colors to report
the goal state or status. It is used as
such in dashboard reports. Limited
to 128 characters. Often labeled
"Status".
weight enum,(use text, textarea with care) The value in this field is used to
auto-populate the objective weight
when the goal is added to a PM
form. If configured as enum, the
value is used in the form not the la
bel, e.g. <enum-value value="3">; if
configured as text, the text value en
tered is used verbatim.
Special fields of type table are supported: Task, Milestone, Target, and Achievement Lookup.
A table field is a collection of fields that can be repeated for each goal. For example each goal may have several
Tasks or Milestones associated with it.
You can use Permission tags to control who can create, modify, or delete rows of a table within a goal plan (see
“Table Field Permissions”). You can also set access permission for individual table columns (see “Table Column
Permissions”).
due date
done percent
date date
Tables can be renamed. For example, you can relabel the <Task> table to be "Subgoals", "Activities", "Notes", etc.
The following columns are available for tasks, targets, milestones and members. The fields must be of the type
listed below. You may use any subset of the fields for each table. You cannot add custom fields to a table. The
order in which the fields are listed determines the order in which the fields display in the UI.
Columns can be arranged in any order. You can remove columns from the table structure if the customer does
not want all the task attributes that you see listed. The column types must match those in the Table fields table
shown. Text columns have a character limit of 2048 characters. The date and percentage columns cannot be
transformed to text fields. You can change the values in the label or description tags but you must not change the
ids that are referenced as these ids are recognized by the application.
table-column id This defines the internal name for the field .where the
data is stored in the database. The list of standard id
fields is shown above. You cannot add custom fields to
a table.
column-label This is the label that identify the columns that appear in
a table. It can be configured to use what ever term the
customer wants.
Enum Fields
A field of type enum allows you to specify a drop down list with all the possible values for the field.
enum-label This is the text that displays in the drop down list.
Custom Fields
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.
Define a custom field just as you would any of the standard fields. Custom fields can not be a table type field. They
must be of the following types: text , textarea, enum, date and percent.
Each custom field has an "id" attribute defining its internal name; a "type" attribute defining its type; and optional
"required", "field-show-coaching-advisor" attributes.
Note
(HR: JIRA (TGM-4897) - is this still applicable?
The sync process may add a ‘modify’ record to the audit trail of each goal, so it is important that the ‘Goal
Modification’ email be turned off for the duration of the sync process to avoid unwanted emails.
Table 11:
Attribute Description
reportable Determines which fields are available in the Objective
List report. At most, three fields across an entire com
pany may be reportable. If a company has more than
one objective template, all of the
reportable="field1" fields must have the same id
and be of the same type (text, date, enum, etc) across
all objective plans. For example, if you have weight
fields in two different objective plan templates, each
must have an identical id (field 1, 2 or 3). Field ID will
typically ensure that they are of the same field type.
You can configure to report on 20 fields across the en
tire application.
Custom fields can be added using the OneAdmin Manage Templates tool.
The link data type allows a goal plan field to point to a link (see goal plan "Link Data" field below). This field does
not display in a Performance Review form.
When an employee creates a link in the field, clicking on the link will open a browser to display the link.
To create the link in the edit screen, the link's label and URL must be specified.
Comments Fields
A field of type comments includes the username and a date stamp for when the comment was entered.The field
becomes read-only after it is entered.
Example
XML Example: standard field
Example
XML Example: table field
Example
XML Example: enum field
<field-
definitionid="state"type="enum"required="false"showlabel="false"viewdefault="on">
<field-label>Status</field-label>
<enum-valuevalue="none"style="background:white;color:black;">
<enum-label>none</enum-label>
</enum-value>
<enum-value value="Will meet target" style="background:green;color:white;">
<enum-label>Will meet target</enum-label>
</enum-value>
<enum-valuevalue="Don't know"style="background:yellow;color:black;">
<enum-label>Don't know</enum-label>
</enum-value>
<enum-value value="Will not meet target"style="background:red;color:white;">
<enum-label>Will not meet target</enum-label>
</enum-value>
<enum-value value="Goal completed"style="background:blue;color:white;">
<enum-label>Goal completed</enum-label>
</enum-value>
</field-definition>
Related Information
In the form-layout section, you define how information is displayed in the PM form.
In the goal plan xml there is an area called <form-layout>. This is used to control how the goal fields will appear
in the Performance Management v11 form, if goals are pulled into it from the Goal Plan.
Example
The following XML defines a layout for displaying information in the PM form (V11):
You can configure calculated fields, which provides a very powerful feature.
● Goal Score: Rating x Weight (See ???? for additional supported functionality to display category and goal plan
level Score totals)
● Run Rate: Actual / (Current Date – Start Date)
To get started, see the “Custom Calculation Example” topic, which shows examples of commonly calculated
fields.
In the “Custom Calculation DTD” topic you can find details of how to use the elements in custom calculations.
Descriptions of the calculations, functions and operators that can be used with these elements are provided in the
topic “Calculations, Functions and Operators”.
There are also special case topics on “Goal Plan and/or Category Score Total” and “Sub-goal Calculated Rating”.
● Defining calculation
● Logical & comparison operators
● Table results
Example
Defining Calculation
Use Case: Define a calculator that will calculate the run rate for a goal. Actual / (today - start date) represented
in months
<calculator id="runRate">
<![CDATA[actual_achievement/FUNC.diff(NOW, start, MONTH)]]>
</calculator>
<auto-population field= "run-rate" mode= "auto">
<rule><calculated-result calculator-id= "runRate"/></rule>
</auto-population>
Example
Logical & Comparison Operators
Use Case: Define the probability of success for a goal based on the percent achievement (actual/target). If %
achievement is greater than 75%, then probability of success is High. If % achievement is between 45% and
75% then probability of success is Medium. Anything less than 45% is Low.
Example
Table Results
Use Case: Instead of calculating a field based on values from other fields, this use case is to populate the metric
lookup table with values based on a user's selection/entry in other fields. For example, if this goal is in category
"X" and the target baseline is "Y", then set MLT to "ABC".
Related Information
Special Case - Goal Plan and/or Category Score Total [page 58]
This feature is related to the calculated fields but is specific to displaying total scores.
Context
Business Request: As a user, you would like to display goal scores in your goal plan.
CDO:/content/authoring/i041397146540509.image
Note
Configure Assumption: Goal Score is Rating x Weight. In this example, we are using the standard field ids
<weight> and <rating>.
Procedure
1. Define a new field. This includes the field definition, permissions, column and form layout, and so on.
Note
Standard Field: Use the standard field id <goal-score> if you want to have the goal score roll up to goal
plan or category level totals.
Use the code below to create a calculation called “goalScore” that takes <weight>, divides it by 100 and then
multiplies the result by the <rating>:
<calculator id="goalScore">
<![CDATA[(weight/100)*rating]]>
</calculator>
Use the code below to populate the <goal-score> field with the calculator “goalScore”:
There are several elements that you can use to implement custom calculations.
The DTD Definitions for the following elements are described below:
● <calculator>
● <auto-population>
● <rule>
● <rule-condition>
● <table-result>
● <calculated-result>
For information on calculations, functions and operators that can be used with these elements, see the topic
“Calculations, Functions and Operators”.
The calculator is used for both evaluating conditions (for example, "If condition = x") as well as defining the
calculation result.
Option Description
Example scenario: If the rating x the weight is less than 10, then calculate the rating x weight x difficulty
field field-definition ids Define the field that the system puts
the calculated result into.
Element Description
If you define the condition within the element (Option1), when you export the goal plan template XML from the
system it moves it to a <calculator> element.
For example:
<calculator id="a92c6a26-a0a1-4f97-badb-79e225a2cc77"><![CDATA[]]></calculator>
<rule>
<rule-condition calculator-id="a92c6a26-a0a1-4f97-badb-79e225a2cc77"></rule-
condition>
<calculated-result calculator-id="lowScoreCalculation"/>
</rule>
The preferred method is to define a <calculator> and <rule-condition> element (Option 2).
Option Description
Related Information
Various calculations, functions and operators can be used with the Custom Calculation elements
The calculations, functions and operators are grouped in the following tables:
● Arithmetic Operators
● Arithmetic Grouping
● Built in Calculated Goal Field based on Sub-goal Table values
● Built in Sub-goal Calculated Ratings
● Built in Sub-Goal Table Functions
● Built in Rounding Functions
● Built in Date Functions
● Comparision Operators
● Logical Operators
Note
Features of Built in functions include:
● Syntax: Built in functions are used by starting with FUNC. For example:
FUNC.sum(milestones.rating)
Due to technical limitations, when field ids are used you must replace a dash "-" with an underscore "_". For
example, target_baseline > 250 (the field id is "target-baseline").
Operator Description
+ Sum
- Difference
* Product
/ Quotient
Grouping Description
Table 14: Built in Calculated Goal Field based on Sub-goal Table values
Can be used in both <rule-condition> and <calculator>.
Function Description
Function Description
<calculator id="milestoneRollup">
<![CDATA[FUNC.sum(milestones.score)]]>
</calculator>
Function Description
add(column1, column2) For each row in a sub-goal table, add values from two
columns into a third column. The result is a column in a
sub-goal row. For example, FUNC.add(task.actual,
task.target)
add(column1, number) For each row in a sub-goal table, add a constant value
(number) to a column and return the new value to a
third column. The result is a column in a sub-goal row.
For example, FUNC.add(task.actual, 100)
subtract(column1, column2) For each row in a sub-goal table, subtract values from
two columns (column1 - column2) into a third column.
The result is a column in a sub-goal row. For example,
FUNC.subtract(task.actual, task.target)
multiple(column1, column2) For each row in a sub-goal table, multiply values from
two columns into a third column. The result is a column
in a sub-goal row. For example,
FUNC.multiple(task.actual, task.target)
divide(column1, column2) For each row in a sub-goal table, divide values from two
columns (column1/column2) into a third column. The
result is a column in a sub-goal row. For example,
FUNC.divide(task.actual, task.target)
Function Description
Tip
Define Rounding Precision:
Function Description
diff(Date1, Date2, Unit) Calculates the difference between two dates (Date1 -
Date2) represented in defined Unit (MILLISECOND/
SECOND/MINUTE/HOUR/DAY/WEEK/MONTH/
QUARTER/YEAR)
Operator Description
== Equals
Operator Description
&& And
|| Or
! Not
This feature is related to the calculated fields but is specific to displaying total scores.
Context
The use case is to display a goal plan total goal score (rating x weight summed up for all goals).
Procedure
Results
The goal plan and category total score values respect the <field-format> element of the "goal-score" field.
Context
Use Case: Support for calculated ratings at the sub-goal (milestone, target, task) level.
For information on the built in function for calculated sub-goal rating, see the topic “Calculations, Functions and
Operators”.
Procedure
Results
CDO:/content/authoring/i041398944339812.image
<field-definition>
<field-label>Subobjectives</field-label>
<table-row-label>Subobjectives</table-row-label>
<table-column id="desc" type="text" required="false" cascade-update="push-down">
<column-label>Subobjective Name</column-label>
<column-description>Subobjective Name</column-description>
</table-column>
<table-column id="weight" type="percent" required="false" cascade-update="push-
down">
<column-label>Weight</column-label>
<column-description>Weight</column-description>
</table-column>
<table-column id="customNum1" type="number" required="false" cascade-
update="push-down" >
<column-label>Minimum</column-label>
<column-description>Minimum</column-description>
<rating-value>1</rating-value>
</table-column>
Related Information
To turn on Goal Import go to Provisioning Edit Company Settings Goal Frameworks Goal Import .
The first thing you need to do is generate CSV template for the goal import. Select the goal plan you want to
update and click Generate CSV Header. Save the CSV file to your machine.
The CSV text file is comma-delimited, with string values enclosed in double quotes. The file can have any name
but should have a .csv extension. The rows must be tailored to the particular goal plan template for the
implementation. This enables accurate insertion of data into all field elements.
An import file can contain any combination of 3 possible types of rows: template associations, objectives, or table
fields (tasks, targets, or milestones, also known in some implementations as subgoals). You may find it simpler to
manage objectives and subgoals in separate import files, but they can be combined into one import file if desired.
The order of the rows within the file does not matter, except that if you are importing new tasks, targets, or
milestones, those should come after the associated parent goal rows.
Header rows should not be included; due to the flexible nature of the import structure, different lines within an
import file can have different fields. Each row is identified with a type flag in the first column. Import rows are
associated with users or groups of users with the following owner ID keys: USER_ID, USER_NAME, DEPT_NAME,
DIVISION_NAME, JOB_CODE, LOCATION_NAME, CUSTOM01, CUSTOM02, and CUSTOM03. (In some cases,
LOCALE is also supported.) For example, it is possible to create the same goal for all users in a given department
with a one-row import file.
If the source data is in MS Excel, save the file as a CSV (comma delimited) file, and watch out for these common
problems:
● String values that might have commas in them need to be explicitly quoted (e.g., "do this, do that").
● If you've used values for a key field (User ID, department, etc.) that are character values that look like
numbers ("000123"), the cells in Excel need to be formatted as text so that Excel doesn't convert them to true
numbers (123).
When the goal plan CSV template is opened it will contain information similar to the screenshot below. The first 5
rows of the template represent the information and header column for this CSV file. These 5 rows should not be
modified. This includes the columns defined in the 5th row.
The header column row defines what types of values should be placed in the rows beneath them. The following
table describes the header types.
FILTER_CUSTxx This field is filtered against the em Any text here
ployee CUSTOMXX field. NOTE:
only a max of three custom fields
can be used to filter goal actions.
Custom fields must be defined in
the data model under <custom-fil
ters>. Used to determine which
users to great the goal for.
Goal data columns always start with the string "OBJECTIVE_" followed by the field name that the goal will act on.
Columns for goal tables (i.e. Tasks, Targets, Milestones, Metric Lookup) will start with their respective table name
(TARGET_, TASK_, MILESTONE_, METRICLOOKUP_). In general, what follows will be the same as the field
definition id as defined in the goal plan. For example, to update the "metric" field in the goal plan you would put a
value into the "OBJECTIVE_metric" column of the import file.
Example of some, but clearly not all, goal fields that can be used in the goal import include:
The following applies to implementations with standard permissions. Implementations that include Role Based
Permissions (RBP) should manage goal plan permission through Admin Tools Manage Roles . In most
implementations, all users can see all active goal plan templates. However, in some implementations, users may
be limited to only seeing some of the active goal plan templates. If your implementation limits templates to certain
<permission for="import-goal">
<description><![CDATA[ Employees' manager can import the goals from the objective
plan. ]]></description>
<role-name><![CDATA[EM]]></role-name>
<role-name><![CDATA[E]]></role-name>
</permission>
With the permission E, employee can go to his goal plan upload the goals for himself.
With the permission EM, employee's manager can go to the goal plan of his subordinate and upload the goals for
him.
Note
For importing the new group goals in the import CSV file, we need use the TYPE as OBJECTIVE_GROUPV2. The
remaining other columns are same as Personal goals.
● The ID uniquely identifies a goal within the goal management system. This is an optional field that is used
when the import file needs to update an objective or sub-objective that does not have a GUID. The ID can be
found in the Goal Search report and Ad Hoc Goal Management reports as Goal ID. It is also possible to display
the ID directly in the Goal Plan. Columns that support the goal id are ID and OBJECTIVE_PARENTID.
● The GUID and SUBGUID are unique identifiers associated to a goal in a previous goal import. A GUID may be
related to one or more goals. The GUID field is mandatory for all ADD actions. The GUID cannot be changed for
a goal once created. SUBGUID uniquely identifies sub goal table entries for a goal.
The filter options (FILTER_) narrow down the goals to receive the action. If no filters are specified, then the goal
import will act on goals based only on the ID, GUID and SUBGUID ids. The behavior of the filter fields depends on
the action being performed.
● For add actions - The filter fields determine what goals will receive the goal. Each goal that receives the new
goal will be assigned the GUID for the goal. If an employee already has a goal in their goal plan with the SAME
GUID, then that employee will NOT receive a second copy of the goal and a warning message will be displayed
saying how many employees did not receive a goal. This behavior will allow a company to rerun an import say
monthly to make sure that employees who are captured by the filter receive the goal.
Note
It is up to the import creator to keep goals with the same GUID in synch or run the risk of having different
versions of the same goal.
● For update and delete actions - All goals that match the given GUID, SUBGUID and filter fields are updated.
This means that if a GUID or SUBGUID are not given for an action, no update or delete will occur.
Some examples of how the actions are applied based on the ID, GUID, SUBGUID and FILTER fields.
1. An add action has a GUID but no filters - All employee receive the goal.
2. An add action has a GUID and a filter - All employees that match the filter receive the goal. If an employee who
should receive the goal already has an existing goal with the same GUID; then that employee will not receive
the goal. This implies that the goal may be added to some employees (who did not previously have the goal
and would not be added to other employees (who already have the goal). Example 3: An update action has
identified a GUID but no filters - All goals with the GUID will be updated. Example 4: An update action has
identified a GUID and a filter for department - All the goals that match the GUID which are in a specific
department are updated.
Example
1. An add action has a GUID but no filters - All employee receive the goal.
2. An add action has a GUID and a filter - All employees that match the filter receive the goal. If an employee
who should receive the goal already has an existing goal with the same GUID; then that employee will not
receive the goal. This implies that the goal may be added to some employees (who did not previously have
the goal and would not be added to other employees (who already have the goal).
3. An update action has identified a GUID but no filters - All goals with the GUID will be updated.
4. An update action has identified a GUID and a filter for department - All the goals that match the GUID which
are in a specific department are updated.
The import file is processed top down one action line at a time.
As each line is processed, an action is performed (either ADD, UPDATE or DELETE). As each line is processed a
check will be performed. If the action is invalid, a warning message is displayed identifying the problem import row
and the reason for the failure. If an action is valid, then the add, update or delete action will be performed. Each
action has different behavior.
● Add - The add action will add a new object which will be an objective or a table field row (where a table field is
either a task, milestone, target. For the December release, SF will also support the metric-lookup table). The
action will select one or more employees to receive the new object based on the specified filter fields (see the
action section for more details). Each employee selected by the filter field will then receive the object. The
data to be added for the object is based on the data located in each action column plus the GUID and
SUBGUID.
Example, an action line will add a goal to an employee. The import file header section has four headings,
name, start date, due date and status. Each value in the action line that lines up under each heading section
shall be used to create the goal.
Note
Any add action can potentially add more than one objective or table field row per line. Additionally, an
employee will not receive the new goal or table field row if they already have an existing objective or table
field row with the GUID or SUBGUID for the object being added.
● Update - All goals that match the given GUID, SUBGUID and filter fields are updated. This means that if a
GUID or SUBGUID are not given for an action, no update action will occur. If a field has a value of "\NULL", any
data in a field will be removed and the field will remain empty.
Using \NULL will wipe out data, but an error will be reported if the field is required; if the field is required, data
will not be removed, as required fields cannot be left empty. Leaving a cells value blank (empty - not to be
confused with \NULL) leaves data unchanged and will not overwrite with blank values.
Note
Employees through the UI will be able to update a goal. This means that an update done through goal
import may overwrite a value that was previously updated by an employee.
● Delete - All goals that match the given GUID, SUBGUID and filter fields are deleted. This means that if a GUID
or SUBGUID are not given for an action, no update action will occur.
The import file is processed one action line at a time. As the action line is processed one or more errors may be
returned. When an action line is processed, it will return the number of object successfully acted on and the
number of lines that could not be acted on and the reason why they could not be processed. The user that
initiated the import will receive and email with the summary and status of the import.
If errors are encountered, file processing continues. In other words, if an error is encountered on line 1 of a 100
line file, lines 2 through 99 will still be processed.
Errors that can be reported include, but are not limited to:
The results indicate the line number with each error to help troubleshoot the problem(s).
OBJ_PLAN_ID: 51
MAX_ERROR
The OBJECTIVE row (row 6) will contain values for the goal and the METRICLOOKUP rows will only contain entries
in the METRICLOOKUP_ columns.
METRICLOOKUP_achievement METRICLOOKUP_rating
10 1
20 2
30 3
40 4
50 5
Custom filters must first be defined in the data model under <custom-filters>.
Goal comments are entered on their own row with the type of "OBJCOMMENT". Similar to the behavior of goal
comments through the UI, goal comments cannot be updated or deleted through import. Goal comments can
only be added.
OBJ_PLAN_ID: 9
MAX_ERROR
The goal comment (OBJCOMMENT) row will only have an entry in the OBJCOMMENT_comments column.
Updating a goal created through the goal plan UI can be done, but you have to get the internal goal ID to do that.
The internal ID can be found under Reports > Classic Reporting > Goal Search. The column is Goal Id.
OBJ_PLAN_ID: 9
A goal can be aligned up to another goal by using the OBJECTIVE_PARENTID column. This column accepts the
internal goal ID of the goal to be aligned up to (the goal in the CSV file is the child goal, the goal defined in the
OBJECTIVE_PARENTID column is the parent goal). The internal goal ID is available from Reports > Classic
Reporting > Goal Search. The column is Goal Id in that report.
This is supported by updating the goal using the goal's internal ID.
1. Find the goal's internal ID (Goal Search classic report, Ad Hoc Goal Management Report or Goal ID if
displayed directly in goal plan).
2. Download the import template CSV header
3. Enter a row to update the goal putting the internal goal ID in the ID column.
4. Upload the import file.
There are two options in this scenario. You can either update the goal by internal goal ID as in the previous
scenario, or you can update the goal by GUID.
To add sub-goal tables (Tasks, Targets, Milestones, Metric Lookup) you will need to goal's internal ID. When
defining the sub-goal rows, reference the internal goal ID of the goal the sub-goal rows should be added to.
MAX_ERROR
The update CSV file will be exactly the same as the create CSV file except the ACTION will be set to UPDATE. Sub-
goal table rows are currently only updated using their SUBGUID.
Create Sub-Goal Table Through UI, Update Sub-Goal Table Through Import
Creating Goals that Use Numeric and Text Achievements in the Metric Lookup
Table
This scenario here has a goal plan configured to support both numeric and text target achievement columns in the
metric lookup table (achievement & achievement-text). When this happens, the CSV template will include an
additional column "OBJECTIVE_NUMERIC_METRIC_LOOKUP_TABLE". This column specifies for the goal which
achievement should be used in the metric lookup table (numeric/achievement or text/achievement-text).
Supported values are Y/N, 1/0. A "Y" or "1" represents that the goal will use the achievement/numeric.
This is a list of answers to frequently asked questions. Many of the issues below are current feature limitations
that will be addressed in future product releases.
1. A goal can be updated using either the new or old import feature, as long as you have the GUID for that goal.
2. Goals created through the UI can be updated through the import feature.
3. The read-only feature from the old goal import is not supported in the new import.
4. The new goal import can be scheduled through the SuccessFactors Job Scheduler application.
5. The recommended maximum number of entries to update is 100,000. This could be 100,000 goals with no
sub-goals, or 10,000 goals each with 10 sub-goal entries (tasks, targets, milestones, metric lookup). This
could come in the form of one row in the CSV, or 100,000 rows in the CSV.
6. The new goal import does not support the filter option of job code
7. The user name filter is the only filter which supports multiple entries in a single row (separated by semi-
colons). All other filter columns only support a single entry per row.
8. When updating a goal, only the fields to be updated need to be included in the goal. Leaving values blank will
not remove the data from the goal. To remove the data, place \NULL as the entry for the column.
9. Custom fields to be used as filters must be defined in the data model under <custom-filters>.
10. One goal should not be defined twice in the same CSV upload file. This means don't put one row in to add a
goal and then another row to update that same goal.
11. The calculated goal rating (generated through the metric lookup table) cannot be added/updated through the
import. To change or set the calculated rating set values for the actual achievement and metric lookup table.
5.10 Limitations
1. The file size limit for beta goal import is 100,000 lines (as specified in the new goal import user guide)
2. MS.Excel 2007 has character limit of 255 per cell, so if you open a file in excel, ensure text based fields do not
get cut off.
3. The required format for the due date field (or any date field for that matter) is mm/dd/yyyy
4. If you receive error “due parsing error," check to see if client has a file where the date format is yyyy-mm-dd
(confirm by opening the file in notepad)
5. WARNING: If you open the file in MS Excel, MS Excel may translate dates into the mm/dd/yyyy
You need to make several goal plan template modifications to enable goal execution.
bizx-actual
In a SMART goal, this should be the actual value of the metric that is being measured. It can be rolled-up to the
goal owner's plan as a SUM or AVERAGE. (rollup-calc-type="sum") or (rollup-calc-type="avg").
bizx-target
In a SMART goal, this should be the target value of the metric that is being measured. It can be rolled-up to the
goal owner's plan as a SUM or AVERAGE. (rollup-calc-type="sum") or (rollup-calc-type="avg") .
bizx-pos
Probability of Success - An indicator for a goal that a user can use to project whether or not they will be
successful in accomplishing this goal.
Currently you should ALWAYS have 3 enum values for this field and they should be indicated in the last enum
coding below.
In a SMART goal, this should be the target value of the metric that is being measured. It can only be rolled-up to
the goal owner's plan as an AVERAGE, as their is no "sum" for Low, Med & High. (rollup-calc-type="avg")
bizx-strategic
Used to identify strategic goals, currently only visible in the Execution Map.
Currently you should only have 2 values for this field and they should be:
Use this standard field to control field permissions for the Effort Spent field that appears in the Goal Plan sub-tabs
called Execution Map, Status Report, and Meeting Agenda. This field will not appear in the goal plan or the goal
edit window because Effort Spent is specific to Status Reports. : Effort Spent must contain 6 enum values, there's
no configuration support for how many intervals there are. The configuration supports the ability to change the
labels of the 5 different values (along with the label of the "no selection" value)
bizx-status-comments
Use this standard field to control field permissions for the Status Report Comments field that appears in the
Execution Map, Status Report, and Meeting Agenda. This field will not appear in the goal plan or the goal edit
window because Status Report Comments are specific to each Status Report.
In order to have the goal execution fields show up in the goal plan, you must enter the new code in the plan layout
section of the XML.
<column weight="1.0">
<field refid="bizx-actual"/>
</column>
<column weight="1.0">
<field refid="bizx-target"/>
</column>
<column weight="1.0">
<field refid="bizx-pos"/>
</column>
<column weight="1.0">
<field refid="bizx-strategic"/>
</column>
6.3 Provisioning
Under Provisioning Company Settings you will see a new section called "Configure Goal Execution". Enable
both check boxes under this section.
You need to make several changes in the Admin section to enable Goal Execution.
Permissions
Under Admin Company Settings Administrative Privileges you'll see a section called Manage Goal
Execution with four permissions.
● Manage Configuration of Goal Execution - Grant this permission to an administrator who will manage
configurations. Users with this permission will see a new area in Admin Tools: Admin Goal Management
Goal Execution Settings (See Administrative Configuration for more details).
● Access Execution Map - Grant this permission to any user that should see the sub-tab Execution Map.
● Access Meeting Agenda - Grant this permission to any user that should see the sub-tab Meeting Agenda.
● Access Status Report - Grant this permission to any user that should see the sub-tab Status Report.
Administrative Configuration
Users with the "Manage Configuration of Goal Execution" permission will see this new link under the Admin page.
Field Description
Goal Plan Select the goal plan to be used in the Execution Map and Status Report pages (re
minder: the goal execution fields can only view one goal plan at a time)
Start Date This date is used for sending reminder and late email notifications for the Status Re
port. Recommendation is to use the start of the customer's fiscal year because we may
introduce enhancements that would use the start date with that assumption.
Note
If there is no date entered here, you will receive an error message.
Send due notification 1 supported reminder intervals. Send an email notification x days before a status report
(days) is due. Status report due dates are calculated based on the Start Date and Interval val
ues. You can set up to 1 reminder email.
Send late notification 1 supported over due intervals. Send an email notification x days after a status report is
(days) due. Status report due dates are calculated based on the Start Date and Interval values.
You can set up to 1 reminder emails.
Four new email notification templates can be found under System E-Mail Notification Templates .
● Status Report Due Reminder - Email sent out to users who have not submitted a status report since the last
status report due interval.
● Status Report Late Reminder - Email sent to users who have not submitted a current status report
● Status Report Update Request - From the Execution Map when an update request is made, this is the content
of that email
● Status Report Submitted Notification - Email sent to the manager of an employee when they submit a status
report.
Users that have access to the Status Report page can also have access to the Meeting Agenda page.
This feature will work in conjunction with the Meeting Agenda right panel section in the Execution Map. This
means that goals added from the Execution Map will be included into the Meeting Agenda page.
The basic features, and use case flow, for the enhancement are:
You can also add the goal to the meeting agenda watch list.
1. The Goal Execution sub tabs (Status Report; Execution Map; Meeting Agenda) are located under the GM
"Goals" tab.
2. Visibility for all 3 sub-tabs are controlled by permissions under Administrative Privileges. (This is for standard
permissions. RBP controls Goal Execution in the Manage Roles tool.)
3. Currently the Effort Spent and Probability of Success fields are only configurable in terms of label and not
values or quantities.
4. Status Report dates are "soft". We do not strictly enforce that a status report has to be submitted once a
week, or that specifically a week has to be captured. The Status Report interval under admin is only for email
notifications. Status Reports can be submitted whenever.
5. Goal plan field permission access/visibility is respected throughout Goal Execution pages. I.e. If you're not
allowed to see the details on the goal plan you won't be able to see them in GE.
6. Effort Spent under Status Report for each goal is independent of the other goals in the status report (i.e.
effort spent doesn't have to add up to 100% for all goals in the status report).
7. Only one goal plan template is supported by Goal Execution at a time.
8. Email notifications for Status Report Submitted Notification and Update Request are required for these
features to work, otherwise an error message will display.
You can disable the display of the Goal Management entries in the Home menu.
There two ways to disable the display of the Performance and Goal Management entries in the Home Navigation
menu for users or companies who do not own or access these modules. The first is accomplished via role based
permissions. The second is for instances without role based permissioning, and can be done for all users by
default, or for specific users or groups of users.
How to control access to the Goal Management module with Role Based Permissions (RBP).
Prerequisites
Context
Procedure
3. Click Save Feature at the top of the section to save the configurations. (This is all that needs to be done in
Provisioning.)
The next steps are performed in the Administration Tools:
4. In the Admin Tools, navigate to the Set User Permissions interface and click Manage Permission Roles.
6. Under the User Permissions for Goals, make sure that none of the permissions are clicked. Save changes.
Results
For a user in the Floor Workers group, which now has no permission to access Objectives (Goal Management) or
Performance, the Home menu now looks like this:
Lastly, this permission can be set for all users in an instance by creating a new Permission Role that includes
everybody, and not assigning access permissions to that group. Creating a group that includes everyone looks like
this:
How to control access to the Goal Management module (standard permission model).
Prerequisites
Context
Carry out the following steps in Provisioning to enable Performance Management Access Permission and Goal
Management Access Permission:
Procedure
Both Performance Management Access and Objective Management Access are disabled by default.
5. If you want to have the access disabled for a specific set of users (retroactively or proactively), you can
access an interface via the Manage Security group of tools.
Results
Roles are established based on what the system knows about relationships as determined by the employee data
in the instance.
They are most easily understood by breaking the letters into two parts.
1. E = Employee This is often the first part of the role code, and indicates that we are looking at the relationship
of the person to the employee. The actions we are describing will therefore impact the employee.
* everyone
E employee/owner
EM employee's manager
ED direct report
EH employee's HR representative
OP objective parent (for example, a project team lead's goal that is aligned up from a
team member's goal
OC objective child (for example, a team member's goal that is aligned down from a team
lead's goal)
The following table describes the action permissions that you can configure for Goal Management.
Private Access (private-access) Define who has permission to see private goals, i.e.
goals that are not shared/made public.
Create (create) Define who may insert a goal in a user's goal plan.
Delete (delete) Define who may delete a goal from a user's goal plan.
Word of caution – it is not recommended that you list
no roles for this permission. In addition, group goals
will always allow the user who created the goal to de
lete the goal for him or herself.
Move Goal (move) Define who may move and indent goals within a user's
goal plan. Currently, TGM only allows users to move
and indent goals in their own plan.
Share Goal (share) Define who may mark goals as shared or unshared in a
user's goal plan. Word of Caution – currently, if you do
not list any roles for this permission, the [Make Se
lected Public] and [Make Selected Private] buttons will
still appear when looking at goals in your own plan.
When you press the button, a Windows dialog box will
appear displaying a message that you do not have per
mission to perform this operation.
Cascade Pull (cascade-pull) Define who has permission to cascade goals from an
other user's goal plan into their own plan. Currently,
the only roles supported for Cascade Pull are * or no
roles at all. If no roles are listed, the [Cascade to My
Plan] button will not appear when you look at another
user's goal plan.
Cascade Push (cascade-push) Define who has permission to cascade goals to another
user. If no roles are listed, the [Cascade to Others] but
ton will not appear when you are looking at your own
goal plan.
Note
If you grant permission to the EX (Matrix Manager),
this button will appear for all users. Employees with
out matrix reports will not be able to select any
users, but they will still see the Cascade button.
Unalign Parent (unalign-parent) Define who may unalign a goal that is aligned down in a
user's goal plan. Currently, TGM only allows users to
unalign parent goals in their own plan. Word of Caution
– currently, if you do not list any roles for this permis
sion, the [Unalign] button will still appear when looking
at aligned up goals in your own plan. When you press
the button, a Windows dialog box will appear displaying
a message that you do not have permission to perform
this operation.
Unalign Child (unalign-child) Define who may unalign a goal that is aligned down in a
user's goal plan. Currently, TGM only allows users to
unalign child goals in their own plan. Word of Caution –
currently, if you do not list any roles for this permis
sion, the [Unalign] button will still appear when looking
at aligned down goals in your own plan. When you
press the button, a Windows dialog box will appear dis
playing a message that you do not have permission to
perform this operation.
Create Row (create-row) Define who has permission to create new rows in tables
(Tasks, Targets, Milestones, Achievement Lookup).
Definition must include which table the permission ap
plies to. If the permission is not defined/included in the
XML the create row permission is granted to roles that
have write field permission to the tables. To revoke cre
ate row permission from all roles define the permission
with no roles listed. Roles not included in the permis
sion definition will not have rights to create table rows.
Delete Row (delete-row) Define who has permission to delete rows in tables
(Tasks, Targets, Milestones, Achievement Lookup).
Definition must include which table the permission ap
plies to. If the permission is not defined/included in the
XML the delete row permission is granted to roles that
have write field permission to the tables. To revoke de
lete row permission from all roles define the permis
sion with no roles listed. Roles not included in the per
mission definition will not have rights to delete table
rows.
Move Row (move-row) Define who has permission to move rows in tables
(Tasks, Targets, Milestones, Achievement Lookup).
Definition must include which table the permission ap
plies to. If the permission is not defined/included in the
XML the move row permission is granted to roles that
have write field permission to the tables. To revoke
move row permission from all roles define the permis
sion with no roles listed. Roles not included in the per
mission definition will not have rights to move table
rows.
Note
The Create/Delete/Move Row permissions have a different behavior than the other Action Permissions when
the permission is not defined. When other action permissions are not defined, no role has access to that
permission. When create/delete/move row permission is not defined every role (with write permission to the
table) has access to those permissions. This was done to preserve backwards compatibility of the application.
Use this section of the goal plan to define which roles have read and write permissions for each field in a goal.
Field permissions are scanned in XML source order. The last applicable permission is the one used. For example,
it is not uncommon to restrict access to all fields and then selectively allow permissions.
Note
Action Permissions should be considered when granting Field Permissions. Users who can Create/Cascade
goals should also be able to write to all fields or at minimum all required fields in a goal plan.
write The user may both read and write the fields.
table-col Each table column field that the role has permission to
access should be enclosed separately within this tag.
Example
XML Example: Field Permissions
<field-permission type="read">
<description>Everyone may read name and metric for shared goals</description>
<role-name>*</role-name>
<field refid="name"/>
<field refid="metric"/>
</field-permission>
<field-permission type="read"> <description>Direct reports may see all fields for
Manager's shared goals</description>
<role-name>ED</role-name>
<field refid="name"/> <field refid="desc"/><field refid="metric"/> <field
refid="state"/><field refid="due"/> <field refid="done"/><field refid="tasks"/>
</field-permission>
<field-permission type="write"> <description>The owner, manager and form reviewer
may write to all fields</description>
<role-name>E</role-name><role-name>EM</role-name> <role-name>F</role-name> <field
refid="name"/> <field refid="desc"/><field refid="metric"/> <field refid="state"/
><field refid="due"/> <field refid="done"/><field refid="tasks"/>
</field-permission>
You have the option to specify which goal details can become editable when an employee cascades a goal to
others.
This option gives you control over which read-only details remain read-only when the goal gets cascaded. It also
lets you create action permissions for tables (create-row, delete-row, and move-row).
1. Cascader-role supports permissions on the following goal elements and actions for the user cascading their
goal to other employees:
a. Create (create-row)
b. Delete (delete-row)
c. Move (move-row)
2. When the “cascader-role” is disabled, users cascading their goal have write access to all fields and actions for
that goal regardless of goal plan permissions.
3. When the "cascader-role” is enabled, the “cascader” role controls what field can be seen and edited and what
table actions are permitted for the user who is cascading their goal.
4. Existing customers should experience no difference in the way their goal plan behaves and how the cascade
experience works. Current behavior is that the user cascading their goal has write access to all fields and
actions for that goal regardless of goal plan permissions. By default, the value of new attribute “enable-
cascader-role” is false, this is an 'opt-in' feature.
For example you might wish to retain restrictions on fields and not make items Read/Write when cascading:
To enable the Cascader Role functionality first set cascader-role to on in the goal template, then configure the
goal template field and action permissions. To turn on the functionality, insert the "switches" block of code in the
goal plan:
<obj-plan-start>11/01/2010</obj-plan-start>
<obj-plan-due>12/31/2011</obj-plan-due>
<obj-plan-numbering> <obj-plan-number-format><![CDATA[#.]]></obj-plan-number-
format> </obj-plan-numbering><switches> <switch for="cascader-role"
value="on"/></switches>
a. Create (create-row)
b. Delete (delete-row)
c. Move (move-row)
2. Field permissions (standard, custom, table) <field-permission>
3. Table column permissions <table-column>
Example
XML Example: Table Action Permissions for "cascader" Role
<permission for="create-row">
<description><![CDATA[The cascader can create a row in a field of type table then
he/she cascades a goal]]></description>
<role-name><![CDATA[cascader]]></role-name>
<field refid="tasks"/>
<field refid="targets"/>
<field refid="milestones"/>
<field refid="metric-lookup-table"/>
</permission>
<permission for="delete-row">
<description><![CDATA[The cascader can delete a row in a field of type table then
he/she cascades a goal]]></description>
Example
XML Example: Field, Table, Table Column Permissions for "cascader" Role
Permission tags give you the ability to control who can create, modify, or delete rows of a table within a goal plan.
Here is some sample XML that can be added to your permissions section of a goal plan:
Example
<permission for="create-row">
Table column permissions allow you to get more granular and define permissions for columns in the table.
Supported tables are: Tasks, Targets, Milestones, and Achievement Lookup. Listed below are some useful tips/
best practices to consider when using table column permissions.
1. If table column permissions are not defined, the columns will have the permission level of the table defined in
field permissions (backwards compatibility).
2. Column level permissions can only be equal to or more restrictive than the field permission for the table. This
means that you cannot grant a role read permission to a table and then also try to grant that same role write
permission to columns in that table. For this scenario, grant write access to the table and then set table
column permissions to read for the columns you do not want the role to edit.
3. Required fields only apply if the role has write permission to the table column.
4. If the desired result is to hide a table from a role, instead of defining write permission for the table at the field
level and then setting all table columns to none, just define none at the table field level. Otherwise, the table
header will still appear.
5. Define table column permissions after table field permissions have been defined in the XML. This is not a
requirement but a best practice.
6. For the Achievement Lookup Table, it is not recommended to grant action permissions to roles that do not
have write permission to all columns. This can lead to undesirable behavior in the Achievement Lookup table
and calculated rating.
7. For the Achievement Lookup Table the table columns "achievement" and "achievement-text" should have the
same set of permissions.
Note
At this time table column permissions are not supported in PM forms. This means field permissions defined for
table columns will not be respected when including a table in form-layout.
The use case is to create a Milestone table with 4 columns: (Milestone, Start Date, Due Date, % Complete). The
manager (EM) should have full access to all columns but the Employee (E) should only have access to the %
Complete column. In this scenario the manager is responsible for setting the milestones and the employee only
for updating the percent completion for the milestones.
<field-permission type="write">
<description>Manager and Employee may write to the milestone table </description>
<role-name>E</role-name>
<role-name>EM</role-name>
<field refid="milestones"/>
</field-permission>
<field-permission type="read">
<description>Employee may only read the description, start, and due fields</
description>
<role-name>E</role-name>
<table-col id="desc" field-refid="milestones"/>
<table-col id="start" field-refid="milestones"/>
<table-col id="due" field-refid="milestones"/>
</field-permission>
7.8 Requirements
1. All permissions are based on the premise, "WHO can take this action affecting the Employee's goals?" For
example:
○ Create goals: WHO may create a goal on the Employee's goal plan?
○ Cascade-push: WHO may cascade his/her goal onto the Employee's plan?
○ Cascade-pull: WHO may acquire an employee's goal into another employee's plan?
2. Roles are case sensitive and as such must be listed in all uppercase.
3. Only those employees who have create goal permissions can copy goals from other goal plans. When comp
4. If the weight field is in the PM form layout, make sure that the field is properly permissioned in TGM.
5. Permissions for tables (Create Row, Delete Row, Move Row) require the field to be defined in the permission.
The following matrix illustrates which roles can be assigned access to TGM features. Y = available N = not
available
View Y Y Y Y Y Y Y Y Y Y Y Y Y N E,
pri EM,
vate or
goals OP
Cre Y Y Y N N N N N N N Y N N N E,
ate EM,
Goal F
s
De Y Y Y Y Y Y Y Y Y N N Y N N E,
lete EM,
Goal or
s OP
Move N Y N N N N N N N N N N N Y E
Goal
s
Shar N Y Y Y Y Y Y Y Y Y N N N N E,
e/ EM
Un
shar
e
Goal
s
Cas Y Y N N N N N N N N N N N Y ** or
cade OFF*
Pull
Cas Y Y Y Y Y Y Y Y Y N N N N Y ** or
cade OFF*
Push
Align Y Y Y Y Y Y Y Y Y Y N N N Y *, ED
To or ED
+
Un N Y N N N N N N N N N N N N E
align
Pa
rent
Un N Y N N N N N N N N N N N N E
align
Child
Cre Y Y Y Y Y Y Y Y Y Y Y N N Y E,
ate EM
Row
De Y Y Y Y Y Y Y Y Y Y Y N N Y E,
lete EM
Row
Move Y Y Y Y Y Y Y Y Y Y Y N N Y E,
Row EM
The roles listed above are also used to set read and write permissions when accessing goals in an individual's goal
plan. The only exception is that even if OC is granted write permission, OC still cannot write to OP's goal (this
inconsistency has been filed as bug 1229).
Matrix manager roles are also supported. The following roles have the same level of support:
TGM Feature E EX EY
Create Goals Y Y Y
Delete Goals Y Y Y
Move Goals Y Y Y
Share/Unshare Goals Y Y Y
Cascade Pull Y
Cascade Push N Y Y
Align To N Y Y
Unalign Parent Y
Unalign Child Y
Create Row Y Y Y
Delete Row Y Y Y
Move Row Y Y Y
Example
XML Example
<permission for="private-access">
<description> Employees and their managers may view unshared/private goals. </
description>
<role-name>E</role-name>
<role-name>EM</role-name></permission>
<permission for="cascade-pull">
<description Anyone may cascade a goal from anyone. </description>
Example
XML Example: Table Action Permissions
<permission for="move-row">
<description>No one is allowed to move rows in the tasks table</description>
<field refid="tasks"/></permission>
<permission for="create-row">
<description>Only the manager can create rows in milestones table</description>
<role-name>EM</role-name>
<field refid="milestones"/></permission>
The Create/Delete/Move Row permissions have a different behavior than the other Action Permissions when
the permission is not defined. When other action permissions are not defined, no role has access to that
permission. When create/delete/move row permission is not defined every role (with write permission to the
table) has access to those permissions. This was done to preserve backwards compatibility of the application.
You need to configure the permissions for the fields and actions in the new goal templates.
Field Permissions
Configuring permission control for the fields is done the same way that GM field permissions are done through the
goal plan template XML.
These permissions to read and write will need to be added to your XML coding:
<field refid="bizx-actual"/>
<field refid="bizx-target"/>
<field refid="bizx-pos"/>
<field refid="bizx-status-comments"/>
<field refid="bizx-effort-spent"/>
This action permission controls who has the rights to ask the goal owner for a Status Update. "Ask Goal Owner for
Status Update" feature is located in the Execution Map.
Note
This link will always appear in the Execution Map goal node drop-down due to system limitations. If the user
does not have sufficient permission rights the system will prevent them from using the feature but at this time
<permission for="bizx-request-update">
<description><![CDATA[
Only managers and up can request a status update from the execution map
]]></description>
<role-name><![CDATA[EM+]]></role-name>
</permission>
Goal Plan States provide the ability to have more than one set of permissions. The difference between states can
be subtle or drastic depending on the customer's needs.
Goal Plan States control what field and action permissions are available. The topics describe the locking and
unlocking of goal plans for goal approval purposes.
A common request from customers is the capability to lock and unlock goal plans for Goal Approval purposes.
The idea behind this feature is to allow components of the Goal to be locked once an authorized user locks the
plan (E, EM, and so on.). With this functionality, a manager could cascade a goal to an employee and the employee
could update only certain fields while the goal is Locked and update all fields / delete goals when it is in an
unlocked state.
Note
Add the below configuration, after defining <field-definition> elements.
1. Start with <obj-plan-states> element, this provides the ability to have different objective plan states.
<obj-plan-states>
…..
</obj-plan-states>
\\
<obj-plan-states>
<obj-plan-state id="A"default="true">
3. Each <obj-plan-state> element can have its own set of action and field permissions.
We need to configure a new action permission called "Locked" that provides the ability to lock down certain
areas of the goal plan or a goal.
target-state: element specified inside "change-state" permission - Defines the objective plan state to which
the goal plan can be switched (i.e. Locked state and Unlocked state).
\\
<obj-plan-states>
<obj-plan-state id="A"default="true">
<state-label lang="en_GB">State-A</state-label>
<state-label lang="en_US">State-A</state-label>
<permission for="change-state">
<description><![CDATA[Manger may change the goal plan state to C.]]></
description>
<target-state><![CDATA[B]]></target-state>
<role-name><![CDATA[EM]]></role-name>
</permission>
<permission for="private-access">
<description><![CDATA[Employees and their managers up the reporting
chain may view unshared/private goals.]]></description>
<role-name><![CDATA[E]]></role-name
<role-name><![CDATA[EM]]></role-name>
</permission>
<permission for="delete-group-goal">
<description><![CDATA[Only the employee may delete goals in his/her own
plan.]]></description>
<role-name><![CDATA[EM]]></role-name>
</permission>
…
</permission>
</ obj-plan-state>
</ obj-plan-states>
\\
Note
Repeat the steps, if we need to configure the multiple objective plan states under </ obj-plan-states>
element.
We provide the ability that when a form is routed to next step, then the goal plan state of the user can be changed.
For this, we need to have the below configuration in the objective section of the PM/360 form template.
Note
Add the below configuration after the < meta-grp-label > element in the Objective section of the form.
● obj-plan-state-change: This element is used to define the single goal plan state.
\\
<obj-plan-state-change to-step="Step2">
<target-state id="B"></target-state>
</obj-plan-state-change>
< obj-plan-state-change>
Note
If we want to change the goal plan state for each route step, then add the above configuration multiple times.
\\
<obj-plan-state-change to-step="Step2">
<target-state id="B"></target-state>
</obj-plan-state-change>
<obj-plan-state-change to-step="Step3">
<target-state id="C"></target-state>
</obj-plan-state-change>
\\
When the form moves to a state where it is unlocked, the goal plan will be in an unlocked state.
We cannot specify the to-step attribute while configuring either to-complete-state or on-form-delete
attribute.
<obj-plan-state-change to-complete-state="true">
<target-state id="A"></target-state>
</obj-plan-state-change>
<obj-plan-state-change on-form-delete="true">
<target-state id="B"></target-state>
</obj-plan-state-change>
Note
Creating a new form does not trigger a change of the goal plan state, and does not put the goal plan back into
initial state.
Prerequisites
Goal Management must be enabled in Provisioning. Under Goals Framework, you need to mark Enable Goal
Management V12 [Not Ready for Sales/Production] — requires “Version 12 UI framework (Revolution)”.
Context
This is how you set up the Admin Tools when RBP is disabled.
Procedure
This section describes how you set up the Goals Management Home page tile with RBP.
Prerequisites
Goal Management must be enabled in Provisioning. Under Goals Framework, you need to mark Enable Goal
Management V12 [Not Ready for Sales/Production] — requires “Version 12 UI framework (Revolution)”.
Context
This is how you set up the Admin Tools when RBP is enabled.
Procedure
7. Login as the user who has Manage Homepage permission - Go to Admin Tool Permission to Manage
Home Page .
8. Select a user to grant manage home page permission - Click Grant Permission.
You can also access all goals for all goal plans.
1. Click All Goals, it will display all goal for active goal plans.
2. The goals with alerts are displayed first and then goals without alert; they are ordered by ADDED alert,
MODIFIED alert, DELETED alert.
3. Click the goal with ADDED/MODIFIED alert, it will navigate to goal plan page, the alert will disappear; and the
goal will be automatically combined with other goals without alerts.
4. Click the delete icon in the goal with a DELETED alert, the goal and alert will disappear.
You can click the Tile Browser link on the new home page, the Tile Browser will pop up to allow users to add/
remove the GM tile.
Definitions
In an effort to clearly communicate the features of group goals here are some terms with definition that will be
used:
● Group Goal Owner - This is the user that has the original group goal. The employee where the group goal is
created. There is always only one group goal owner per goal.
● Group Goal Member - These are the users that have been assigned the group goal.
● Group Goal Creator - Person creating a group goal (i.e. setting the field values of the group goal).
● Group Goal Assigner - Person assigning the group goal to group goal members.
Key Benefits
The list of key benefits is based on functionality that is not available in the first version of group goals but is
supported in v2.0
● Ability to have sub-goal tables (for example tasks, targets, milestones, metric lookup) for a group goal.
● Support for calculated goal ratings using the metric lookup table.
● Ability to configure, per field, which are editable and which are read-only in a group goal (this also applies to
sub-goal tables).
Potential Drawbacks
The list of potential drawbacks is based on functionality that is either available in the older version of group goals,
or just not available at all.
● Support for dynamic group goal membership - In v2.0 it's a static list of group goal members and not dynamic
based on criteria. This was the use case for the specific customer and as such what was built first.
● No support of import for group goals - This is also not supported in group goals v1.
● Cannot cascade group goals - Also not supported in v1.
● No group rating - this is supported in group goals v1. If needed in group goals v2, must use Metric Lookup
Table
The two different versions of group goals are mutually exclusive. You can only use either old, or new group goals
but not both. This applies at the company instance level.
Provisioning
To enable group goals v2 turn it on under Provisioning Edit Company Settings Company Settings Goal
Frameworks Enable Group Goals 2.0 - requires "Total Goal Management"
Once the provisioning switch is enabled for Group Goals 2.0, you will see a new set of permissions in the
application under Admin Manage Security Administrative Privileges Manage Goals . There are two
permissions.
● New Group Goal Creation - Grant users this permission to allow them to create group goals 2.0 in their goal
plans
● Group Goal Assignment - This permission allows a user to assign a group goal to users. The group goal does
not have to be on the assigners goal plan (i.e. they can navigate to someone's goal plan that is the group goal
owner and they can assign that group goal).
In the XML - you must allow group goals. Default is false, you need to make it true: allow-group-goal="true"
Creating a group goal still happens from the Create a New Goal button on a goal plan. The user will see an option
for Group Goal if they have permission to create a group goal.
Assigning a group goal is done using the button located in the row of buttons on a goal plan.
First you select which group goal or group goals (you can assign multiple group goals at once) you want to assign
by checking the checkboxes to the left of the goal name, then you click Assign Selected.... This opens up a window
very similar to the cascade window where you can choose who to assign this group goal to. A new supported
feature here though is step two of the assign wizard. The assigner will have an opportunity to change the group
goal before assigning it. The assigner will be able to edit any field that is not configured as a read-only field in the
group goal.
● A department can share the same goal with shared results but each person can have a different set of tasks
or milestones for that goal. For example, Customer Success has a goal for 95% customer satisfaction. While
the result will be shared by everyone in the department, what each person does to contribute to that goal will
be different and now can be tracked individually.
● A business unit goal is again shared by everyone but the impact of this goal on a person's goal plan is different
based on that person's level in the business unit. For example, a shared goal has a bigger impact on directors
compared to associates so the weight field should be editable.
Example
Weight should be editable by everyone in a group goal.
Field Permissions
● When a field is set to "push-down", this field will be editable by group goal owners and read only to group goal
members regardless of field permissions.
● When a field is set to "regular" it will be editable by the assigner when they are assigning the goal and also
editable to group goal members.
The mapping, ID is optional, the name needs to point to the appropriate library name. The field-mapping elements
are optional. It defines how fields in the goal library are mapped to the TGM fields during goal creation. The
SuccessFactorsLibrary is automatically loaded and included with TGM. You must have the English goal library
when using a goal library in other languages.
Requirements
● For Objective library mapping, id is optional, the name needs to point to the appropriate library name.
● For learning catalog, use id to point to the appropriate learning catalog, Goals may be imported into a goal
plan using a comma separated file.
● _Goal library field size limits: Goal library name, category, and goal name have a field size limit of 1024. Goal
category and goal name are represented in the "ENTRY_NAME" column of the goal library csv file
format._DTD Definition
Attributes
● src-library-field-id - ID for the column in the library that data will be copied from
● dst-field-id - Corresponds to a value in one of the existing field-definition ID from the template that data
will be copied into
Example
Standard SuccessFactors Library
…
</text-replacement>
<obj-library name="SuccessFactors Library">
<field-mapping src-library-field-id="Name" dst-field-id="name"/>
<field-mapping src-library-field-id="Data1" dst-field-id="metric"/>
</obj-library>
<category id="Customer">
…
Example
Custom Goal Library
…
</text-replacement>
<obj-library name="My Goal Library" id="100">
You can enhance the goal library to support defaults for all goal and sub-goal fields.
It is possible to include any fields that the customer requires in the Goal library.
Note
It should be possible to include multiple languages and multiple libraries in the same import file.
There are the standard goal plan template fields (though goal library is not limited to standard fields):
● name
● desc
● start
● due
● done
● metric
● target-baseline
● category
● weight
● state
● comments
● goto-url
● bizx-actual
● bizx-target
● bizx-pos
● bizx-strategic
When modifying an existing goal library, the user has the option of viewing the goals in the library in terms of any
of the existing goal plans in the company instance. For example, if the goal plan has 10 fields and the goal library
only has 2 fields populated, then selecting that template will show 2 populated fields and 8 blank fields.
Related Information
This calculated rating will then be pulled into PM forms for use as the rating for that goal. The purpose of this
feature is to show/quantify what a rating value actually means to the user in real world terms (meaning what does
it take to get a 5 out of 5).
Here is a sample use case for goals and rating with achievement lookup.
The employee is a sales rep and one of their goals is to generate $1 million dollars of revenue this year. If they
bring in $1m then they have met their goal and they get 3 out of 5 as a rating. If they bring in $1.25m they get a 4,
$1.5m a 5, $750K, 2, and $500K a 1.
The employee now knows the targets they need to achieve and where the different cut off points are. Let's say at
the end of the year the sales rep has generated $1.13m in revenue. Using the metric lookup table the system will
calculate a rating for this goal. The rating will then be pulled into a PM form to be used as the rating for this goal.
There are two supported calculation types. In this example the system will either calculate the goal rating to be 3
(step), or 3.52 (interpolate).
Features not yet included but which may be considered for future releases:
The basic metric lookup table and calculated goal rating consists of the following items:
● rating, type "number" - stores the rating calculated by comparing the actual-achievement with the target
achievement values.
● metric-lookup-table, type "table" – used to store the target achievement values
● actual-achievement (type number) or actual-achievement-text (type text), – used to store the achievement
value
The metric lookup table will always be in edit mode or display mode. To move back and forth between modes you
will need to click set scale or edit scale.
There are four columns that can be displayed with the calculated ratings table:
1. Column with ID achievement will always have a number data type and is optional
2. Column with ID achievement-text will always have a text data type and optional
3. Column with ID rating will always have a numberdata type and is mandatory.
4. Column with ID description will always have a textdata type and is optional.
A minimum of two columns are required but all four columns can be made available to employees. One column
must be the rating column and the second column is either the achievement or the achievement-text column.
The goal plan can be configured with one of two calculation types, Step or Interpolation.
This configuration is defined in the field-definition for metric lookup table. Accepted values are step or
interpolate.
Interpolation – When the rating is interpolated from the target values above and below the actual achievement.
(NOTE: Interpolation does not work with text achievement. If the calculated ratings feature is configured to use
interpolation and the employee enters character based values, a step based calculate will be performed.)
Example
Interpolated Rating Example
20 1
30 2
40 3
50 4
70 5
20 1
25 1.5
55 4.25
80 5
When the rating is interpolated from the target values above and below the actual achievement. (NOTE:
Interpolation does not work with text achievement. If the calculated ratings feature is configured to use
interpolation and the employee enters character based values, a step based calculate will be performed.)
Example
Interpolated Rating Example
20 1
30 2
40 3
50 4
70 5
20 1
25 1.5
55 4.25
80 5
Step
When the target achievement values are treated as thresholds and the amount by which the actual achievement
exceeds them does not matter.
Example
Step Rating Example
20 1
30 2
40 3
50 4
70 5
20 1
25 1
55 4
80 5
This section defines what the system does when the actual achievement falls outside of the range defined in the
target level rows.
20 1
30 2
40 3
50 4
70 5
● Upper Bound: The system will always give the highest rating value when the actual achievement is above the
highest target level. An actual rating of 71 will give a 5.
● Lower Bound: There are two options for how the system handles actual achievements below the lowest
target level. This option is configured through the attribute use-min-target-as-rating defined in the field-
definition for the metric-lookup-table. Accepted values are true and false.
○ true – When the actual achievement falls below the lowest target level, then provide the rating associated
to the lowest target level. In the example above an actual achievement of 18 would result in a rating of 1
○ false – When the actual achievement falls below the lowest target level, then provide a rating of 0. In the
example above and actual achievement of 18 would result in a rating of 0.
Note
There's more complexity to this attribute than may first appear. When the attribute is set to true, the rating is a
value of 1 and the rating scale range is 1-5. When the attribute is set to false and the rating is 0, then the rating
scale range has to change to 0-5 (what's a 0 in a 1-5 rating?). Why is this important? This could cause
confusion for customers when it comes time to normalize ratings on a PM form. Let's say the customer has a
Here we describe the different display configurations possible for goals and ratings.
Description Column
The metric lookup table supports an additional column which represents the description of the rating value
(similar to how rating scales are configured under Admin in the application). This column can be included through
the table column id "description" in the metric lookup table field definition.
Calculated Rating
The calculated rating field can be configured to display in one of the following formats:
This configuration is controlled through the display attribute on the rating field definition. Accepted values are:
(number | number-text | text). Interpolation calculation type will always display numeric only regardless of the
configuration option. The calculated goal rating will display on a PM form however it was configured in the goal
plan. The rating will appear the same way it does on the goal plan as it does on the PM form.
This controls the ascending or descending order required for numeric target levels and ratings columns in the
metric lookup table. This configuration is controlled through the table-column attribute "order". The system will
check and require that values placed in those columns are in the correct order. This only applies to table-column
id of "achievement" and "rating". Accepted values are (asc | desc | both).
The default is to allow the achievement column to be either ascending or descending and to force the rating scale
to be ascending. This is because some achievements should result in a better rating as the achievement
decreases (think number of errors per 1000. Fewer defects is good and therefore should result in a better rating.)
This basically just pre-populates the rating column with values defined from a system rating scale.
If a default rating scale is configured, the rating scale will be displayed in the Create Goal and Edit Goalscreens
rather than as a button as shown in other sub-goals. By deleting all the rating scale rows, the metric lookup table
will be closed showing a green + button. To configure a rating scale with the calculated ratings feature, add the
'rating-scale' field to identify the rating scale you wish to use inside the field-definition for a metric-lookup-table
field. An optional default attribute can be used to specify what rating scale is the default rating scale. Possible
options are true and false. The default is true (for backwards compatibility reasons) but only the last "true" rating
scale will be the default rating scale.
Example
Customers can define more than one rating scale for the calculated ratings feature. When this happens,
employees will see a dropdown which will allow the employee to select the rating scales to be copied into the
metric lookup table.
This feature primarily serves to auto populate the target levels based on configurations defined in the goal plan.
The sample use case would be: A user selects from a drop-down the rating scale/type to be used for this goal. The
user also enters a target baseline value. Based on these two selections the system will populate the metric lookup
table. The requirements to enable this feature are:
80% 60
90% 80
100% 100
110% 120
125% 140
Target Baseline
Mapping XML
The system calculates the target levels based on percentage of the target baseline and populates the target level
column. The system accepts multiple mappings and that will result in additional entries in the Rating Scale drop-
down in the UI.
While not a commonly used configuration, the system supports the ability to enter text target achievement levels.
A goal plan can be configured to support either or both achievement types. So a single goal plan can have two
goals which use different target achievement types. The text achievement only works with calculation type "step"
and is an exact match between actual text achievement and text target level. The table-column id for text
achievement is "achievement-text" and the actual text achievement field-definition is "actual-achievement-text".
When both text and numeric achievement are configured, the user has an option to select between the two types.
This feature lets customers choose to display a warning message in MLT if the achievement and rating levels are
non-linear (that is, if the slope changes between the achievement / rating values in the table).
Configuration - In the objective plan template we need to add the following configuration for enabling this feature.
Note
This configuration will support only for “metric-lookup-table”.
The rating is calculated when the goal is saved after any changes. If the goal plan includes the metric-lookup-table
field, validation will ensure that the user does not enter only 1 row, which would result in a rating calculation error.
However the user may opt to enter 0 rows, bypassing the automatic calculation. The logic that the application
follows when determining whether to calculate a rating is as follows:
1. If 2 or more rows are entered in the lookup table, and actual achievement has been entered, calculate the
rating.
2. If no rows are entered in the lookup table and actual achievement is 0, the rating is not calculated, and the
goal can be rated on the form just like a regular goal.
As with any fields in the TGM template, all 3 fields must be permissioned appropriately and included on the plan
and form layouts if desired. The rating field, however, will always be read-only, even if write permission is granted.
Typically, you will want to limit write permission for the metric lookup table and actual achievement to managers,
otherwise employees could essentially set their own ratings of record.
Note
To edit goals with this configuration on a form, you must set obj-edit="popup" in the form objective section.
(The metric lookup table cannot be edited in on-form editing mode.) A rating scale does not need to be
specified in the TGM template or goal. The maximum & minimum for the rating (stored in the system to
determine normalized ratings) is determined by the possible ratings in the lookup table.
1. The field definition flag use-min-target-as-rating determines the behavior of the minimum rating value. If use-
min-target-as-rating="false" for the calculated rating field, the calculated rating will be "0" if the value goes
below the minimum rating value. If the use-min-target-as-rating="true" then the minimum possible rating
value will always be the minimum rating. The example above shows use-min-target-as-rating="false". If use-
min-target-as-rating="true" then the actual achievement of 10 would show a calculated rating of 1.
2. The calculated rating can never exceed the maximum rating possible in the lookup table.
3. If a rating scale is associated to the calculated rating feature, the rating scale will be automatically displayed.
The following is an example of an XML for goals and ratings with achievement lookup.
Example
XML Example
This feature enables the system to auto-calculate the different levels of target achievement based on the levels of
percent achievement that will be paid out for.
Goals can have a direct or inverse correlation of achievement to percent payout (thus supporting sales and
savings based goals).
Through appropriate configuration of the goal plan, a user can now select a merit guideline (a rule which defines
scores based on % achievement of target along with a textual descriptor) and then enter in the target
achievement level (target baseline). Based on this information the system will automatically calculate all the
appropriate target achievement for the different levels of merit as defined in the merit guideline.
Note
This feature supports multiple "Merit Guidelines" in both ascending and descending scale formats and appears
to support both interpolated and step achievement lookups. Any automatically calculated level or score can be
overridden using the "edit scale" option displayed directly under the "Rating Scale" drop-down. As of B1009
100 maximum rows (prior limit was 5 rows).
Configuration
Configuration is done in the goal template XML (no associated admin or provisioning switches) and requires the
following settings (an example goal template XML file is attached for ease):
This is accomplished using an excel spreadsheet to assign certain targets for specific employees in one upload
step. To accomplish this requirement, we updated the goal import (Mass Goal Import) to support an action of
assign to accompany the existing add, edit, and delete. This value option was also added to the goal import
template.
Since we leveraged Goal Import, which is an Admin tool, permissions are unrestricted, meaning if you have the
admin privilege, role permissions will be ignored (EM, EMM, EX, and so on). The exception to this will be that the
import will not allow the assignment of goals to an employee plan in a “locked” plan permission state.
As a user or admin, I want to be able to mass upload goal and target assignments using an excel spreadsheet.
Users
1. User (with Group Goal Assignment permission to access button from Goal Plan)
The Assigner gets admin privileges when they are given “Add Group Goal Assignment” permission granted
through Administrative Privileges. This is accomplished in the Manage Goals configuration. Any check box
selection from this section means that the user has some level of Manage Goals privileges. It should be noted
that based on label configurations, this section may look different to different companies.
Prerequisites
This section describes how you can access the mass assign button.
Procedure
The section describes how you can use the CSV header template.
Procedure
1. The CSV Header template is accessed by clicking on the download button in the Goal Plan.
4. The FILTER_USERNAME allows the Assigner to populate one or more UserID’s. Multiple UserID’s are entered
by separating the IDs with a semi-colon.
5. You can have an individual row for each FILTER_USERNAME if needed
6. You can have an individual row each Target for each user if needed
7. Fields can be populated to be included in the assignment based on based on permissions settings configured
for the Plan Template. For example, weights for targets can be populated in the template, and assigned to
employee assuming that the assigner has been given edit permission for the field (via the template
configuration)
8. When using the action of assigning, some fields can remain empty (except for ID, FILTER_USER, ACTION). If
they are not empty, then the behavior will depend on the configuration of the form as to whether a field is a
push down field (that the assigner cannot modify) or a field that the assigner can modify (like the weight field).
If a field is populated for a push down field that the assigner does not have access to, then the system will
ignore that value (as opposed to showing up as an error in the job run e-mail).
9. The assignment of new group goals allows you to make assignments to inactive users.
10. The file does not have an explicit row limitation; however there is a 5 MB size limitation/recommendation for
the CSV file.
1. The import job gets scheduled immediately (there is no schedule setting option).
2. It runs depending on the capacity of the quartz server.
3. It is not possible to view the status of the job from the admin interface however it is possible from provisioning
to check on the status of a job (this step should not be necessary as jobs should not take a significant amount
of time to run).
4. When the job is complete, an email is sent to the user who initiated the import.
5. The email has details like rows added, updated, deleted. For the new “assign” action, we will include additional
messages for assigned as well.
6. If there is an error in the processing, we will include the reason for the error.
Error Examples:
Currently, from the existing user interface, we provide a warning when a user tries to assign the same goal twice,
however that does not stop the assigner from assigning twice.
In the scenario that a duplicate assignment is included in the CSV import file, then the duplicate record will get
rejected, and will be included in the e-mail report. It should be noted that in this situation, just the duplicate gets
rejected. The other valid goal/targets will continue to be processed and assigned.
We provide a check box at the import screen, which would determine whether duplicating a goal is an allowed
action during the mass assign. If checked, then the systems will allow the duplicate goals to be assigned. If
unchecked, then the system will provide an error message in the job complete e-mail.
The following assumptions are made when dealing with mass upload for assigning.
1. When we give ALL under FILTER_USERNAME column in the CSV, we assign the goals to all the users in the
target population.
2. To assign the goals to specific users, we give the usernames separated by a semicolon ; under
FILTER_USERNAME column in the CSV.
3. You can have an individual row for each FILTER_USERNAME if needed.
4. You can have an individual row each Target for each user if needed.
5. If we give a username under FILTER_MGR_ID column in the csv then the goal will be assigned to all the
subordinates of that user who are in target population. This assumes all the employees are part of the target
population of the assigner. If some listed employees are not part of the target population, the system will
complete the assignment for those that are, and reject the ones who are not (reported in e-mail notification).
6. If we mention FILTER_DEPT, FILTER_DIV, or FILTER_LOC, then the goal will be assigned to the entire user
matching the DIV, DEPT, LOC but who are in target population (assumes the employees are part of the target
population). These fields can be utilized independently of each other (you are not restricted to identifying
values for all the fields).
7. Other customer modules/processes are not impacted by these changes.
8. Import functionality respect plan state configuration, and will not be able to add, edit, or delete goals to an
employee plan that is in a state that is restricted from these actions (Locked Plan).
● Add Goal
● Edit Goal
● Cascade/Align Goals
● Goal Tables (Target, Task, Milestone)
● Metric Look-up Tables •Group Goals (1.0 or 2.0)
● Goal Plan State/Workflow functionality (lock/unlock plans)
● Goal Execution
Prerequisites in Provisioning
1. Check Enable Goal Management on Mobile and Enable Native Mobile Access.
When RBP is disabled go to Admin Tools Manage Security Permission to Access Mobile . Here you will
grant Mobile Goal/Objective permission for user/group.
When RBP is enabled go to Admin Tools Manage Security Manage Permission Roles General User
Permission . Here you will check Mobile Goal Access for a specific role or group.
You must add <mobile-field-list> in goal plan template, either in XML or via Manage Templates.
The following table shows the supported status related fields that can be configured into the mobile-field-list.
The manager can view his or her direct reports' goal plans and goals by choosing the My Team tab.