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.
Once off timing works but appears incorrectly on the UI
On the home-page, a Once-off timing sits on 1 second remaining after it has run.
Additionally, the expiry timing still shows next run information, however it correctly does not run.
Membership List MultiValue transformation incorrect key types.
The UI part for the Membership List MultiValue transformation doesn't filter the available left relationship key to only allow for strings.
Additionally the Right Side only supports MultiValued String valuetypes, which is not represented on the UI.
Either the UI or the transformation needs to be updated to reflect these requirements.
Cannot have a binary valued schema key
A binary values schema key field will fail with the following on import:
Change detection engine import all items failed. Change detection engine import all items for connector binaryCSV failed with reason An error occurred while evaluating a task on a worker thread. See the inner exception details for information.. Duration: 00:00:00.4550782 Error details: Unify.Framework.EvaluatorVisitorException: An error occurred while evaluating a task on a worker thread. See the inner exception details for information. ---> System.Data.SqlClient.SqlException: The data types varbinary(max) and image are incompatible in the equal to operator. at System.Data.SqlClient.SqlConnection.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.SqlDataReader.ConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) at System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at System.Linq.Buffer`1..ctor(IEnumerable`1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) at Unify.Framework.Data.LinqWhereQuery`5.GetEnumerator() at Unify.Framework.Collections.EnumerableExtensions.ToDictionaryWithKeyClashError[TKey,TValue,TOriginal](IEnumerable`1 originalEnumerable, Func`2 keySelector, Func`2 valueSelector, Action`3 duplicateAction) at Unify.Product.IdentityBroker.EntityRepositoryExtensions.ConvertConnectorEntitiesWithRepositoryEntities(IEnumerable`1 connectorEntities, IMultiKey`1 schemaKey, IQueryable`1 sourceEntities, Guid connectorId, IEnumerable`1 originalEntities) at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.PerformChangeDetectionOnConnectorEntityPage(IEnumerable`1 connectorEntities, Int32& index, Int32 entitiesProcessedSoFar, IEntityChangesReportGenerator`2 reportGenerator) at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.<>c__DisplayClass3.<PerformChangeDetection>b__0(IEnumerable`1 page) at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.ThreadsafeItemEvaluator.Evaluate() --- End of inner exception stack trace --- at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.CheckForException() at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.Visit() at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.PerformChangeDetection(IEnumerable`1 connectorEntities) at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.ImportAllChangeProcess() at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.RunBase() at Unify.Framework.DefinedScopeJobAuditTrailJobDecorator.Run() at Unify.Product.IdentityBroker.QueuedConnectorExecutionProcessorEndDecorator.Run()
Adapter statistics update at the end of an operation
Adapter statistics on the adapter page seem to only update once an adapter operation (eg. full or delta import) has completed, and not as processing begins.
This cache is only cleared on Completed events for the Adapter jobs. This isn't a problem for smaller operations like Add Entity, Update Entity etc, and hasn't been a problem for Adapter import all due to the speed of LDIF generation in version 4.0.
All this will require is another notification factory to clear the cache on the AdapterEngine::ReflectPage method.
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.
Customer support service by UserEcho