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
Answered

Chris 21 Installer won't install to the 64 bit Program Files directory, files get placed in Program File x86 instead

Richard Courtenay 14 years ago in UNIFYBroker/Frontier ichris/chris21 updated by anonymous 9 years ago 4

Reqs: A 64 bit machine set up with the 64bit version of Identity Broker (IB is optional).

1) Attempting to install the Chris 21 x86 Connector to the 64 bit program files directory. During installation replace the default install path of "C:\Program Files (x86)\UNIFY Solutions\" with "C:\Program Files\UNIFY Solutions\"

2) continue installation

Expected outcome:
Files are installed to the specified "C:\Program Files\UNIFY Solutions\" directory

Actual:
Files end up in a child folder of "C:\Program Files (x86)\UNIFY Solutions\"

Additional notes:

  • I have verified this in two VM's (Both WinSrv2K8 64bit), one with Identity Broke installed, one without any additional Unify Solutions software.
  • Changing the path to "C:\SomeRandomDirectory\UNIFY Solutions\" will result in the files being in SomeRandomRirectory. I can only repro this with the Program Files folder so far.
  • As a work around I copied and pasted the files from "C:\Program Files (x86)\UNIFY Solutions\" directory to the "C:\Program Files\UNIFY Solutions\" one and there didn't seem to be any issues.
0
Fixed

GroupedNameValueCollectionMissingFieldException when using removeMembership

Matthew Woolnough 12 years ago in UNIFYBroker/Learnology Life updated by anonymous 9 years ago 1

Config below causes error further below.

          <RemoveMemberships>
		  <RemoveMembership groupType="Id" groupValue="{d941e299-0cc0-41cf-83e7-a12100780115}" />
            <!--<RemoveMembership groupType="Name" groupValue="Leavers" siteType="School" laId="100" siteValue="" />-->
          </RemoveMemberships>
