With one of the last year's EngSim OKRs we've committed to figure out tracking important interoperability paths between specific Engineering Simulation applications.
An example workflow here would be
user A creating a Revit model
> pushing that model to a local ISM file
> forwarding that local ISM file to user B
> user B pulling the model into STAAD, modifying it,
and pushing the model to Bentley Infrastructure Cloud.
In our last week's release of iTwin Analytical Synchronizer we have added feature tracking metadata which should finally allow us to track such workflows.
As this is not a trivial case of feature tracking, a dashboard showcasing the data would be very beneficial for us to keep up more easily. If you could help us with this, could we have a call sometime this week to discuss it? I could present everything in more detail there.
@Steven, please let me know what time works for your team. I think the similar time box as your sprint reviews/town halls would work for us.
Above request came in via email
Below Waqar's initial remarks, same subject
[Yesterday 5:31 PM] Waqar Ahmed
StatusInt status = LicenseClient_InitFeatureUserDataMap(&fud);
StatusInt status = LicenseClient_AddFeatureUserData(fud, "Feature Data Key 1", "Feature Data Value 1");
status = LicenseClient_AddFeatureUserData(fud, "Feature Data Key 2", "Feature Data Value 2");
Note: Any number of key-value pairs can be added to the feature record, but data should only be added to answer a question about the use of the feature that will help Product Management make a decision. It's not meant to track every input to a feature.
Do not use Feature User Data to track personal information about the user and do not use it to track full file paths as that will skew the statistical results reported.
[Yesterday 5:31 PM] Waqar Ahmed
Normally Feature tracking is either a Feature Mark - i.e. count only or both a Mark and Capture Start and End time
[Yesterday 5:32 PM] Waqar Ahmed
then for each Feature you can optionally capture additional context in name, value pairs - which is referred to as Feature User Data Map.. I believe it is a separate table in feature tracking database which is linked with Feature ID
Haroldas will also reach out to you about it. I know many products including AutoPIPE track this Feature User Data
Hey Hubert,
the actual feature tracking is sent from iTwin Services Add-in (it's bundled in our new iTwin Analytical Synchronizer). Since we've just released it not long ago, there will not be a lot of data there yet (most valuable data will only come in after other applications (e.g. STAAD, RAM, etc.) release with our latest API, so now we've only have data involving iTwin Analytical Synchronizer 23.1.4.62.
More on the data that we've just started reporting:
With our push/pull features (Feature IDs below) comes metadata fields - trackedModel, exeName, exeVersion, previousProductName, previousProductVersion. trackedModel is a generated GUID that helps is identify a specific unknown model; exeName and exeVersion identifies which application is currently pushing; previousProductName and previousProductVersion identifies what application has pushed the model previously.
Feature
Feature GUID
Local Sync: Push with UI
b56322e5-1fb2-4f81-b145-b155778e1ae0
Local Sync: Push
8811b721-f54e-4c6e-9693-bf7b305dca8f
Local Sync: Pull with UI
2e324876-a007-4eda-a4b3-0c36f70426cd
Local Sync: Pull
94db757b-a917-4fd7-b1c4-00611ead78ca
IModelHub: Push with UI
73c9f78f-3dd5-4879-80d5-f516d08e3850
iModelHub: Pull with UI
716be840-819b-4f13-8544-0519c4cef793
IModelHub: Push
c696bd0f-299d-486e-b2b3-8334b34e6ed4
iModelHub: Pull
60c90da8-8fb2-45d2-9b2a-50a97ace1f6e
So if we have a set like this for local push it would mean that a user has created model 837ffc3e-e2c6-4658-9cd8-c2ce78f5fd22 in STAAD and pushed it into a local file:
trackedModel
837ffc3e-e2c6-4658-9cd8-c2ce78f5fd22
exeName
STAAD.Pro
exeVersion
23.00.03.25
previousProductName
null
previousProductVersion
null
Then if we have another local pull set like below we'll know that the model that the user previously created in STAAD and pushed to local file was pulled into RAM Elements:
trackedModel
837ffc3e-e2c6-4658-9cd8-c2ce78f5fd22
exeName
RAM Elements
exeVersion
23.00.01.95
previousProductName
STAAD.Pro
previousProductVersion
23.00.03.25
Eventually this would allow use to create a directed weighted graph showing what paths between applications are used the most (and we can focus on improving them).
In the end, for our case we need something specific to leverage the metadata that we've added.
Thanks,Haroldas
Ah, it is Product ID 3105
Engineering Applications\Structural Analysis\STAAD\iTwin Services Add-in (3105)
Product (ID): iTwin Analytical Synchronizer (1858)
Deliverable: 1106423 iTwin Analytical Synchronizer 2023 Update 1
Version: 23.1.4.62 | 23000100040062
Release date: 22/02/2024 Released
Deliverable: 1105060 iTwin Analytical Synchronizer 2023 Update 1
Version: 23.1.3.42 | 23000100030042
Release date: 15/12/2023 Released
[1:01 PM] Waqar Ahmed> It’s additional context for a feature which is optional, Maybe 5% of less will store it
It’s a name, value pair you can store and an unlimited number of properties
[1:02 PM] Hubert Gabel> Is it available in qlikview/qliksense? example will be helpful
[1:02 PM] Waqar Ahmed> Not available. We had to ask data team to extract it as no report existed.
What you normally see with FT is first level data which suffices most use cases .. this is context about each specific feature so it’s a level 2 data
Don’t know if this is the correct table but same concept