You are on page 1of 46

SF Learning Integration

Guide (1908)

Direct URL:

Page 1 of 46
Table of Contents
1. Introduction .................................................................................................................................... 5
1.1 Overview ....................................................................................................................................... 5
1.2 General Considerations ................................................................................................................. 5
2. Integrating SF Learning with Foundation – Configuration Steps ........................................................ 7
2.1 Considerations............................................................................................................................... 7
2.1.1 On the LMS Side ..................................................................................................................... 7
2.1.2 On the Foundation Side .......................................................................................................... 7
2.2 Pre-requisites ................................................................................................................................ 7
2.3 LMS-Side: Configuring the Integration with Foundation in SF Learning Admin................................ 9
2.3.1 Expected Error message ....................................................................................................... 11
2.4 Foundation-Side: Configuring the Integration with SF Learning in BizX Admin .............................. 12
2.4.1 Editing Company Settings ..................................................................................................... 12
2.4.2 Defining the Service Provider Settings for the Customer ....................................................... 13
2.4.3 Other Actions - On the LMS Side .......................................................................................... 14
2.4.4 Other Actions - On the Foundation Side................................................................................ 14
3. Configuring the Learning Menu Using Role Based Permissions ....................................................... 15
3.1 Introduction ................................................................................................................................ 15
3.2 Setting Up Groups ....................................................................................................................... 15
3.2.1 Overview .............................................................................................................................. 15
3.2.2 Create a Permission Group ................................................................................................... 15
3.3 Setting up Roles ........................................................................................................................... 17
3.3.1 Create a Learning Admin Role............................................................................................... 17
3.3.2 Create a Learning User Role.................................................................................................. 19
4. Setting Up the Synchronization of User Data .................................................................................. 20
4.1 HRIS Integration Options ............................................................................................................. 20
4.1.1 3rd Party HRIS Systems......................................................................................................... 20
4.1.2 SAP Personnel Administration .............................................................................................. 20
4.1.3 Employee Central ................................................................................................................. 20
4.2 Modifying the Data Model ........................................................................................................... 21
4.2.1 Introduction ......................................................................................................................... 21
4.2.2 Succession Data Model Configuration................................................................................... 21
4.3 Selecting a User Data Integration Option ..................................................................................... 23
4.3.1 Overview .............................................................................................................................. 23

Page 2 of 46
4.3.2 Option 1: EP User Export ...................................................................................................... 23
4.3.3 Option 2: EP User Export and EP Live Profile Export (most common) .................................... 23
4.3.4 Option 3: EP User Export and LMS Direct Input File (not recommended) .............................. 24
4.4 Creating the Scheduled Job for the Employees Export ................................................................. 25
4.5 Creating the Scheduled Job for the Live Profile (Extended User) ................................................. 28
4.6 Setting Up the Data Import with the SF User Connector in the LMS ............................................. 29
4.6.1 Considerations ..................................................................................................................... 29
4.6.2 Scheduling the Connector..................................................................................................... 30
4.7 Exporting Competencies .............................................................................................................. 33
4.7.1 Overview .............................................................................................................................. 33
4.7.2 Setting up the Export Job...................................................................................................... 33
4.7.3 Importing the Competency Library to the LMS ..................................................................... 33
5. Integrating with Jam ...................................................................................................................... 34
6. Setting Up PGP Encryption… .......................................................................................................... 35
6.1 Setting Up new keys .................................................................................................................... 35
6.1.1 On the Foundation Side ........................................................................................................... 35
6.1.2 On the LMS Side....................................................................................................................... 36
7. Using EC as the Source System for Data ......................................................................................... 37
7.1 User data ..................................................................................................................................... 37
7.2 Organizations .............................................................................................................................. 37
7.3 Job Codes .................................................................................................................................... 37
7.4 Using Integration Center.............................................................................................................. 37
7.5 Summary ..................................................................................................................................... 38
8. Integration with SAP Finance (FI/CO) ............................................................................................. 39
8.1 Overview ..................................................................................................................................... 39
8.2 Required Resources ..................................................................................................................... 39
8.3 Timeline ...................................................................................................................................... 39
8.4 Configuration Guide .................................................................................................................... 39
9. Integration with Gamification ........................................................................................................ 40
9.1 Overview ..................................................................................................................................... 40
9.2 Supported Gamification Vendors ................................................................................................. 40
9.3 Process Flow................................................................................................................................ 40
9.4 Enabling Gamification .................................................................................................................. 41
9.5 LMS Game Server Configuration .................................................................................................. 42

Page 3 of 46
9.6 Importing Game User IDs to SAP SuccessFactors Learning ........................................................... 43
9.6.1 Overview ................................................................................................................................. 43
9.6.2 Procedure ................................................................................................................................ 43
9.7 Assigning Game Points to SAP SuccessFactors Learning Events .................................................... 44
9.7.1 Overview ................................................................................................................................. 44
9.7.2 Configuration ........................................................................................................................... 44
10. External User ............................................................................................................................. 45
10.1 Overview ................................................................................................................................... 45
10.2 Foundation Configuration .......................................................................................................... 45

Page 4 of 46
1. Introduction

1.1 Overview
When integrating Learning with Foundation and the wider SuccessFactors suite there are various points
behind the scenes which potentially involve several servers and datacenters.

This documentation aims to describe the integration landscape to help Professional Service consultants
to integrate SF Learning to Foundation and describe the delivered integration points with other
SuccessFactors Modules.

While in the LMS, the necessary configuration settings are defined in the SF Learning Admin user
interface (Found under Learning Administration > System Admin > Configuration > System Configuration
> BizX), in Foundation the respective settings have to be made on the customer provisioning page.

It is therefore absolutely necessary to have provisioning access to the customers’ instance.

Getting provisioning access can take up to 2 weeks and requires the requestor to be SF certified in their
respective solution area.

1.2 General Considerations


Before you start, please make sure to keep the following points in mind:
• Is there an existing Foundation setup (brownfield), or is Learning the first module to be
delivered?
o If “”greenfield” – must set up RBP for Learners and Learning Admin

