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.

Container Foreign Key conflict on delete connector
On deleting a connector that has been used for FIM Exports and CSV full-imports, the following exception was thrown:
System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_Container_Container". The conflict occurred in database "Unify.IdentityBroker", table "dbo.Partition", column 'PartitionId'. (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is: System.Data.SqlClient.SqlException: The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_Container_Container". The conflict occurred in database "Unify.IdentityBroker", table "dbo.Partition", column 'PartitionId'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System...).

Review transformations
It is currently quite difficult to find the transformation you're after, namely:
- There are two "Multivalue relationship distinguished name generator" transformations.
- There is a "Date Relational Group" transformation, which is packed between the multi value transformations, and it's not clear that it's actually a Membership List transformation.
- The terminology for Membership List in and of itself might be worth looking at for the sake of usability; and in any case the regression test itself as "Group Membership
{0}
" transformations
- The Multi-value relationship DN generator transformation should probably loose the 'DN Generator' part and just be "Multivalue Relationship" for the sake of brevity.
- The list of transformations is not currently ordered in any discernable fashion. (Either alphabetically or in order of expected amount of use).
- Some transformation logic is duplicated, with the only difference being the relationship being one-to-one vs many-to-many. Please remove the one-to-one keeping in mind backwards compatibility (from
IDB-414).
With regards to transformation descriptions, it may also be worth including a use case for the transformation; for instance although the description of Is Operative pretty obviously explains what it does it is not immediately obvious what it can be used to do.

Use case for the time offset transformation
I have a source date property for BirthDate which is appearing in the format CCYY-MM-DD, and when this is imported to FIM it is being treated as UTC time and is consequently shown with a local date/time offset value (i.e. + 10 hours in Sydney). I therefore need to find a way of subtracting the local time offset from the base value.
I have looked at the doco for this transformation https://unifysolutions.jira.com/wiki/display/IDB307/Time+offset+transformation and it appears to only cater for the reverse scenario - i.e. converting UTC to local. Is there a way to use this (or any other transformation) to subtract the local time from the base value?
Thanks.

Set Timeoffset Flag transformation with days
Similar to https://unifysolutions.jira.com/browse/IDB-1132, it would be nice if the Timeoffset Flag transformation also had the ability to select days.
^3A915D98CCDBDF773855C4CD38AEE1A0D752083E6077A38EDE^pimgpsh_fullsize_distr.jpg
^8F80FE13BB51CDC0E38648DA105724364E7681C3B78A2B38E9^pimgpsh_fullsize_distr.jpg

Schema provider option to override fields
Currently the schema provider doesn't override fields with the same name. It would be useful following upgrades and whilst testing to have the schema provider override fields. Provide a boolean option that allows this to happen.
Look at IDB-935 at the same time.

Database connector - support for heirarchyid
Consider adding support for the database type of heirarchid.
Done:
When importing from the database connector where a type is not known, the following exception is generated:
System.Exception: A type converter is not available for type SqlHierarchyId. at Unify.Framework.ObjectToValueAdapter.Transform(Object sourceValue) at Unify.Product.IdentityBroker.ConnectorEntityFromDataRowConverter.Transform(DataRow sourceValue) at Unify.Product.IdentityBroker.ConnectorEntitiesFromDataTableConverter.<Transform>b__0(DataRow dataRow) ...
The field name should be included in the exception details at the very minimum. Also consider adding support for new data types (including heirarchyid).
hierarchyid.png

Entity viewer - some timestamps not displayed properly
From the linked issue, in the entity viewer, some timestamps are displaying using a different date format to the others.
E.g. normal timestamps are formatted d/MMM/yyyy h:mm:ss, whereas the incorrect ones are using a default format - yyyy-MM-ddThh:mm:ssZ.
The timestamps that appear to be failing are DateTime.MaxValue.
Suspected error with the class EntitySerializer.
result.JPG
TimeIssue.jpg
TimeIssue02.JPG

Append Search Terms error when viewing records in the connector
Only happen to the latest version
When viewing records in a connector, click on "Append Search Terms" above a column, the below error is displayed:
Error
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: field
at Unify.Framework.Collections.GroupedNameValueCollectionKey.op_Implicit(String field) in c:\TeamCity\buildAgent\work\aad7920828b5b314\Source\Collections\Unify.Framework.Collections.Interfaces\GroupedNameValueCollection\GroupedNameValueCollectionKey.cs:line 197
at Unify.Connect.Web.IdentityBrokerEntitySearchController.AddEntityColumnSearch(Guid partitionId, String columnKey, String searchContext) in c:\TeamCity\buildAgent\work\77553fc70ab89549\Source\Studio\Unify.Connect.Web\Controllers\IdentityBrokerEntitySearchController.cs:line 543
at Unify.Connect.Web.Controllers.ConnectorController.AddEntityColumnSearch(Guid partitionId, String columnKey, String searchContext) in c:\TeamCity\buildAgent\work\77553fc70ab89549\Source\Studio\Unify.Connect.Web\Controllers\ConnectorController.cs:line 2534
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c_DisplayClass15.<InvokeActionMethodWithFilters>b_12()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.<>c_DisplayClass15.<>cDisplayClass17.<InvokeActionMethodWithFilters>b_14()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName
Monash18-1.JPG

Improve exception message for duplicate key export.
The following is the exception message thrown when:
- An export is made to add an entity that exists in the connector context, but not in the adapter context
- The above, but also in the adapter context
Adapter request to add entity 1b0c3763-74f7-427f-a9d7-fa631b73f59f to adapter space 2d47c278-269c-4063-aff9-dad4548f8954 failed with reason Entity (DN: 'CN=6e5255c6-de86-632d-a6d2-c866f8f6027c') with key '6e5255c6-de86-632d-a6d2-c866f8f6027c' mismatch on Entity Id 1b0c3763-74f7-427f-a9d7-fa631b73f59f..
This message isn't descriptive of the problem, and more importantly covers up validation for breaking the key constraint on export; this doesn't break the validation as the export still fails, but it's not descriptive of the behaviour.

Multi-valued (DN) transformation all same dn's
Multi-valued Distinguished Name (DN) attribute type transformation not working as expected.
DistinguishedNameConverted transformation is set as below for group
FOR IN [portalAccessMembers] DN:<span class="code-quote">"CN=[portalAccessMembers],DC=Parent"</span> -> [portalAccessMembersDN]
PortalAccessMembers values are returned as multi-values. But PortalAccessMembersDN contains single value.
Edit (Adam): It appears that PortalAccessMembersDN contains many of the same value.
Customer support service by UserEcho