TCC Touchpoints
TCC Touchpoints
Version 2.4
By
Taleo Technical Services
2
Confidential Information
It shall be agreed by the recipient of the document (hereafter referred to as “the
other party”) that confidential information disclosed by Taleo through its documents
shall be retained in confidence by the other party, and its respective employees,
affiliates and/or subsidiaries, pursuant to the following terms and conditions:
For the purpose herein, the term “Confidential Information” shall mean the following:
Revision history
3
Romain
1.6 2010-03-20 • Added a comment about running under Unix.
Guay
• Added troubleshooting tips.
Romain
1.7 2010-03-23 • Added TEMP_FOLDER symbol and \temp subfolder in
Guay
the package.
Romain • Enhanced the procedure to create multiple Net-Change
1.8 2010-04-14
Guay repositories.
Romain • Added a comment in section 10 regarding setting up a
1.9 2010-04-15
Guay new project and excluding files from source repository.
Romain
1.10 2010-04-16 • Adjusted comments in section 10.
Guay
• Replaced the NET_CHANGE_CONFIG variable by
Romain
1.11 2010-05-15 NETCHANGE_REPOSITORY and dropped the /net-
Guay
change/configuration folder.
Stephan
1.12 2010-06-29 • Adjusted comments in section 10.
Belanger
• Updated the license agreement.
Romain • Added TCC_Loop.bat, TCC_Loop_FTP.bat,
1.13 2010-07-07
Guay TCC_Loop.sh, TCC_Loop_FTP.sh.
• Removed FTP_List.sbat and FTP_List.sh.
Romain
1.14 2011-02-07 • Fixed typos and formatting.
Guay
• Added FTP_RETRY_NUMBER,
Romain
1.15 2011-02-26 FTP_RETRY_INTERVAL and FTP_RETRY_FACTOR
Guay
variables.
Romain • Added a “Known limitations” section.
1.16 2011-04-15
Guay • Added LOG_FOLDER variable.
Romain
1.17 2011-05-04 • Added Ant installation procedure.
Guay
Romain
1.18 2011-05-31 • Added TODAY environment variable.
Guay
Romain • Added the “featurepacks” subfolder to hold the feature
1.19 2011-08-28
Guay packs used in the project.
• Major rewrite for version 2.0.
Romain
2.0 2012-01-19 • Introduce the multiple configuration boards approach.
Guay
• Enhancements to TCC_GUI.bat
• Correcting typos and phrasing.
2.1 2012-03-14
Romain • Added runtime symbols in the configuration board when
Guay running TCC_GUI.bat. The configuration board is now
copied in the /temp folder in this mode.
4
• Modified the way to add runtime symbols when running
Romain
2.2 2012-04-11 TCC-GUI.bat so the configuration board does not have
Guay
to be copied in /temp and can be edited directly.
Romain • Deleted GetDateTime.bat, now grouped into Init.bat.
2.3 2013-01-09
Guay • Added RunXSL tool.
• Added ImportResultXMLToCSV.bat tool.
Romain
2.4 2013-05-27 • Added /doc/Deployment.txt
Guay
• Added /bin/Unix/DailyLimits.sh
5
1. Introduction
This document presents TCC_Touchpoints, the proposed deployment model for TCC
integrations. It includes a number of best practices to standardize and simplify TCC
integrations packaging and deployment.
2. Disclaimer
Taleo Services delivers this package with source code and does not provide ongoing
support or maintenance after initial delivery. Like any open source object, Customer is
allowed to edit the code for its own purposes and takes responsibility of the initial and
ensuing code maintenances. Taleo Services can provide assistance, for a cost if further
assistance is needed.
3. Features
TCC_Touchpoints offers the following features.
6
4. Folder structure
The basic folder structure is represented below. Many of these folders are configurable
and can be set differently according to customer preferences.
/core - Scripts that are part of the infrastructure and shared among all
integrations. Those are not meant to be run directly.
- Archive.bat – Archive input files after processing.
- Cleanup.vbs – VBScript to implement Cleanup.bat (see below).
- log4j.xml – Logging configuration.
- Init.bat – Initialize the environment.
- Init_net-change.bat – Initialize the Net-Change configuration.
- TCC.bat – Main batch file to run TCC.
- TCC_Loop.bat – Batch file to run TCC by looping over input files with
a timestamp.
- TCC_Loop_FTP.bat – Batch file to run TCC by looping over input files
with a timestamp, from an FTP server.
- Cleanup.bat – Delete old log, monitor, outbound, archive, error and temp files.
- Environment.bat – Global environment file.
- DailyLimits.bat – Get daily import and export limits as well as actual count.
- *.bat – All other are integration-specific entry points.
/core - Scripts that are part of the infrastructure and shared among all
integrations. Those are not meant to be run directly.
- Archive.sh – Archive input files after processing.
- log4j.xml – Logging configuration.
- Init.sh – Initialize the environment.
- Init_net-change.sh – Initialize the Net-Change configuration.
- TCC.sh – Main batch file to run TCC.
7
- TCC_Loop.sh – Batch file to run TCC by looping over input files with a
timestamp.
- TCC_Loop_FTP.sh – Batch file to run TCC by looping over input files
with a timestamp, from an FTP server.
- Cleanup.sh – Delete old log, monitor, outbound, archive, error and temp files.
- Environment.sh – Global environment file.
- DailyLimits.sh – Get daily import and export limits as well as actual count.
- *.sh – All other are integration-specific entry points.
/featurepacks - Directory for feature packs (*.fp or *.pip) used in the project.
8
5. Installation
TCC_Touchpoints folder can be installed at any convenient location on your computer.
Since all paths are defined as relative, it can be moved around and does not have to be at
the same location on different computers.
However, we recommend installing it in a different location than TCC itself, so the two
are independent. You could install a new version of TCC without touching your
integrations.
6. Configuration
- Edit the /configboards/*_brd.xml files (typically one per zone) and set the appropriate
values in all relevant sections. Here is the default content of a configuration board file:
<?xml version="1.0" encoding="UTF-8"?>
<cli:BoardConfig xmlns:cli="http://www.taleo.com/ws/integration/client">
<cli:BaseBoard/>
<cli:Symbols>
<!-- ======================================= -->
<!-- Net-Change settings -->
<!-- ======================================= -->
<cli:Symbol name="NETCHANGE_CREATE_THRESHOLD"></cli:Symbol>
<cli:Symbol name="NETCHANGE_UPDATE_THRESHOLD"></cli:Symbol>
<cli:Symbol name="NETCHANGE_DELETE_THRESHOLD">10%</cli:Symbol>
<!-- ======================================= -->
<!-- Mail settings -->
<!-- ======================================= -->
<cli:Symbol name="MAIL_HOST"></cli:Symbol>
<cli:Symbol name="MAIL_PORT">25</cli:Symbol>
<cli:Symbol name="ALERTING_MAIL_FROM"></cli:Symbol>
<!-- Note: Email addresses are comma separated. -->
<cli:Symbol name="ALERTING_MAIL_ON_COMPLETE_TO"></cli:Symbol>
<cli:Symbol name="ALERTING_MAIL_ON_COMPLETE_CC"></cli:Symbol>
<cli:Symbol name="ALERTING_MAIL_ON_ERROR_TO"></cli:Symbol>
<cli:Symbol name="ALERTING_MAIL_ON_ERROR_CC"></cli:Symbol>
<!-- ======================================= -->
<!-- FTP settings -->
<!-- ======================================= -->
<cli:Symbol name="FTP_HOST"></cli:Symbol>
<cli:Symbol name="FTP_PORT">21</cli:Symbol>
<cli:Symbol name="FTP_USER"></cli:Symbol>
<!-- Note: Password must NOT be encrypted. -->
<cli:Symbol name="FTP_PASSWORD"></cli:Symbol>
<cli:Symbol name="FTP_INBOUND_FOLDER"></cli:Symbol>
<cli:Symbol name="FTP_OUTBOUND_FOLDER"></cli:Symbol>
<cli:Symbol name="FTP_RETRY_NUMBER">0</cli:Symbol>
<cli:Symbol name="FTP_RETRY_INTERVAL">0</cli:Symbol>
<cli:Symbol name="FTP_RETRY_FACTOR">0</cli:Symbol>
</cli:Symbols>
<cli:Endpoints>
<cli:EndpointBoardConfig Name="...TODO..." Default="true">
<cli:EndpointServer>
<cli:Protocol>HTTPS</cli:Protocol>
<cli:Host>...TODO...</cli:Host>
<cli:Port>443</cli:Port>
</cli:EndpointServer>
<cli:EndpointAuthentication>
9
<cli:BasicAuthentication>
<cli:User>...TODO...</cli:User>
<cli:Password policy="AES128">...TODO...</cli:Password>
</cli:BasicAuthentication>
</cli:EndpointAuthentication>
</cli:EndpointBoardConfig>
</cli:Endpoints>
</cli:BoardConfig>
- This file can be edited in a text editor or using TCC, as described in section 9. To fully
benefit from TCC_Touchpoints deployment model, it will typically contain a single
endpoint named by the Taleo host and set to Default=”true”.
- Add the feature packs (*.fp or *.pip) that are needed to build your integrations into the
/featurepacks folder. Having the feature packs defined this way makes the project
more self-contained and ensures more consistency in the testing and deployment. Note
that .pip files can only be used with TCC 11B and later versions. If using .pip files
with TCC 11A and earlier versions, you simply need to rename them .fp.
7. Naming conventions
It is recommended that integration files naming follows these rules, where:
Variations of those conventions are allowed if they help clarify the intent of the
integration.
For imports
or <touchpoint>_<operation>.csv
10
Note that a date/time stamp in data file name forces using the looping mechanism
implemented in TCC_Loop.bat (or TCC_Loop.sh). Also, when using net-change, we
usually don’t expect a date/time stamp in the name as it is not worth processing all
files since only the last one contains the latest picture of the data.
For exports
- Reminder: Under Unix, you must first convert shell scripts (in /bin/Unix and
/bin/Unix/core) into Unix format and make them executable with the following
commands:
dos2unix *.sh
chmod 755 *.sh
- In production, you may want to schedule the integrations individually or all together
using a main batch, according to your exact needs.
- For all net-change integrations, you need to run the setup once using the actual input
file, after deploying in a given environment. From then on, the ongoing net-change
can be run on schedule.
- For import integrations, each successful run will move or copy the input file into the
/data/archive folder. It will add a timestamp to the name if sent to archive in “copy”
mode (see /bin/Windows/core/Archive.bat). In case of failure, the same file will be
moved or copied to the /data/error folder instead.
11
9. Execution in GUI mode
- To facilitate running these integrations in the TCC GUI, you can use the
/bin/Windows/GUI/TCC_GUI.bat. This will prompt for the configuration board file to
use, if there is more than one:
- It will also prompt for the Net-Change repository folder to use, if there is more than
one:
- You can then review and edit the content of the selected configuration board file using
File/Open/Configuration Board, as shown below.
12
- Other symbols remain available although they are not defined in the configuration
board; those are set from the environment (see section 11 for a complete list).
- New symbols can also be defined in the configuration board for specific integration
needs.
- When running in the GUI, the monitor files always go into the /monitor folder under
TCC home, because this folder contains the CSS to display HTML correctly in TCC.
- When opened this way, you can use TCC to set the last run dates as usual in the
Prepare Last Run Date pre-processing step. It will update in the folder specified in the
LASTRUNDATE_FOLDER variable.
- You can also synchronize the custom fields and it will update in the folder specified in
the CUSTOM_DICTIONARIES_FOLDER variable.
- Note that the feature packs that are available in TCC are only those that are present in
the /featurepacks folder.
- WARNING – If you have more than one Net-Change repository, pay attention to the
one that is selected when starting TCC-GUI.bat. This is the one that will be used for
the whole session. You need to restart TCC-GUI.bat to use another repository.
REM --------------------------------------------------------
REM CONFIGURATION BOARD
REM --------------------------------------------------------
1
Alternatively, you can use the Ant distribution script described hereafter.
13
SET CONFIG_BOARD=yourzone_brd.xml
• Copy this distribution to the target server and continue with step 2 above.
- If some environment variables need to be specific per integration, you can override their
value after the call to Environment.bat (or Environment.sh) in the specific integration
batch file.
- Synchronize the UDFs in TCC and make sure the custom dictionary files are present in
the /customdictionaries folder under TCC_Touchpoints. Note: This will happen
automatically if you start TCC with the TCC_GUI.bat.
14
- Develop your integration in a subfolder of /scripts and write a batch file for it in the
/bin/Windows (or /bin/Unix folder).
- Use "/" and NOT "\" when you define paths in configuration files, so that your scripts run
as well in Windows and Unix.
- Make sure your configuration file uses the default endpoint for Send, Poll and Retrieve.
- Use the following symbols where appropriate. Note that two of them (IN_FILE and
OUT_FILE) will be left unresolved in GUI mode.
15
[FTP_OUTBOUND_FOLDER] FTP outbound folder
[FTP_RETRY_NUMBER] FTP number of retries
[FTP_RETRY_INTERVAL] FTP interval (seconds) between retries
[FTP_RETRY_FACTOR] FTP multiplier of the retry interval
between each attempt
- Other symbols can be defined for specific needs, directly in the configuration board files.
In your batch file, right after the call to Environment.bat, set the specific location of
the Net-Change repository for Net-Change setup and ongoing Net-Change, as follows:
REM Set the environment variables.
Call Environment.bat
- The Unix scripts have been developed and tested with bash. It shouldn’t be a problem
using a different interpreter but slight changes might be needed to some of the scripts. To
change the interpreter, modify the first line of all .sh files (#!/bin/bash) with the path of
your interpreter, for example: #!/bin/ksh.
• The TCC_HOME path … does not exist. This indicates that your TCC_HOME path
is not valid.
• The device is not ready. This happens when you run a batch file on a remote server
from a network drive on your desktop. You must log on the remote server and execute
batch files from there.
16
• The configuration provided in the XML file refers to an unknown Taleo product.
The feature pack you are using for that integration is not in the /featurepacks folder or
the feature pack is a .pip file and the version of TCC you are using is prior to 11B.
Other tricks
• TCC behaves strange when started the normal way (not with TCC-GUI.bat). This
may be caused by the fact the command window that opens with TCC_GUI.bat was
closed manually instead of letting it close automatically. Doing that prevents the
TCC_HOME\TaleoConnectClient.ini to be reset to its original state. To fix that,
simply delete TaleoConnectClient.ini and rename TaleoConnectClient.ini.bak to
TaleoConnectClient.ini.
• When saving the configuration board from TCC GUI, comments in the XML will be
lost.
• The NOW variable is overridden in the batch files, consequently the formatting
functions for that variable that are found in the configuration files do not work
anymore.
17
14. License agreement
This software (the Product) is designed for exclusive use with the Taleo Connect
Client software (“TCC”) published by Taleo. Taleo therefore grants Customer a
perpetual license to use the Product with TCC; provided Customer already is a valid
licensee for TCC usage.
Taleo delivers custom libraries with source codes and does not provide ongoing
support or maintenance after initial delivery. Taleo does not warrant that code
or sample scripts will work as designed in environments that vary from typical Taleo
Linux installations.
Like any Open Source object, Customer is allowed to edit the code for its own
purposes and takes responsibility of the initial installation, configuration,
implementation and ensuing code maintenance within the Customer's environment.
Taleo Services Department can provide assistance, for a cost if further assistance is
needed. Customer acknowledges that effective use of the Product should be
interpreted as complete acceptance of the conditions therein.
18