Page 5 of 46
o May need Foundation SSO implementation (get assistance from Platform PS)
o If “brownfield”, coordinate data structure and RBP with customers’ platform owner
• What HRIS (Employee Data Source) is the customer using
o 3rd Party HRIS
o SAP HR (also known as PA/OM)
o Employee Central
• Firewall issues between the various servers/datacenters can occur that will need to be
investigated with Ops

Page 6 of 46
2. Integrating SF Learning with Foundation – Configuration Steps

2.1 Considerations

2.1.1 On the LMS Side


• MUST have Provisioning access to the Foundation instance
• Employee Profile is used as the source system for basic user data in SF Learning (refer to the
connector workbook for field mappings).
• Any updates made to data directly on SF Learning will need to be manually updated in the
Employee Profile application, i.e. user data updates don’t flow from the LMS to Foundation, only
from Foundation to the LMS
• Employee Profile user IDs MUST match the SF Learning user IDs (and where applicable, the SF
Learning admin IDs) in order to integrate. If the user IDs are different, integration is not
possible, until user IDs are harmonized across both platforms.

2.1.2 On the Foundation Side


• The Standard Permission model should not be used (it is depreciated) – however if you must
enable Learning permissions, follow these steps:
o Grant the “Learning Access Permission” under Admin > Manage Security for Learning
User Access
o Grant “Learning Admin Access” permission under Admin > Administrative Privileges >
Manage Security to display the Learning Admin Link
o Optional - Grant “CDP Access” under Admin > Manage Security to allow users to access
CDP
o Optional - Grant “Jam Access”
o Set the corresponding permissions in Admin > Manage Security > Default User
Permissions

2.2 Pre-requisites
• <SF_DOMAIN> and CompanyID have been obtained by BizX Prod Ops (i.e. <SF_DOMAIN> =
performancemanager.successfactors.com, CompanyID=CustomerProd).
• <LMS_TENANT_DOMAIN> is known (i.e. https://customername.plateau.com)
• Determine if the customer instance is using Akamai
• Determine inf BizX is running under Akamai:

https://confluence.successfactors.com/display/IMPM/Akamai+for+BizX

On the provisioning page, search for the company and click on the company’s hyperlink. This will
bring you to the following page:

Page 7 of 46
Utilize the tool below to generate the necessary links and avoid typos (double-click to open the link
generator):

LMS .properties files


BizX
baseURL https://performancemanager.successfactors.com
successFactorsCompanyID CustomerProd
metadataProviders.[IDP1].value https://performancemanager.successfactors.com/idp/samlmetadata?company=CustomerProd
cdpServiceEndpoint Refer to http://confluence.successfactors.com/display/DCOPS/Quick+access to obtain the correct link.
BizX provisioning
COMPANY SETTINGS (Learning)
SuccessFactors Learning Integration URI https://lmsdomain.com
COMPANY SETTINGS (CDP)
LMS Home Page URL or Endpoint URL (skillsoft only)
https://lmsdomain.com/learning/services/LearningIntegration
Web Service Namespace for Transcript http://in.webservices.api.sfintegration.plateau.com
Web Service Service Name for Transcript LearningIntegrationService
https://lmsdomain.com/learning/saml/SSO SAML URL
Service Provider Settings
https://lmsdomain.com/learning/saml/SingleLogout SAML logout URL

Page 8 of 46
2.3 LMS-Side: Configuring the Integration with Foundation in SF Learning Admin

To set up the configuration, go to Learning Administration > System Admin > Configuration > System
Configuration > BizX

In the table below you can find the required configurations when setting up integration with SF
Learning.
Parameter Set to Comments
successFactorsLearningEnabled True Must be set to true when
integration with SuccessFactors
is enabled.
baseURL If NOT using Akamai NO slash at the end.
From Worksheet Used to generate client-friendly
If using Akamai URLs to BizX services (e.g. deep
Use performancemanager links, serverPing, oAuth token
(withour DC number) server, etc.). This URL must be
client-friendly, meaning it needs
to be resolvable from the
browser).

Page 9 of 46
successFactorsCompanyID From Worksheet above SuccessFactors Company ID for
the current tenant. This will use
the LMS
# tenant ID by default, so it is
recommended to keep the SF
company ID and
# LMS tenant ID in sync in
production.
Populate with what's being used
by other BizX modules as
CompanyID (tenant ID). Can be
left as the default value,
${tenantID}, only if LMS tenant
ID matches BizX CompanyID.
showNewsInIntegratedMode True showNewsInIntegratedMode
controls whether the news page
popup on the learning home
page.
ultraUIEnabled True Enable LMS Ultra UI - set to true
to support SF Ultra UI.

defaultIDP IDP1 The Default IDP


metadataProvider to use must
be set to one of the IDP
metadataProviders configured
below.
Leave as default
metadataProviders.[IDP1].value If NOT using Akamai URL of the BizX SAML Identity
From Worksheet above Provider (IDP). Needs to be
If using Akamai resolvable from the SF Learning
From Worksheet above, BUT server.
- replace url in front of Test this by copying the URL in
/idp/….. with the browser and making sure
performancemanager valid SAML IDP xml can be
(withour DC number) downloaded. You can further
verify the content by validating
the SSO URLs in the downloaded
XML. Make sure the server host
matches with the BizX server
you are integrating with.

Page 10 of 46
2.3.1 Expected Error message

When you save the settings, the following message will appear on successful update:

The settings have been successfully saved with the following warnings:

REST API testing failed with message: (Error requesting access token). Please check the baseRESTAPIURL
setting.
If you wish to validate the BizX REST API, please access this page through the BizX application and click
"Apply Changes". If you are not able to access the LMS through BizX, please check the baseURL setting.

Page 11 of 46
2.4 Foundation-Side: Configuring the Integration with SF Learning in BizX Admin

2.4.1 Editing Company Settings

Under Edit Company Settings, click the link Company Settings, then search for the fields listed on the left
column, and populate with the appropriate values.

Field Set to Comments


