Installing a second project and task sync
Note
To create a Task Sync entry for a duplicate system (for example, you want to sync two separate Project Online systems) you will first need to set up another external tool entry for the new system.
- Create an ‘External System’ entry and copy over the settings from the existing similar system and give it a name that means something, like "Project Online - IT Department". Ensure that the name differs from any existing system and is unique. Jump to: Create External System Configuration
- Create new sync tables in the enhancements solution, copying the configuration for the existing sync table of the same system:
- *prefix_(systemname)_project
- *prefix_(systemname)_assignment
- *prefix_(systemname)_task_delta
- *prefix_(systemname)_task
Note
It's recommended to use the XRM toolbox tool “Clone Field Definitions” to copy the table definitions from the original sync tables to your new tables.
Note
Double-check all fields you plan on using in the dataflow mappings and metadata mappings to ensure that they all have the same length as the original tables and that you have manually set up the primary keys in the newly created tables to be the same as the source system you are emulating.
- Add your new sync tables to the external system configuration.
- Add the external system metadata mappings. If creating a new sync system that is similar to an existing supported system, ensure that all metadata mappings are manually copied over using the existing similar system as a template.
- Select and download the project and task sync dataflow templates from Altus Docs. Import the templates as new dataflows and map the incoming data from the external system to the new sync tables.
- For the Project Sync Dataflow, no modifications are needed to the queries, however, review the mappings to ensure that any new fields (with new prefixes) are mapped correctly.
- For the Task Sync Dataflow open the ‘Advanced Editor’ in the Dataflow and make the following adjustment to the Task Delta Query:
- Change the table name to the new task sync table in the “DynamicsUrl” OData concatenation (Step A on diagram).
Note
If unsure about the pluralized name of the table, visit your tenant's dynamics api https://environmentname.crm.dynamics.com/api/data/v9.0/ and browse for the pluralized table name. Tables that end in an “s” will be pluralized with “es”)
- Change the GUID (ID) field in the “DynamicsUrl” step OData concatenation. This should be the new ID field from the new task sync table (Step B on diagram).
Note
Ensure that if you’re not using sensei_name for the “name” column for the table, rename the “name” field to use the prefix from your table. For example, "sensei_name" might have become "mycrmorg_name" in your new table.
Rename the GUID field from above to use the GUID field name from the similar External System setup – example, for a project online system, the new ID field named “iq_poltaskinformaticsid” is renamed to match the existing “sensei_projectonline_taskid” (Step C on diagram).
Auto-map the fields and publish the dataflow.
Open the Plugin Registration Tool (standalone from Nuget/Microsoft) or the XRM Toolbox add-in for “Plugin Registration” (easier method if you already have XRM Toolbox) and create new steps for the Sensei_ProcessTaskQueue plugin.
Navigate to "Sensei_ProcessTaskQueue" in the plugin user interface.
Add a new step for Create like below
Add a new step for Update like below
For the Update step, add a Post Image like below