Identity Broker Forum

Welcome to the community forum for Identity Broker.

Browse the knowledge base, ask questions directly to the product group, or leverage the community to get answers. Leave ideas for new features and vote for the features or bug fixes you want most.

0
Fixed

Time Offset Flag didn't re-evaluate when date threshold was passed

Adrian Corston 4 years ago in UNIFYBroker Service updated 3 years ago 21

I have the following Time Offset Flag adapter transformation configured:

Image 5989

For the problematical entity the EndTimestampUTC field is "4/22/2021 12:00:00 PM" (i.e. midnight at the start of April 23rd in my customer's timezone - NZ), so the corresponding UTC timestamp for the threshold comparison should be "5/7/2021 12:00:00 PM" (i.e. midnight at the start of May 8th in NZ timezone).  EndTimestampUTC was changed to that value on May 7 (i.e. before UTC 5/7/2021 12:00:00 PM) but even though today is now May 10th the PostEndPlus14 field hasn't been re-evaluated to "Yes" as I would have expected (i.e. transition from the ">" case to the "<" case).

Image 5990

To allow a better chance to debug I have not run a Generate Changes on the adapter yet.

0
Answered

How soon will temporal transformations (e.g. Time Offset) be re-evaluated after the current date and time changes?

How soon will temporal transformations (e.g. Time Offset) be re-evaluated after the current date and time changes?

0
Planned

Return a more helpful error when an adapter accessed via ODATA is not enabled

Adrian Corston 4 years ago in UNIFYBroker Service updated by Matthew Davis (Technical Product Manager) 2 years ago 2

When an non-enabled adapter is queried via ODATA the endpoint returns a 404 error.  A different error with some descriptive text would make it easier to work out what has gone wrong.

0
Planned

PowerShell connector operation timeout

Adrian Corston 4 years ago in UNIFYBroker Service updated by Matthew Davis (Technical Product Manager) 2 years ago 2

Add a feature to allow a timeout to be specified for a PowerShell connector operation (Import All, etc).  When the timeout expires, forcibly kill the PowerShell operation and log an error.

This came up because a connector hung for ten days in a UNIFYConnect environment until I noticed.  All of the other connectors in the same connector exclusion group were blocked from running as well.  I suggest a default timeout of one hour for most operations and 10 minutes for Import Changes.

0

Add support for non-CSV connector types to the Test Harness plugin

Adrian Corston 4 years ago in UNIFYBroker Service updated by Matthew Davis (Technical Product Manager) 3 years ago 0

Add support for non-CSV connector types to the Test Harness plugin.

This would help address problems relating to multivalued fields with commas in values.

0
Not a bug

Entity not updating after Foreign Multivalue Group relationship connector entity change

Adapter "AD Groups" has a FMG transform to connector "AD Entitlement Control Groups".  When an existing entity in that connector updated (to add a second value to the "member" multivalued attribute) the FMG did not re-evaluate on the adapter.  Running an Import All on AD Entitlement Control Groups did not update the AD Group adapter entity, and neither did running an Import All on the AD Groups adapter's base connector.  The FMG field was only updated when I ran Generate Changes on the AD Groups adapter directly.

0
Answered

Access to source entity fields for target entities returned by CheckFieldUniqueness

Adrian Corston 4 years ago in UNIFYBroker Service updated 4 years ago 5

When using the CheckFieldUniqueness component to ensure target entity field uniqueness I would like to use source entity field values in order to calculate candidate values for the unique field.  I'm only aware of a way to access target entity field values.

Is there a way to access the source entities for a target entity in this scenario?

Otherwise, please change this ticket to an Idea to have the ability to do so.

Answer

I see. You could just mapping the required values to to fields on the target entities, but assuming you don't want to do that you should process the $joinedEntities collection into a HashTable keyed on the target entities. For example:

$entityMap = @{};

foreach ($joinedEntity in $joinedEntities)
{
    $entityMap[$joinedEntity.TargetEntity] = $joinedEntity.SourceEntity;
}

You'll then be able to use the target entities returned by CheckFieldUniqueness to lookup the corresponding source entity efficiently.



0
Planned

Time Offset Flag description in UNIFYBroker doesn't match the implementation or the voice documentation

Adrian Corston 4 years ago in UNIFYBroker Service updated by Matthew Davis (Technical Product Manager) 2 years ago 1

On the Edit Timeoffset Flag page in the UNIFYBroker UI, the description says:

Image 5941

In particular, "The target value is populated based on whether the current time is less than, equal to or greater than the offset value".

The Voice documentation (https://voice.unifysolutions.net/en/knowledge-bases/7/articles/2888-time-offset-flag-transformation) says:

Image 5942

An actual configuration appears like this in the UI:

Image 5943

When this transform was evaluated on 15/12/2020 for a value of StartDate="03/Feb/2020" the value to which PreStart was set was "Yes".

This matches the UI configuration, and the Voice documentation (i.e. source time compared to NOW - with the source time offset implied).  However, it does not match the description in the "Edit Timeoffset Flag" UI (i.e. NOW compared to the offset value - with "offset value" presumably meaning "source time plus offset").  The "Edit Timeoffset Flag" UI description is reversed compared to those others and therefore misleading.

0
Completed

Allow $logger component to specify module and submodule fields

Adrian Corston 4 years ago in UNIFYBroker Service updated by Matthew Davis (Technical Product Manager) 4 years ago 1

There is no documented way to set the third and fourth fields (which I will call 'module' and 'submodule') of each UNIFYBroker log entry when calling the $logger component.  It would be nice to be able to set them to more informative values, rather than always having them as 'UNIFYBroker' and 'PowerShellTask' respectively.

Answer

Hi Adrian,

The $logger component is designed to be a simple wrapper around the logging mechanism. For more complex log messages, use the $messageService variable. 

There's some extension methods provided for the next level of logging. You can find more information on those here:

Class NotificationEnumerableExtensions (unifysolutions.net)

Otherwise, you can use the underlying NotificationMessageService to notify listeners of a particular message. In this case, the product loggers will be listening on ILogEntryNotification: Class LogEntryNotification (unifysolutions.net)

The tricky thing with crafting one of these will be building the branding object, (for a BrandedLogEntry). Technically this would allow you to change both the 'module' and 'submodule' components.


For ease of use, i'd recommend just using the NotificationEnumerableExtensions to log - which still use the underlying product for the third field but allow you to define the fourth field.

As a side note, for some reason the $messageService variable isn't actually hooked up for the Plus components, but is hooked up for the Powershell connector and transformations.

0
Not a bug

Next run times don't look right for newly added connector schedules

Adrian Corston 4 years ago in UNIFYBroker Service updated by Matthew Davis (Technical Product Manager) 4 years ago 3

It's ~9:30am and I just added and enabled an Import All and Import Changes schedule to a connector.  The Import All I set to run at 12:55:57am, and the Import Changes every 1 minute.  The following appeared, which doesn't look right - 1am isn't an hour away, and one minute is not 10 hours away:

Image 5924

Answer

Hi Adrian,

The scheduled times are displayed in the local time of the machine. In this case, the containers are running on UTC. So with the UTC time (at time of screenshot) being 11pm on 30 November, that looks accurate.