SuccessFactors Learning From Worksheet above Always needs to be set. This to be
Integration URI the main Plateau URL if Akamai is
enabled or not.
SuccessFactors Learning From Worksheet above This is the URL BizX will use to
Integration API URI communicate with the LMS.

Click ‘Save‘(Enter the Company ID to verify)


Field Set to Comments
Transcript – requires “Version Check the box Required for Integration data
11 UI framework (ULTRA)” transfer
Use default value for required Check the box Required for Integration data
field validation transfer, references required
template fields
Enable Add Learning Activity Check the box Allows Custom Learning activities to
Manually be added in BizX

Click ‘Save‘ (Enter the Company ID to verify)

Field Set to Comments


SFAPI Check the box Required for Learning to
communicate with BizX

Click ‘Save ‘(Enter the Company ID to verify)

Page 12 of 46
2.4.2 Defining the Service Provider Settings for the Customer

On the main Companies page, click the link Authorized SP Assertion Consumer Service Settings:

To enable SAML, click “Add another Service Provider ACS” and add the tenant-specific SAML URLs:

Field Set to Comments


Assertion Consumer Service From Worksheet above Always needs to be set. Handles the
(SAML URL) integration authorization between
the Foundation and SF LMS.
Logout Url From Worksheet above Always needs to be set. Handles the
(SAML Logout URL) integration authorization between
the Foundation and SF LMS.

Click ‘Save’

At times it can take up to 1 hour for the SAML settings to replicate across the data center – if your
integration does not work immediately, please wait for at least 1 hour before beginning to
troubleshoot.

Page 13 of 46
2.4.3 Other Actions - On the LMS Side
• Learning Administrators should be granted the LEARNING_ADMIN role or a workflow subset of it (or
else the integration will fail).
• Learning Users should be granted the LEARNING_USER role or a workflow subset of it – but must
have the “Access Home” workflow (or else the integration will fail).
• User Settings (under System Admin > Configuration > System Configuration): uncheck “Allow Users
to assess competencies of their own”
• Password Settings (under System Admin > Configuration > Global Variables): uncheck “Enable
Password Expiration”
• Locales: en and en_US will map to the English locale in SF Learning by default. Other locales will
need to be created in SF Learning according to BizX’s locales
• Set the SF Learning timeout to match the Foundation core application’s timeout

2.4.4 Other Actions - On the Foundation Side


• Create an “Admin” account in Provisioning
• Under Company Settings, select ‘Enable Control Employee Import Permission In RBP’ (this is
required to set the target population for the Export User Job when exporting users from EP)
• Add RBP Access to the created Admin user (Admin center →Set User Permissions →Manager Role-
based Permission Access)
• Create a Role and Group for yourself, giving you ALL permissions (if allowed by company policy)
• Set the password expiration policy for the web service user so that it does not expire (max password
age = -1) while in implementation mode.
• Set up Support Access (allows you to enter Foundation after SSO has been set up)
1. In Provisioning, under Company Settings, select ‘Enable Secondary Login Feature’, then Save
2. In Foundation, goto Admin Center, Manage the role you created for yourself, and add a new
permission (Manage User → Manage Support Access). Save Changes. Sign out and back in.
3. In Foundation, goto Admin Center → Company Settings → Manage Support Access
4. Find your user, check the box in the “Create Permission” column, click unlimited access and
click the “Grant…” button

Page 14 of 46
3. Configuring the Learning Menu Using Role Based Permissions

