Hello,
I have a question about the use of deep linking to Assyst resources when data mapping in ETM. I’d love some feedback on my current approach, and whether there are other approaches I haven’t considered.
TL;DR
- Is it possible in ETM to refer to the AssystREST URL that is specified in the IPaaS/ETM installation, as to create deep linking to the same Assyst environment ETM is attached to?
- Are there other ways to do deep linking in Assyst ETM?
Background
Our IT users spend a lot of time trying to find the correct menu for a given resource and waiting through load times during manual lookups. Because of this, direct links to resources are almost always preferred to use speed up the process.
When working on integrations in Assyst ETM, I thus often find it helpful to add deep links to Assyst resources (e.g., specific actions, events, items), which would normally only be added as plain text shortCode during manual processes, or simple integrations.
These URLs can be added as clickable links in formatted fields or as easy-to-copy plain text, but both methods provide value to our IT users as it reduces friction, and end up saving time. The use of these links also introduces resource IDs to the updated records, which helps reduce ambiguity in review or audit situations where a resource since might have been deleted and a new one has been created with the same shortCode.
However, the deep links often end up pointing to the wrong environment during development/testing, and has a real danger of pointing to the wrong environment when in production as they must be manually updated before import into ETM.
What I’ve Tried
So far, I've been copying known assystWeb/AssystNet URLs into the data mapper to act as templates, appending the resource ID to a hardcoded base URL like:
"https://assyst-dev.our-domain.net/assystweb/application.do#item/ManageItem.do?dispatch=get&id=" + variables.MappedItem
Or, when using multiple data mappers in a channel, it makes sense to use an initialization data mapper to set the environment once and refer to it throughout that channel:
"https://assyst-" + mappedp0].variables.environment + ".our-domain.net/assystweb/application.do#item/ManageItem.do?dispatch=get&id=" + variables.MappedItem
This works mostly fine when working on a few channels. However, it increasingly becomes a pain as more integrations are developed. The manual task of updating links when moving between ETM environments (e.g., dev → test → staging → prod) adds friction. Every instance of the static environment reference must be manually updated, which is error-prone and frustrating, especially if such a channel producing deep links to a different environment ends up in production.
What I'm Trying to Achieve
Ideally I’d there would be a simple way to generate clickable links that point to the correct Asstst application and enviroemnt, however i find it alot more realistic there might be a way to reference the AssystREST base URL that is configured in the ETM/IPaaS installation as ETM should have this failly easily accessible. Using this URL a base assyst url for the attached Assyst environment could be made, and furhter use in datamapping to construct any desired application deeplink, thus circumventing the need for manuel edits between import and exports.
However, I haven’t found any way to access the AssystREST URL directly from within data mapping.
What I've Tried So Far
- Creating an initializing data mapper to hold the base URL, but this still requires manual updates between each environment for expedient testing and validation, and this method is prone to human error.
- Inspecting the
headers
object in data mapping to look for any reference to the AssystREST URL does not seem to have any header that reference the assyst application or rest api urls, at least as of IPaaS 1.8.
Looking for Ideas
- Is there a way to reference the AssystREST base URL dynamically from within ETM?
- Has anyone tried or know if it might it be possible to use Karaf environment variables or other IPaaS config-driven approaches to solve this?
Thanks in advance for any insights or experiences you can share!