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.
Changes are not picked up on relational transformations where names are changed.
A relational transformation from a connector, with a field A, joined into an adapter and called B through the column mapper will not correctly register changes.
This is because change detection uses the connector context of the relational connector, and in this context a field B does not exist.
Namely, the context comes through the EntityChangeReportGenerator through the connectorEntityDictionary, which later finds itself on the validRightEntityPairs of the RelationalTransformationContribution, which request the non-existant RightKey.
Adapter context should not clear when moving adapters
When you attempt to promote or demote an adapter, the service attempts to clear the entity context. This is not necessary and introduces additional overhead, since the moved adapter will continue to use the same identifier for its entities.
Presently, an attempt to do this will result in the error seen in IDB-712 (and delete the adapter you were trying to move completely), but a delete should not be attempted at all in this case.
Delete entity message is inaccurate
When an entity is successfully deleted via the adapter, the following appears in the log:
14/Aug/2012 13:59:34
Information
Connector
Request to delete entities from connector.
Request to delete entities Count:1 from connector MOSS 2007.
14/Aug/2012 13:59:43
Information
Connector
Delete entities from connector completed.
Delete entities Count:1 from connector MOSS 2007 deleted 0 entities. Duration: 00:00:08.8592715
The message makes it look like the delete did not succeed.
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
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.
Customer support service by UserEcho