3.1 Introduction
Role-based Permissions should be used to manage access to Foundation features (Standard Permissions
may also exist at some customers, but this guide does not cover that legacy functionality.

RBP works on a principle that a Permission Group is assigned a Permission role, and that permission role
in turn is assigned individual functional permissions. Users are then added to the permission Group,
inheriting the functional permissions.

If you are at a customer that has an existing RBP configuration, it is IMPERATIVE that you do not
configure any permissions without consulting with the customer’s functional owner of the RBP.

Any of the following configurations require that your admin user has access to Role-based permissions
(Admin center →Set User Permissions →Manager Role-based Permission Access).

3.2 Setting Up Groups

3.2.1 Overview
Groups can either be static or dynamic. Static groups do not change, and membership to the group is
managed by importing a flat file, containing the group name and user id.

While in project mode, we recommend to set up dynamic groups, which allows user to be added
manually at any time, or automatically, based on attributes.

For the purpose of LMS integration, we need either one or 2 groups.


• If all users should have access to Learning, which is often the case, we need only one group.
• If only selected users should have access to Learning, we need to set up a dedicated group for
Learners
• The remaining group is for Learning Administrators, which is a specific subset of users.

3.2.2 Create a Permission Group

Navigate to Admin center → Set User Permissions → Manage Permission Groups → Create New
1. Enter the Group Name, i.e. LMS Learning Admin Users
2. Click the People Pool drop down, select User
3. Begin typing the user name until the system finds the user, click ‘Done’
4. Clock ‘Done’ again on the Permission Group dialog.

Page 15 of 46
If needed repeat this process to create a group for ‘LMS Learning Users’.

Page 16 of 46
3.3 Setting up Roles

To create a Role, navigate to Admin center → Set User Permissions → Manage Permission Roles →
Create New

3.3.1 Create a Learning Admin Role

1. Enter the Group Name, i.e. LMS Learning Admin Role


2. Enter a description, i.e. Allows Access to LMS Admin
3. Click the ‘Permission’ button under ‘Permission Settings’
4. Navigate to ‘Manage Learning’
5. Select ‘Learning Admin Access Permission’

6. Click ‘Done’
7. Click the ‘Add’ button under ‘Grant this role to’
8. Click the ‘Select’ button and select the desired Permission Group (i.e. ‘LMS Learning Admin
Users’)
9. Click ‘Done’

Page 17 of 46
Page 18 of 46
3.3.2 Create a Learning User Role

1. Enter the Group Name, i.e. LMS Learning Users Role


2. Navigate to ‘Learning’
3. Select ‘Learning Access Permission’

4. Under ‘General User Permission’


a. Select “Log In” (assumes that no other role with login permission exists)
b. Select ‘SFAPI User Login’ (manages the communication with the LMS via API)
c. Select ‘Mobile Access’ (if desired)
5. Click ‘Done’
6. Click the ‘Add’ button under ‘Grant this role to’
a. Permission Group
Click the ‘Select’ button and select the desired Permission Group (i.e. ‘LMS
Learning Users’)
b. OR Everyone (if all users are Learners)
7. Click ‘Done’

Page 19 of 46
4. Setting Up the Synchronization of User Data

4.1 HRIS Integration Options


Employee Profile is the only delivered connection point. SF LMS does not “integrate” with Employee
Central or other HRIS applications. This means that any employee data has to be “fed” into Employee
Profile first.

4.1.1 3rd Party HRIS Systems


It is the customers’ responsibility to produce one or more flat CSV files and place it onto an SFTP server,
where the Employee Import job will pick the file up and import the data into Employee Profile. To
provide the customer’s technical team the appropriate import template, goto Admin Center →Update
User Information→Import Employee Data →Download a blank CVS template. The same is true for the
Life Profile data file – goto Admin Center →Update User Information→Import Extended User
Information – then select the file to produce and click ‘Download Data Import File Template’. You have
to ensure that all fields required for the LMS are included in the export.

4.1.2 SAP Personnel Administration


SAP’s onPremise HCM application is called SAP Personnel Administration (PA) and is very often found to
be integrated with SAP Organizational Management (OM), or short - SAP PA/OM.

It is the customer’s responsibility to provide the HCM data, which can either be done by writing extracts
and producing flat files, similar to the 3 rd Party HRIS option above, or by licensing and integrating the
SAP HCI Add-on 3.0, which can provide some automated integration points. Here too, you’ll have to
ensure that all fields required for the LMS are included in the export.

The HACI Add-on will required the expertise of a SXA ‘Basis’ consultant, and the effort/steps of
implementing the HCI Add-on is outside the scope of this document.

4.1.3 Employee Central


When SAP SF Employee Central is the system of source, you must work together with the EC Consultant
(or the customer’s EC team) to ensure all LMS required fields are configured in EC and are copied into
Employee Profile. An extra challenge is that EC stores some LMS required data (for example
‘Organization’) in a single string (ID/Value) – such as “0255445 Headquarters”, while the LMS expects
the ID and description to be delivered in 2 separate fields. You need to work with the EC Consultant to
make sure these fields are properly split and loaded into as many custom columns (use Extended user
Information in order not to ‘hog” the 15 shared EP Custom Columns.)

The effort to configure EC and the splitting of data fields is outside of the scope of this document, as it is
customer specific, and the individual field requirement vary from project to project.

The below setup can serve as an example on how to achieve this data replication – however, the
assistance of an EC Consultant is required.

Page 20 of 46
4.2 Modifying the Data Model

4.2.1 Introduction
When discussing required LMS fields with you customer, there (more often than not) will be several
fields that do not exist in Employee Profile. While there are 15 custom Columns available in EP, they are
shared by all modules that are housed on Foundation. The LMS should not occupy any of those custom
columns for the sole purpose of data exchange – doing so would limit adding other SF Suite modules, a
situation that should be avoided.

If you do need to add custom fields that serve only the purpose of LMS User data integration, the
recommended practice it to extent the Succession Data model with user-info fields. This practice adds
those fields to the extended Employee file (User0Info) and make them available for export into the LMS
without occupying any of the standard 15 custom columns.

4.2.2 Succession Data Model Configuration


The Succession Data Model is an XML configuration document that can be imported and exported from
the Provisioning tool. The location for import and export of this file is seen in the screenshot below.

1. Export the Succession Data Model from the BizX provisioning tool to your PC\
2. Open the XML file in your favorite text editor
3. Immediately (before making any changes) save the XML file under a new name together with
any other customer-specific configuration documents. This creates a copy of the original
configuration, in case you have to revert (this is particularly important if you are in a
“brownfield” implementation.
4. In the XML file, search for the first occurrence of ‘<userinfo-element>’

Page 21 of 46
5. Insert a blank line right before the ‘<userinfo-element>’ tag, right after the last ‘</standard-
element>’ tag.

6. Build your userinfo element like this (let’s say for the JP_EFF_DTE, which does not normally exist
in EP):

SFPART004263-data-model.xml

7. Re-import the Succession Data Model.


8. To confirm your successful changes, download the Extended User Profile Import Template (goto
Admin Center →Update User Information→Import Extended User Information → Personal
Information and click ‘Download Data Import File Template’.

Page 22 of 46
4.3 Selecting a User Data Integration Option

4.3.1 Overview
The user data is exported from Foundations Employee Profile and then imported to the LMS.
Foundation exports to one or two flat files, which the LMS SF User Connector then picks up. The two
files are the Employee Export and the Live Profile export (also referred to as the extended user data file)
and are either full feeds (i.e. export all user data out of EP), or delta feeds (i.e. they export only the
changed user records since the last run), namely “Delta Employee Export” and “Delta Live Profile
Export”. The recommended setup is:
1. For the very first time you are migrating the customer’s data, set up the full user exports (via the
“Employee Export” and the “Live Profile export” feeds). [Note: you could start with running the
delta feeds for the initial export but performance might be slower.]
2. The delta feeds can then be setup; the jobs are “Delta Employee Export” and “Delta Live Profile
Export”. Running these for the first time will result in a full export and set the baseline for
subsequent delta feeds. Delta feeds are typically run daily but that depends on the customer’s
needs.
3. Optional: you might also choose to set up additional full feeds (typically on weekends) to account
for any failures or other issues during the week. If you choose this option, do not set up the delta
feeds on the same days that the full feeds will run.

4.3.2 Option 1: EP User Export


Use this option as the default approach. One user data file is imported into EP and later exported from
Foundation and imported in the LMS via the user connector - SF connector. This approach allows for the
main EP user attributes and the 15 EP custom column values to be sent to the LMS.
(One file, standard set of user attributes + 15 custom columns)

4.3.3 Option 2: EP User Export and EP Live Profile Export (most common)
In addition to the standard EP user attributes, further user data may be sent by the customer to EP from
the Live Profile should they need to be utilized in the LMS. The extended file and standard EP file need
to share the EP user ID to be correctly processed. It is also possible for other custom Foundation export
routines other than Live Profile to feed the extended file such as Certificates, Award Info, and Education.
This approach allows for the main EP user attributes and the 15 EP custom column values to be sent to
the LMS with additional Live Profile data.
(Two files, standard set of user attributes + 15 custom columns + extended EP attributes)

Page 23 of 46
4.3.4 Option 3: EP User Export and LMS Direct Input File (not recommended)
If there is a need to capture custom columns values in addition to the 15 available in EP and the
customer has source data that is not sent to EP but is required to be in the LMS, the customer can send
one user file to EP and another to the LMS providing the user IDs match. Using header processing with
the standard LMS user connector it is possible to add additional custom columns or use a separate
extended data file.

This approach allows for all standard LMS user attributes to be populated and any number of custom
column values to be sent to the LMS.
(Two files, standard set of user attributes + any LMS additional attribute, X custom columns and the
ability to process into the LMS which is not in BizX).

This process is not recommended as the future of a stand-alone LMS connector is limited, as the
systems move to a completely integrated platform.

Page 24 of 46
4.4 Creating the Scheduled Job for the Employees Export
As mentioned in section 4.3Selecting a User Data Integration Option, the data exchange is by means of
flat files, and the appropriate export jobs must be scheduled.

1. Access the customer provisioning page, and from the company instance, navigate to Managing
Job Scheduler > Manage Scheduled Jobs > Create New Job
2. From the Job Type field drop-down list, select “Employees Export” (or “Delta Employee Export”,
depending on which one you are setting up) and schedule the user extract process.

3. Typical Settings:
• Job Owner: recommended to use the same “sfapi” account that was used for the
cdpServiceParameterUsername – make sure the user has “All deportments, “All Divisions”
as the target user groups set up under “Manage Employee Import” – or else the file will not
contain any data.
• Job Parameters: (Character Encoding) Unicode (UTF-8)
• Host Address: e.g. ftp2.successfactors.com:22
• File Path: /incoming
• FTP Passive mode: not checked
• SFTP Protocol: checked
• Date format: do not choose any value
• File name: should be user_data_XXX.txt where XXX is the tenant ID configured in the
connector properties file within Learning

Page 25 of 46
• File encryption: select PGP when desired (in most cases)
• The file must be configured to be placed where the SF-LMS User connector will pick it up
from, so it must match what’s specified in the CONNECTORS properties file. As of November
2011, the recommended pickup location is prodftp.successfactors.com and must match the
location that the employee export file was placed in. An example of the user.connector.ftp
values in the CONNECTORS properties files is listed below:
o user.connector.ftp.protocol=sftp
o user.connector.ftp.server=prodftp.successfactors.com
o user.connector.ftp.port=22
o user.connector.ftp.userID=<customer-specific FTP userID>
o user.connector.ftp.password=<password for the above UserID>
o user.connector.ftp.input.remoteDirectory=/incoming
4. Job Occurrence should be set to meet your customer needs (most likely “Daily”) and execute
well ahead (at least 1 hour) before the SF-User connector is scheduled on the LMS side.
5. Set a start date and time (in the future)
6. Enter any additional email recipients you want to notify of job execution (such as yourself), and
check the “Send email when job starts” box if desired.
7. Click the ‘Create Job’ button, click “Submit” in the following dialog.

Page 26 of 46
Page 27 of 46
4.5 Creating the Scheduled Job for the Live Profile (Extended User)
1. Access the customer provisioning page, and from the company instance, navigate to Managing Job
Scheduler > Manage Scheduled Jobs > Create New Job

• The Job Type is “Live Profile Export” (or “Delta Live Profile export”, depending on which one
you are setting up)
• The Live Profile Type to export is “Personal Information”
• Character encoding is “UTF-8”
• Make sure the export file is unzipped
• In the configuration that follows the filename should be “user_extended_data_tenant.txt”
• The FTP server can be set up the same way it is set up for the primary user data file
2. Job Occurrence should be set to meet your customer needs (most likely “Daily”) and execute
well ahead (at least 1 hour) before the SF-User connector is scheduled on the LMS side - BUT, in
order for the file to be picked up by the SF User Connector, both the User Export and file Live
profile Export file must reside in the same directory on the SFTP server.
3. Set a start date and time (in the future)
4. Enter any additional email recipients you want to notify of job execution (such as yourself), and
check the “Send email when job starts” box if desired.
5. Click the ‘Create Job’ button, click “Submit” in the following dialog.

Page 28 of 46
4.6 Setting Up the Data Import with the SF User Connector in the LMS

4.6.1 Considerations
• LMS user, SF user and any other connector settings / field mappings / PGP settings are available via
System Admin > Configuration > System Configuration > CONNECTORS
• The BizX SF user connector is the connector process to import users from BizX
• BizX user data doesn’t contain IDs for DEPARTMENT, JOBCODE, DIVISION, LOCATION. BizX custom
column values may be used and then mapped to Standard LMS fields
• The connector searches for a file with a tenant-specific filename. The connector filename produced
by the Employee Export should be produced with the name of user_data_XXX.txt where XXX is the
tenant ID configured in the CONNECTORS properties file setting of
connector.input.file.name.tenant.suffix.override=XXX within SF Learning
• Country codes: the codes loaded in SF Learning should be based on Foundation’s country codes.
Invalid or non-existent country codes will result in the user record being rejected
• Locales: en and en_US will map to the English locale in SF Learning by default. Other locales will
need to be created in SF Learning according to Foundation’s locales.
• Time zones: all time zones in SF Learning that are coming from Foundation should have the display
flag set to “Yes”
• Frequently, the data format is different for Foundation and SF Learning. For example, in the EP, the
country may be completely in uppercase, for instance CHINA, DENMARK, or FRANCE, while in the
LMS it is written as follows: China, Denmark, and France. In this case you will need to add a
transform configuration in the connector properties file, such as:

sfuser.field.transform.data.CNTRY.China=CHINA
sfuser.field.transform.data.CNTRY.Denmark=DENMARK
sfuser.field.transform.data.CNTRY.France=FRANCE

Other examples include:


Locale: sfuser.field.transform.data.LOCALE.Chinese=zh,zh_CN,zh_CH
Timezone: sfuser.field.transform.data.TIMEZONE.Asia/Hong\ Kong=ASIA/HONG KONG,UTC+8

Page 29 of 46
4.6.2 Scheduling the Connector
Once you know when the Employees Export file will be placed on the SFTP site (a 5000-user extract
takes less than 5 minutes to export) the User Connector – SF can be scheduled to pick up the file and
process it.

To do this, go to System Admin > Connectors > User Connector

4.6.1 Considering NO_MANAGER

Overview
In Foundation , NO_MANAGER is used for for top level employee who don't have any supervisor (EX:
CEO etc). In LMS NO_MANAGER will not be update while user connector SF run.

Considerations on the Foundation side


The value NO_MANAGER is a reserved value for a top of reporting chain condition. It essentially tells the
application that this person legitimately has no manager and will never have a manager in the system.
The application then skips all routing steps that require a manager to be involved. Thus in a workflow

Page 30 of 46
which requires a manager and 2nd level manager; if a user is listed as having NO_MANAGER the
application will skip the manager approval steps.

Two ways that we can suggest workarounds from a data perspective are as follows:

1. Define a fictitious user such as a test user to be a placeholder manager.


• Individuals will be allowed to create goals and interact with the system up until the point
where a manager step is encountered. When the form is sent to the manager step, the form
will route to this user.
• Once the HRIS feeds include a real manager, the forms will route to the new appropriate
individual as part of the regular load process

2. Define an interim manager from HR or management to be the manager until one is defined in
HRIS
• This person will be able to see and act in the role of manager for the individuals in question
• The hierarchy and dashboard will consider the interim manager to be the reporting manager
of the individuals who are mapped.

Consider your business process and ask yourself during this period of time while no manager is assigned
if something came up who would this person turn to in their day to day job to request a day off or call in
sick or ask about priorities? The point is that in the real world someone is responsible for the care and
feeding? of that employee from a practical standpoint.

Another question you could ask is If it comes to Jan 1 and there is still no one there who will complete
the performance evaluation and the comp adjustment?

It is critical for the system to function correctly, that ALL employees have a valid value in the manager
field for workflow. If they dont currently have a physical manager, then the system requires you enter a
placeholder value. Also Note If you terminate a manager, you should reassign all subordinates in the
same data load.

Considerations on the Foundation side

If you try to add any value or data in supervisor filed which is not available in the LMS, connector will
reject the record.

• Navigate to System Admin > Configurations > connector configurations and search for "
@nullify@ " property . this connector property will be used to notify the application that
whenever supervisor fields comes with value "NO_MANAGER" , application will ignore the value
and process the user record successfully and it won't update or remove the existing supervisors
from LMS. Note this property won't nullify existing supervisors .
• If you want NO_MANAGER to update in the LMS you should create a user with ID
"NO_MANAGER " and should remove @nullify@ property from connector configurations, so
that connector will update the user records with NO_MANGER user record.

Page 31 of 46
• If you want to nullify the existing supervisors for the users in LMS who are coming in with
NO_MANAGER, prepare a feed file (manually by replacing “No_Manager” with “”) with empty
supervisor value and add SUPER filed in updateonnull property and run user connector . when
user connector runs with empty supervisor field connector will nullify supervisors.\]

Please test this in your stage instance before you apply it in production.

Page 32 of 46
4.7 Exporting Competencies

4.7.1 Overview
Competencies can be exported from Foundation and imported into the LMS. In the LKMS,
Competencies can be assigned to Items (via the Item Connector, or manually) and a Competency rating
can be assigned. This integration provides the following functionality:

• When the user successfully completes the Item in the LMS, the Competency is awarded at the
defined rating
• User that have Goals and Development activities assigned to them, can select Items that fulfill
those requirements defined in GM/CDP
• Learning can be added from the catalog or search through the competencies of the required job

4.7.2 Setting up the Export Job


First identify the SF competency library that needs to be exported. One place where you can see the
competencies that belong to a SuccessFactors library is in provisioning, under Managing Competencies
and skills >Competency Libraries)