20130410,04:39:03,Connector processing success.,Connector Processor,Information,"Processing page 29 for connector Learnology Life Group Membership Connector processed 7775 entities, finding 0 differences. Duration: 00:00:06.6734010",Normal
20130410,04:39:03,Connector Processing started.,Connector Processor,Information,Connector Processing started for connector Learnology Life Group Membership Connector (page 30),Normal
20130410,04:39:04,Get all entities from connector failed.,Connector,Warning,"Get all entities from connector Learnology Life Group Membership Connector failed with reason Exception of type 'Unify.Framework.GroupedNameValueCollectionMissingFieldException' was thrown.. Duration: 00:03:39.2410005
Error details:
Unify.Framework.GroupedNameValueCollectionMissingFieldException: Exception of type 'Unify.Framework.GroupedNameValueCollectionMissingFieldException' was thrown.
   at Unify.Framework.EntityBase`3.GetValue[TValue](TKey key)
   at Unify.Connectors.LifeGroupMembershipConnector.DeleteMembership(ILifeGroupMembershipWCFCommunicator groupMembershipWCFCommunicator, Int32 groupMemberId, Guid groupSiteId, String groupName, IConnectorEntity matchingGroupMembershipEntity)
   at Unify.Connectors.LifeGroupMembershipConnector.DeleteEntities(IEnumerable`1 entityIds)
   at Unify.Connectors.LifeGroupMembershipConnector.<GetAllEntities>d__9.MoveNext()
   at Unify.Framework.EnumerableExtensions.<ActionOnFirst>d__1c`1.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at Unify.Framework.ActionOnExceptionEnumerator`1.MoveNext()
   at Unify.Framework.EnumerableExtensions.<ActionOnLast>d__16`1.MoveNext()
   at Unify.Framework.EnumerableExtensions.<ProduceAutoPages>d__9`1.MoveNext()
   at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.Visit()
   at Unify.Framework.Visitor.VisitEvaluateOnThreadPool[T](IEnumerable`1 visitCollection, Action`2 visitor, Int32 maxThreads)
   at Unify.Framework.RepositoryChangeDetectionWorkerBase.PerformChangeDetection(IEnumerable`1 connectorEntities)
   at Unify.Framework.ChangeDetectionImportAllJob.ImportAllChangeProcess()
   at Unify.Framework.ChangeDetectionImportAllJob.RunBase()
   at Unify.Framework.MutexJobDecorator.Run()
   at Unify.Framework.DefinedScopeJobAuditTrailJobDecorator.Run()
   at Unify.Framework.AsynchronousJobExecutor.PerformJobCallback(Object state)",Normal
20130410,04:39:04,Change detection engine import all items failed.,Change detection engine,Warning,"Change detection engine import all items for connector Learnology Life Group Membership Connector failed with reason Exception of type 'Unify.Framework.GroupedNameValueCollectionMissingFieldException' was thrown.. Duration: 00:03:39.3865130
Error details:
Unify.Framework.GroupedNameValueCollectionMissingFieldException: Exception of type 'Unify.Framework.GroupedNameValueCollectionMissingFieldException' was thrown.
   at Unify.Framework.EntityBase`3.GetValue[TValue](TKey key)
   at Unify.Connectors.LifeGroupMembershipConnector.DeleteMembership(ILifeGroupMembershipWCFCommunicator groupMembershipWCFCommunicator, Int32 groupMemberId, Guid groupSiteId, String groupName, IConnectorEntity matchingGroupMembershipEntity)
   at Unify.Connectors.LifeGroupMembershipConnector.DeleteEntities(IEnumerable`1 entityIds)
   at Unify.Connectors.LifeGroupMembershipConnector.<GetAllEntities>d__9.MoveNext()
   at Unify.Framework.EnumerableExtensions.<ActionOnFirst>d__1c`1.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at Unify.Framework.ActionOnExceptionEnumerator`1.MoveNext()
   at Unify.Framework.EnumerableExtensions.<ActionOnLast>d__16`1.MoveNext()
   at Unify.Framework.EnumerableExtensions.<ProduceAutoPages>d__9`1.MoveNext()
   at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.Visit()
   at Unify.Framework.Visitor.VisitEvaluateOnThreadPool[T](IEnumerable`1 visitCollection, Action`2 visitor, Int32 maxThreads)
   at Unify.Framework.RepositoryChangeDetectionWorkerBase.PerformChangeDetection(IEnumerable`1 connectorEntities)
   at Unify.Framework.ChangeDetectionImportAllJob.ImportAllChangeProcess()
   at Unify.Framework.ChangeDetectionImportAllJob.RunBase()
   at Unify.Framework.MutexJobDecorator.Run()
   at Unify.Framework.DefinedScopeJobAuditTrailJobDecorator.Run()
   at Unify.Framework.AsynchronousJobExecutor.PerformJobCallback(Object state)",Normal
20130410,04:39:09,Connector processing success.,Connector Processor,Information,"Processing page 30 for connector Learnology Life Group Membership Connector processed 7875 entities, finding 0 differences. Duration: 00:00:06.4517355",Normal
0
Answered

How to set a an Adapter in IdB to filter the "Offset" on days and not Hours

André van der Westhuizen 12 years ago updated by anonymous 9 years ago 3

The requirement is that accounts must be provisioned if they will the date commenced is less than 7 days:

I want to set "DateActive" to filter the offset against days.

I did see the following, but don't know how to configure the offset for days:

 
A Time value type is defined in the following manner:

[ws][sign]d|[d.]hh:mm[:ss[.ff]][ws]
 
<adapter name="TimeOffsetFlag"
  SourceColumn="DateActive"
  DestinationColumn="EmployeeStarted"
  Offset="10:00:00"
  EqualValue="True"
  GreaterValue="False"
  LesserValue="True"
  NullValue="False" />
0
Fixed

Required schema fields block updates

Matthew Clark 13 years ago updated by anonymous 9 years ago 2

If an adapter has a field marked as required, all update attempts fail validation. I have recreated this with a chris21 composite adapter, and a singular CSV adapter. The following errors appear in the logs and the second is thrown back to FIM:

25/May/2012 15:08:40 Warning
Adapter The entity <null> (60b62d76-d1cd-419a-8ed2-9fb864450855) in the connector CSV Test (a20d54cf-20c6-4583-bfe9-4df697c3d575) failed validation 1 times for the following reasons: Key is a required field and is not present.
25/May/2012 15:08:40 Warning
Adapter Adapter request to update entity to adapter space failed.
Adapter request to update entity 60b62d76-d1cd-419a-8ed2-9fb864450855 to adapter space 116f12ec-6b0e-4071-a6e9-ef850e1ba7cc failed with reason 1 items failed schema validation during Adapter operation. Check log for validation errors.. Duration: 00:00:00.0039063
Error details:
Unify.Framework.UnifyConfigurationException: 1 items failed schema validation during Adapter operation. Check log for validation errors.
at Unify.Product.IdentityBroker.Adapter.GetValidEntities(IEnumerable`1 transformedEntities)
at Unify.Product.IdentityBroker.Adapter.UpdateEntities(IEnumerable`1 entities, Boolean reflect)
at Unify.Product.IdentityBroker.Adapter.UpdateEntity(IAdapterEntity entity, Boolean reflect)
at Unify.Product.IdentityBroker.Adapter.UpdateEntity(IAdapterEntity entity)
at Unify.Product.IdentityBroker.AdapterNotifierDecoratorBase`1.UpdateEntity(IAdapterEntity entityToSave)
at Unify.Product.IdentityBroker.LDIFAdapterBase.ExportChanges(ExportedLDIFForAdapter exportedLdifForAdapter)
at SyncInvokeExportChanges(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

Of note is that the key field in the log is "<null>" when it appears in the adapter entity search.

0
Answered

Aurion Security User EXTERNAL_MAIL_TYPE configuration

Peter Wass 13 years ago in UNIFYBroker/Aurion updated by anonymous 9 years ago 2

I am attempting to set the mailtype in the Security User and its not appearing. Can I please have a document update or information attached to this job for the configuration attribute names etc?

Thanks

0
Fixed

Relational connector changes do not clear change cache in statistics engine

Tony Sheehy 12 years ago updated by anonymous 9 years ago 1

The adapter statistics engine only clears changes on base-connector-adapters on connector change detection.

See: AdapterStatisticsEnginePlugInFactory, id => adapterEngine.GetBaseConnectorAdapters(id).Select(adapter => adapter.Adapter.Key)), line 65

0
Answered

Can Identity Broker schema validation errors be better handled?

Matthew Clark 13 years ago updated by anonymous 9 years ago 5

We recently encountered an issue where a significantly large connector import contained a user with some bad data which mismatched its expected schema type (Identity Broker schema expected an integer, where the target system fed in the value "1.00E+01"). This is obviously quite frustrating, especially if this could happen at the end of a large import from a critical system, where large amounts of changes are expected. This is the behaviour of most of our current connectors (if not all, eg. Chris21, SharePoint).

An alternative considered was to individually log the entities which contain bad data, and continue the import. However, this has further reaching implications:

  • If the Identity Broker logs are not routinely monitored, entities containing bad data could be completely ignored in the solution
  • If a user is provisioned through the identity management solution, and at a later stage has bad data introduced, the user could be removed by a connector full import, and would then flow through as a delete through the solution

Identity Broker currently does not have a "strong" mechanism for informing users of events such as these outside of its current behaviour of halting the entire import. An alerting system similar to Event Broker 3 could prove useful, but still faces the dilemma of being ignored if not routinely monitored.

Can we make any improvements to address this issue?

0
Fixed

Log writer for Windows Event Log for non-error events incorrect message

Mark Southwell 14 years ago updated by anonymous 9 years ago 3

A small issue I noticed with IdB is that when logging to the Windows event log and logging is set for severity of Information, the text in the event is not correct for the event type, the event text for non-error events is prefix with "an error occurred in module" as below. Small thing.

Log Name: Application
Source: Changes register item processing completed.
Date: 11/04/2011 11:59:22 AM
Event ID: 0
Task Category: None
Level: Information
Keywords: Classic
User: N/A
Computer: EDTIDM001VS.test.act.gov.au
Description:
*Error occurred in module: *Change detection engine

Changes register item processing on connector MAZE HUGHES PRIMARY Class connector completed. Duration: 00:00:00.3906200

0
Answered

Best way to recover Identity Broker database

Daniel Walters 13 years ago updated by anonymous 9 years ago 7

Basically - What's the best way to blow away an IdB database and start with a fresh one? Can I do it without having to re-install all the add-ons?

Backstory - During testing I switched out the adapters and connectors for ones that connected to csv files instead of the end point systems and switching them back has scrambled everything. PartitionsIDs in IdB or something. After running the clear SQL database script in the IDB install directory the service wouldn't start - said bad db connection - but strangley the service debugger ran fine. I found another copy of the IDB database in sql named differently so I added the connection string for that one and the service started working. I used the clear sql script on that one and now i'm running a full import since about 11 this morning - so about five hours. I'm pretty sure there's about 20000 users but I don't think it would take that long just to get into the connector. My question is above in the basically part.

0
Fixed

ShortValueValidatorFactory

Daniel Walters 14 years ago updated by anonymous 9 years ago 5

A validator "short cut" is required so that in connector configuration files a column can be given the type of short. This was required when importing from a SQL Server DB with a smallint value.

Shane attempted to create one but there were problems with this deeper in the framework to do with IComparable methods not being implemented for a particular data type or something. Below is the code he tried and the errors returned.

public class ShortValueValidatorFactory : Unify.Framework.ValidatorFactory.RangeValidatorFactoryBase<ShortValue, int>
{

protected override ShortValue GetValue(System.Xml.Linq.XName attribute, ShortValue missingValue, System.Xml.Linq.XElement fieldXml)

{ return (ShortValue)Convert.ToInt16(fieldXml.Value); }

protected override ShortValue MissingMaxValue()

{ return (ShortValue)Int16.MaxValue; }

protected override ShortValue MissingMinValue()

{ return (ShortValue)Int16.MinValue; }

}
}

Error 1 The type 'Unify.Framework.ShortValue' cannot be used as type parameter 'TValue' in the generic type or method 'Unify.Framework.ValidatorFactory.RangeValidatorFactoryBase<TValue,T>'. There is no boxing conversion from 'Unify.Framework.ShortValue' to 'System.IComparable<Unify.Framework.ShortValue>'. \\VBOXSVR\VMShare\DETSAFEPersonConnector\DETSAFEPersonConnector\DETSAFEPersonConnector\Connector\Unify.Connector.DETSAFEPerson\ShortValueValidatorFactory.cs 9 18 Unify.Connector.DETSAFEPerson

Error 2 The type 'Unify.Framework.ShortValue' cannot be used as type parameter 'TValue' in the generic type or method 'Unify.Framework.ValidatorFactory.RangeValidatorFactoryBase<TValue,T>'. There is no boxing conversion from 'Unify.Framework.ShortValue' to 'Unify.Framework.IValue<int>'. \\VBOXSVR\VMShare\DETSAFEPersonConnector\DETSAFEPersonConnector\DETSAFEPersonConnector\Connector\Unify.Connector.DETSAFEPerson\ShortValueValidatorFactory.cs 9 18 Unify.Connector.DETSAFEPerson