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
Completed

Insert logging decorators at major operational boundaries

Adam van Vliet 13 years ago updated by anonymous 9 years ago 3

From PRODUCT-7:

In order to aid diagnosis of failing processes, I think it would be a good idea for there to be a configurable option to provide detailed diagnosis information at every interface boundary within Identity Broker.

By that, I mean every Identity Broker process that has interfaces should be able to have a decorator inserted to provide details information about the methods and data provided at each step of a process. This would prevent the kinds of Product Support issues where: "I can't really tell what's going on so I suspect something is wrong with Identity Broker".

This could be achieved by implementing the interfaces of major boundaries, and logging debug information. IDB-84 (filter on log verbosity) will have to be looked at to avoid flooding the logs.

0
Completed

Ability to generate hash on connectors for use as keys and relationships

Adam van Vliet 13 years ago updated by anonymous 9 years ago 4

From DEEWR-55, there were difficulties using multiple fields as relationships. These difficulties will be documented in IDB-352.

It could be of benefit to be able to generate a hash of any number of fields and have this included in the schema for the connector. Could be of benefit to allow this to be used as the key of the connector, and to be used for relationships.

Obviously the UI will have to be updated to accomodate, as would the config files and adapter/factory pairs. The schema provider may have to be updated to allow for these hashes to be suggested, depending on how the configuration is done.

The hash must always calculate the same for the same input, differently should the same values be swapped between two of the fields, and be resilient to clashes.

0
Completed

Create clear database script

Adam van Vliet 13 years ago updated by anonymous 9 years ago 7

From PRODUCT-14, the current clear database script is out of date and there isn't currently a script for v4.0.

Please change TruncatePartitionsCommandText to a .sql file and rename and move to the database directory.

Please add to the installer such that it is included like the other script.

Thanks.

0
Fixed

Container Foreign Key conflict

Adam van Vliet 12 years ago updated by anonymous 9 years ago 4

For investigation, please try and reproduce the error from IDB-116 and IDB-400.

As discussed, try to get the delete individual partition and the delete script to be called. Run a SQL trace to ensure that the correct calls are being made.

0
Completed

Discovery: Allow control over memory management

Adam van Vliet 12 years ago updated by anonymous 9 years ago 1

Mitchell Dowd (Coffey) has mentioned the desire to limit memory usage. The high memory occurs during FIM import and is likely a result of way transformations can greatly increase the factor of data requested from the database.

Please determine what our options are.

0
Fixed

Unexpected timestamp IdB connector behaviour for 12/31/9999 23:59:59

Bob Bradley 10 years ago updated by anonymous 9 years ago 2

As per attached email:

Adam
When investigating why my adapter join wasn’t pulling through any data I noticed the following:

Note how the startDate format varies from the endDate. Checking the schema both columns are configured as “timestamp”:

Is it possible that the value “9999-12-31T23:59:59Z” exceeds the bounds for this datatype in IdB?

The following is the raw data for the record in question (via the same PowerShell script that loads the connector, but running in debug mode) where both fields are represented as valid datetime values:

seqNumber : 1
userId : 10000167
startDate : 10/01/2014 00:00:00
endDate : 12/31/9999 23:59:59
businessUnit : U
company : AU01
countryOfCompany : AUS
lastModifiedOn : 10/07/2014 09:24:36
lastModifiedDateTime : 10/06/2014 22:24:36
userNav.userId : 10000167
positionNav.code : 50000355
positionNav.effectiveStartDate : 10/01/2014 00:00:00
employeeTypeNav.id : 12088
employeeClassNav.id : 1875
emplStatusNav.id : 1581

Thanks
Bob

Note: initial assessment only and possible workaround suggested if there turns out to be an issue here


image1.png
image2.png
0
Fixed

Uncaught exception when configuring an empty DN template

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

It is possible to throw the below exception (same one as seen in IDB-1036) in the following scenarios:

  • Committing an empty DN template search box and hitting Save
  • Clicking on the little cross that appears when you mouse over a short template

The error is

System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: Value cannot be null.
Parameter name: value (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is: System.ArgumentNullException: Value cannot be null.
Parameter name: value at System.Xml.Linq.XAttribute..ctor(XName name, Object value)
at Unify.Product.IdentityBroker.TemplateDistinguishedName.ToXml(String template)
at Unify.Product.IdentityBroker.IdentityServiceCollector.UpdateAdapter(BasicStandardAdapterRemotingConfiguration adapterConfiguration)
at SyncInvokeUpdateAdapter(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)).
0
Fixed