1. Login to Provisioning
2. Choose Company ID
3. Managing Job Scheduler > Manage Scheduled Jobs > Create New Job
4. Add job name, i.e. ‘LMS Competency Export’
5. Job Owner: Enter Admin user
6. Job Type: Competency Library export
7. Job Parameters: Export GUID radio button and choose <Library name> in Competency Libraries
(Ex: SuccessFactors)
8. The FTP server can be set up the same way it is set up for the primary user data file
9. File Name ‘sf_competency_data_xxxx.zip’, where xxx is tenantID or CustomerID in LMS
10. File Encryption:Choose none radio button and verify
11. Enter the start Date and time
12. Click the ‘Create Job’ button, click “Submit” in the following dialog.

4.7.3 Importing the Competency Library to the LMS


Please refer to the Competency Connector Guide attached below.

Standard_Compete
ncy_Connector_Workbook_BizX-LMS_64.doc

Page 33 of 46
5. Integrating with Jam
The following URLs are valid as of 3/20/2014 and are not expected to change. If any of the following
information appears to be inaccurate, please reach out to the JAM engineering team for assistance. The
LMS team has no insight regarding these URLs.

URL IP Begins Instance Status Start Date End Date


Name DC
with File
New Jersey Decommissioned
1 not applicable 10.100. nj.rb 6/1/2011 5/3/2013
(NJ) Standard Production
https://jam2.sa
Amsterdam 2 10.2. jam2.rb Premium Production 4/1/2013
pjam.com
Arizona https://jam4.sa
4 10.4. az.rb Standard Production 1/1/2011
(AZ) pjam.com
Europe Decommissioned
5 not applicable 10.5. eu.rb 5/1/2011 9/13/2013
(EU) Standard Production
Ashburn, https://jam8.sa
8 10.8. jam8.rb Premium Production 5/3/2013
USA pjam.com
Sydney, https://jam10.s jam10.r
10 10.10. Premium Production 3/1/2013
Australia apjam.com b
St. Leon-
Rot (aka https://jam12.s jam12.r
12 10.118. Standard Production 9/13/2013
"Rot"), apjam.com b
Germany
jam4-
SalesDemo https://demo.s
4 10.4. salesde SalesDemo 3/1/2013
Arizona apjam.com
mo.rb
ashburn
https://jamsale
SalesDemo -
8 sdemo8.sapjam 10.8. SalesDemo Mar-13
Ashburn salesde
.com
mo.rb

