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.

Entity DN should be present in adapter entity search
The DN for an adapter entity is not present in the adapter entity search. This should be included given its presence in v3, and its increased relevance to the configuration and use of Identity Broker in a solution.

Add warning text above connector schema when no keys available.
Although a validation message is raised when an attempt is made to enable a connector with no keys, there is no warning of this prior to enablement.
It might make sense to add a message like this if there is no keys for the connector schema, above the schema itself.

Transformation DN components can be deleted while adapters are enabled
DN components inside transformations can be deleted while adapters are enabled, unlike other modification types which prevent any updates while the adapter is enabled.

Null reference in relational composite key transformation when a key value doesn't exist
When using a relational composite key transformation on a field that doesn't always exist, a null reference exception is thrown:
Adapter import all entities for adapter failed.
Adapter import all entities for adapter 766401c6-e6e8-46d8-8c10-df86fbde0988 failed with reason Value cannot be null.
Parameter name: item. Duration: 00:00:04.5265410
Error details:
System.ArgumentNullException: Value cannot be null.
Parameter name: item
at Unify.Product.IdentityBroker.Repository.EntityLinqQueryExecutorInformation`1.AddValue(Guid searchGuid, TEntityKey keyValue, IValue item, Int32 columnSequence, Int32 valueSequence, IEntityCollectionKeyUtility`1 collectionKeyUtility)
at Unify.Product.IdentityBroker.Repository.EntityExpressionQueryVisitor`4.<>c_DisplayClass19.<>cDisplayClass1b.<CreateMultiValueRangeExpression>b_16(MultiKeyValue itemValue, Int32 itemValueIndex)
at Unify.Framework.Visitor.VisitT(IEnumerable`1 visitCollection, Action`2 visitor)
at Unify.Framework.Visitor.VisitT(IEnumerable`1 visitCollection, Action`2 visitor)
at Unify.Product.IdentityBroker.Repository.EntityExpressionQueryVisitor`4.CreateMultiValueRangeExpression(IMultiKey`1 multiKey, IEnumerable`1 sourceValueList, IQueryable`1 sourceQueryable)
at Unify.Product.IdentityBroker.Repository.VisitMethodWhereWithMultiValueEnumerableContains`4.Transform(MethodCallExpression expression)
at Unify.Product.IdentityBroker.Repository.EntityExpressionQueryVisitor`4.VisitMethodCall(MethodCallExpression m)
at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
at Unify.Framework.Data.LinqContextConversionExpressionVisitorBase`5.ConvertExpression(Expression partitionExpression)
at Unify.Framework.Data.LinqQueryConversionProvider`5.GetOrderedQuery(Expression businessExpression, IQueryable`1 sourceQueryable, TContext sourceContext)
at Unify.Framework.Data.LinqWhereQuery`5.GetEnumerator()
at System.Linq.Lookup`2.CreateTSource(IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at Unify.Product.IdentityBroker.EntityCompositeKeyDistinguishedNameStaticRelationValueAdapterBase.Transform(IEnumerable`1 sourceValue)
at System.Linq.Enumerable.AggregateTSource,TAccumulate(IEnumerable`1 source, TAccumulate seed, Func`3 func)
at System.Linq.Enumerable.<>c_DisplayClass12`3.<CombineSelectors>b_11(TSource x)
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__17`1.MoveNext()
at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()
at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__17`1.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at Unify.Framework.Collections.ActionOnExceptionEnumerator`1.MoveNext()
at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__17`1.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()
at System.Linq.Enumerable.<ConcatIterator>d__71`1.MoveNext()
at Unify.Framework.IO.LDIFComponentFileGenerator`1.GenerateFile(TextWriter writer, IEnumerable`1 entries)
at Unify.Product.IdentityBroker.LDIFAdapterBase.<>c_DisplayClass14`1.<CreateLDIFComponentStream>b_13(Stream stream)
at Unify.Framework.IO.LazyEvaluationStream.Evaluate(Object obj)
See attached configuration. The key fields are not always populated as a date relational transformation means position information is not populated for some users. Earlier tests of this transformation have succeeded with key fields from a connector, rather than further down the chain.
Unify.Product.IdentityBroker.AdapterEnginePlugInKey.extensibility.config.xml
Unify.Product.IdentityBroker.ConnectorEnginePlugInKey.extensibility.config.xml

Add "container" object class to xMA generator
Containers are an important part of interaction with FIM (see IDB40:Containers), but they aren't mentioned on the IdB UI anymore. "container" should at least be present as an additional object class on the xMA generator as it was in v3.

Ungraceful failure when no start and end fields are selected in a Sliding Date Window
I am able to enter no fields with the "Sliding Date Window" option of the Join transformation (no date fields for this particular connector). Doing so results in an ungraceful error message over the page
ror 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 203 at Unify.Connect.Web.JoinTransformationController.CreateOrEdit(JoinTransformationViewInformation viewInformation) in c:\TeamCity\buildAgent\work\77553fc70ab89549\Source\Studio\Unify.Connect.Web\Areas\Extensibility\Controllers\JoinTransformationController.cs:line 262 at lambda_method(Closure , ControllerBase , Object[] ) 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.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
In v4 it wasn't possible to select this transformation if no date fields were available, which may be the better and easier resolution

Duplicate schema field error message should be improved.
The message for a duplicate schema field is currently:
'Specified argument was out of the range of valid values. Parameter name: key'
This needs to be improved.

Documentation and support links should open in a new tab
Documentation and Support links should open in a new tab/window, rather than redirecting in the current one.

Database connector - SQL schema provider should return timestamp fields as binary, not timestamp
The schema provider for the database connector currently returns a timestamp for timestamp fields. It should instead return a binary.

long schema field uneditable after incorrect data format used for max value validator
I set up a "long" schema field, with a max range of "-50.3". An error appears on the connector screen:
Incorrect value max attribute in <Extended max="-50.3" xmlns="" />
This error also appears if I attempt to update the schema field with a full stack trace, and does not let me update the field definition.
As an improvement, the message should tell the user which field contains the wrong validator.
Customer support service by UserEcho