Incorrect directory for PrecompiledViews assembly

Adam van Vliet 13 years ago updated by anonymous 9 years ago 2

In \Source\Web\Unify.Framework.Web.Schedules\Unify.Framework.Web.Schedules.csproj, the PrecompiledViews reference hint path is to a directory on your machine.

Could you please fix this up?

Thanks.

0
Fixed

Full-Import on a Placeholder connector fails with 'Method 'Boolean Contains(System.Guid)' has no supported translation to SQL.'

Tony Sheehy 13 years ago updated by anonymous 9 years ago 2

On full-import with the default-test configuration of the test connector 'System Connector', the following exception is encountered:

NotSupportedException: "Method 'Boolean Contains(System.Guid)' has no supported translation"

Stack Trace:

   at System.Data.Linq.SqlClient.PostBindDotNetConverter.Visitor.VisitMethodCall(SqlMethodCall mc)
   at System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode node)
   at System.Data.Linq.SqlClient.SqlVisitor.VisitExpression(SqlExpression exp)
   at System.Data.Linq.SqlClient.SqlVisitor.VisitUnaryOperator(SqlUnary uo)
   at System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode node)
   at System.Data.Linq.SqlClient.SqlVisitor.VisitExpression(SqlExpression exp)
   at System.Data.Linq.SqlClient.SqlVisitor.VisitSelectCore(SqlSelect select)
   at System.Data.Linq.SqlClient.PostBindDotNetConverter.Visitor.VisitSelect(SqlSelect select)
   at System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode node)
   at System.Data.Linq.SqlClient.SqlVisitor.VisitAlias(SqlAlias a)
   at System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode node)
   at System.Data.Linq.SqlClient.SqlVisitor.VisitSource(SqlSource source)
   at System.Data.Linq.SqlClient.SqlVisitor.VisitSelectCore(SqlSelect select)
   at System.Data.Linq.SqlClient.PostBindDotNetConverter.Visitor.VisitSelect(SqlSelect select)
   at System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode node)
   at System.Data.Linq.SqlClient.SqlProvider.BuildQuery(ResultShape resultShape, Type resultType, SqlNode node, ReadOnlyCollection`1 parentParameters, SqlNodeAnnotations annotations)
   at System.Data.Linq.SqlClient.SqlProvider.BuildQuery(Expression query, SqlNodeAnnotations annotations)
   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() in c:\Program Files (x86)\Jenkins\jobs\Framework Core (DEV)\workspace\Source\Data\Unify.Framework.Data\LinqWhereQuery.cs:line 96

Entity-Schema Configuration:

<entitySchema>
          <field name="defaultConfiguration" key="false" readonly="false" required="true" validator="string.multi" id="0b41b813-0520-4299-9c9a-01ac05be8d8b" />
          <field name="keyedDefaultConfiguration" key="true" readonly="true" required="false" validator="guid" id="226aad17-c909-4fb5-bf43-7e500a6e141f" />
          <field name="providerFieldA" key="true" readonly="true" required="false" validator="ref" id="d0bce92d-504f-4880-b824-fc960978e6c1" />
          <field name="providerFieldB" key="false" readonly="false" required="true" validator="boolean" id="12570b73-36b1-4bcc-8512-78025ae2dc5f" />
          <field name="PersonId" key="true" readonly="true" required="true" validator="guid" id="2393b9b6-dafc-4c6d-a9cf-fa11768b4e7b" />
          <field name="PersonName" key="false" readonly="true" required="false" validator="string" id="4176be4e-74ba-491f-bbab-5a920ac810f2" />
          <field name="PhoneNumber" key="false" readonly="false" required="false" validator="string" id="9b87374a-8fb9-4de3-ba23-73d1b5600a05" />
          <field name="Email" key="false" readonly="false" required="false" validator="string" id="301295ad-90ef-4416-9b1c-bd250f753cca" />
          <field name="ManagerId" key="false" readonly="true" required="false" validator="guid" id="dc39a355-90e7-4b4e-9693-c6def826c631" />
          <field name="Status" key="false" readonly="true" required="false" validator="int" id="db1b9b31-69e7-4453-9f58-b7f7d3b6b8b1" />
          <field name="AccountName" key="false" readonly="true" required="false" validator="dn" id="1af12693-fe38-4c7a-92f3-d84c1c03026e" />
        </entitySchema>
0
Completed

Offsets for date/time relational transformations

Adam van Vliet 13 years ago updated by anonymous 9 years ago 7

From SAWTR-26, add offsets to start and end range.

Document.