Page 34 of 46
6. Setting Up PGP Encryption…

6.1 Setting Up new keys

6.1.1 On the Foundation Side


Access the customer provisioning page, and from the company instance, navigate to:
Manage Scheduled Jobs > Managing PGP Keys

Remove any already imported keys (in the “Imported Keys” web page section), browse for the Public
Key (in the “Import Encryption Key” web page section) you obtained via the instructions in the “Error!
Reference source not found.” document section, and import the public key, which should now show up
under the “Imported Keys” web page section with a current date/timestamp.

Page 35 of 46
6.1.2 On the LMS Side
1. Raise a Jira ticket addressed to the Network Team to obtain the following from BizX:
• Private Key
• Passphrase
• Public Key (can also be exported from BizX UI)

Ask them to Convert ASCII keyring format to base64


2. Log in to SF Learning Admin and edit the CONNECTORS configuration:
- Set the value of connector.pgp.public.keyring to the contents of the pubring.gpg.base64 file
- Set the value of the connector.pgp.secret.keyring to the contents of the secring.gpg.base64 file
- Set the value of connector.pgp.passphrase to the passphrase obtained from BizX
3. Apply Changes

Page 36 of 46
7. Using EC as the Source System for Data

7.1 User data


As previously discussed in 4.1.3Employee Central, LMS does integrate with Employee Profile. Therefore
all user data that is required for the LMS will have to be created in Employee Central as well, and the
fields copied to EP as separate ID/Value fields.

7.2 Organizations
The LMS requires an organizational hierarchy, to properly function. This organizational hierarchy is set
up in the LMS by a Parent → Child relationship between Organizational units (by Org ID). By contrast,
the Org Chart in Foundation is set up by a User → Manager hierarchy.

This means, that as-is, when EC is the source for user data, there is no direct possibility to extract the
data required for the LMS Organization Connector. In addition, the Provisioning job scheduler does not
have a job for Organizational Units that can be configured.

7.3 Job Codes


A similar issue exists with job codes – there is no export job available to export the job code IDs and
descriptions, as well as any other data related to job codes, which then can be picked up by the Job
Code Connector.

7.4 Using Integration Center


The integration Center can be used to extract (and even structure) user-related data, and exports can be
formatted in LMS Connector compatible format. The below examples depict the following set up:

Business Unit (not a child of anything)


 Division (child of Business Unit)
 Department (child of Division

Setting up the EC Associations relationship meant we could select the related parent directly within each
child object and we ensured no multiple parents could exist but clearly this approach needed to be
addressed early on in the EC project.

The below example depict how to structure the Organization Connector and Job Code Connector via the
Integration Center.

FODivision FODivision FOJobCode FOJobCode


Scheduled LMS File Export_definition.icd
Scheduled LMS File Export_specification.csv
Scheduled LMS File Export_specification.csv
Scheduled LMS File Export_definition.icd

Page 37 of 46
7.5 Summary
Working with EC as the source system for user data requires early interaction with the EC team, as there
are many consideration to be taken into account. If those considerations are not token into effect, it
will require significant rework (and potential project delay and additional cost) on the EC side, or the
LMS may not be able to fulfill all business requirements.

Page 38 of 46
8. Integration with SAP Finance (FI/CO)

8.1 Overview
Success Factors Learning CAN be integrated with SAP onPremise Finance. This integration is done via
the HANA Cloud Platform.

8.2 Required Resources


You will need the assistance of a customer SAP FI/CO expert, or a SAP FI/CO consultant and a customer
finance functional user, as this integration requires mapping of account codes that can only be known by
the customer. In addition this integration requires the implementation of a BAPI, for which the
customer’s Basis team might need to assist with Transport (move of configuration between instances)
requests.

In addition you will need the expertise of a SAP Hana Cloud Platform consultant to set up the integration
on the cloud side.

8.3 Timeline
As customer’s SAP onPremise systems are often locked down for configuration, and only open up a few
timers per year, it is imperative that integration activities are scheduled in accordance to these
maintenance windows.

8.4 Configuration Guide


The below configuration guide provides detailed integration steps.

SF_LRN_Intg_SAP_Fi
n.pdf

Page 39 of 46
9. Integration with Gamification

9.1 Overview
SuccessFactors Learning can be integrated with a gaming server - when you turn your organization's
learning into a game, users are more invested in their learning and you broadcast how you want them to
progress through their learning goals.

9.2 Supported Gamification Vendors


Before you can administer learning games, you must have a game server in place because the game
takes place on the game server and reports the results back to SAP SuccessFactors Learning.

We currently support the following gamification vendor:

• Bunchball

The customer will need to have purchased a license with Bunchball directly.

9.3 Process Flow


After you configure the game server, you connect to it from the LMS through the GAMIFICATION system
configuration. SAP SuccessFactors Learning sends points to the game server, where your company's
game is configured. The game server runs the game logic and sends back user achievements (badges,
points, leaders, and so on).

Page 40 of 46
9.4 Enabling Gamification
Connect SAP SuccessFactors Learning to a game server so that SAP SuccessFactors Learning can send
points to the game server, the server can run your game, and the game server can send back
achievements.
System Admin > Configuration > Gamification Settings

Property Description
Set to true to enable gameplay in SAP SuccessFactors
gamificationEnabled
Learning. Set to false to disable gameplay.
If you set to true, then when gamificationEnabled is also set
to true, SAP SuccessFactors Learning automatically
autoGenerateGamificationUserID generates game user IDs for all users with the Post
Gamification workflow. If you set it to false, you must import
game user IDs for users.
If you set to true, then users see a leader board in their
Achievements. Leader boards foster competition among
leaderboardDisplayEnabled
employees, so consider setting to false to downplay the
competition or true to engage in competition.

Page 41 of 46
9.5 LMS Game Server Configuration
Each game server is identified in brackets. For example, the Bunchball server is identified by the prefix
gamificationProviders[BUNCHBALL] and the setting gamificationProviders[BUNCHBALL].enabled is the
enabled setting for Bunchball.

System Admin > Configuration > Gamification Settings

Property Description

Set to true to enable the game server. Set to false to disable


enabled
it.
The name of the server. We pre-configure the names, so in
name
most cases, you do not need to change it.
The label that controls the name of the game server as users
and administrators see it. You can go to this label in
label
References Geography to change its value. We do not
recommend that you change this setting.
This is the base URL that SAP SuccessFactors Learning
apiURL connects to for the game server APIs. It is pre-configured, so
you should not need to change it.
This is the API key that identifies your calls in the server. For
Bunchball, you can find your API key in the Bunchball Admin
config.appKey Console. If you are connecting to a sandbox environment in
Bunchball, prefix your key with Sandbox-. If you are
connecting to production, prefix your key with Production-.

The API secret key that authenticates calls to the Bunchball


server. You can find your secret key in the Bunchball Admin
config.secretKey
Console. The key is encrypted in SAP SuccessFactors Learning
when you click Apply Changes.

Page 42 of 46
9.6 Importing Game User IDs to SAP SuccessFactors Learning
Import game user IDs to SAP SuccessFactors Learning so that SAP SuccessFactors Learning users are
matched to the game server user IDs.

9.6.1 Overview
If you set autoGenerateGamificationUserID to true in System Admin → Configuration → Gamification
Settings, then you can skip this step because your IDs are automatically generated.

If, however, your users already have user IDs in the game server, then you set
autoGenerateGamificationUserID to false so that you do not overwrite their existing IDs. In this case,
you must import their existing user game IDs to SAP SuccessFactors Learning.

9.6.2 Procedure
If your users already exist, and you just want to add game IDs to their SAP SuccessFactors Learning
accounts:

1. Go to Users →Users and search for the users who should have IDs on the game server. You
conduct this search to get the correct user names from the system. Later in this procedure, you
copy them to the import sheet.
2. Click Download Search Results.
3. Save the .csv file that SAP SuccessFactors Learning generates to your hard drive.
4. Go to System Admin →Tools →Import Data, select Download Template, in Record Type, select
User, and then click Submit.
5. Save the user template to your hard drive.
6. The name of the template is EntityTemplate_User.xlsx.
7. If you downloaded users in Step 1 copy the user IDs that you exported into the User ID column
of EntityTemplate_User.xlsx.
8. Complete the EntityTemplate_User.xlsx template and then save it.
9. For this task, you need to add the user's game ID in the Gamification User ID column. If you add
data to another column, it will also update the user record.
10. Go to System Admin → Tools → Import Data and select Import Data. In Record Type, select
User.
11. In Import Option, select how you want to add or update the user records.
a. If you are adding the users for the first time and you do not want to update existing
users, select Add.
b. If you are updating existing users with game IDs, select Update (this is the most likely
scenario).
12. If you are both updating existing users with their game IDs and adding new users at the same
time, select Add and Update.
13. In Import File, click Browse to upload EntityTemplate_User.xlsx.
14. Click Submit.

Page 43 of 46
9.7 Assigning Game Points to SAP SuccessFactors Learning Events
Assign game points to SAP SuccessFactors Learning events so that game server rewards the correct
number of points when users complete a learning action (such as enrolling, recommending, completing,
and so on).

9.7.1 Overview
The game points for learning events are the points that all events receive when they perform a learning
action. For example, if users rate a QuickGuide, they can receive a number of points and those points
are sent to the game server. In completion events (for example, completing a program), you can
override the default setting at the entity level.

9.7.2 Configuration
1. Go to System Admin → Configuration → Gamification Settings
2. For each event that you want to send to the game server, select the Published checkbox.
3. For each published event, add a number of points for users to earn in the Base Points column.

Base points are a way to signal the relative importance of different events. For example, you
probably want to signal to your users that completing a learning item is more important than
enrolling into it. You might also want to award more points for completing a program (which is many
learning activities) than completing a learning item (one learning activity). Users see the completion
points on the details page of the entities, so they know how many points they will earn for the
action, and they can see how their score improves on other events, so they can figure out the
relative importance of different events.

4. Click Save.

To override the completion points for any one learning item:


• Go to Learning → Items, open the learning item, and change the points in the Gamification Base
Points field.
To override the completion points for any one learning program:
• Go to Learning →Programs, open the program, and change the points in the Completion Points
field.

Page 44 of 46
10. External User

10.1 Overview
Prior to 1608, an external user that self-registers on a Learning site (not the native registration) will be a
Learning only user with no access to the platform or its features, such as Jam.

This integration enables the creation of an external user in platform when a user self-registers on a
Learning site.

CAUTION Enabling this feature will not automatically migrate existing external users. Existing external
users that need access to platform should be migrated via export/import.

10.2 Foundation Configuration

1. Enable External Learning User in Provisioning


2. In platform, create a group for external learning users, create the permission role for all external
users and grant this role to the external learning users group. (Self-registering users will
immediately get this role upon registration. Administrator can add the user to other groups as
well.)
3. Enable Integrated External User in Learning
4. Optionally, map the platform theme to the Learning Brand to be used for the site.
5. Optionally, require email address for registration and require email address to be unique. Self-
service password recovery requires a unique email address.

Page 45 of 46
11. Appendix

11.1 Foundation/Data Center Links


Please follow the link below to obtain any integration URLs that might be needed:

https://confluence.successfactors.com/display/DCOPS/Quick+access

11.2 Datacenters running Akamai


Please follow the link below to obtain trhe data center Akamai status:

https://confluence.successfactors.com/display/IMPM/Akamai+for+BizX

Page 46 of 46

You might also like