All notable changes to MIMWAL project will be documented in this file. The "Unreleased" section at the top is for keeping track of important changes that might make it to upcoming releases.
- Support for multi-valued attributes in
[//Effective]
lookup in AuthZ workflows. - Implement Approve Request Activity.
- Support for
[//Value]
lookups in Query definitions across rest of the activities.
- New [IndexByValueFunction][IndexByValue] function
- New [CRFunction][CR] function
- New [DateTimeUtcToLocalTimeFunction][DateTimeUtcToLocalTime] function
- New optional culture name parameter to [DateTimeFormatFunction][DateTimeFormat] function
- Added support for WAL Lookup resolution for PowerShellUserName and PowerShellUserPassword properties of [Run PowerShell Script][RunPowerShellScript] activity.
- Generate Unique Value Activity now has the Conflict Filter search optimisation logic for the starts-with XPath function as documented in the Wiki turned off by default. To get the backward compatible behaviour, define the app setting GenerateUniqueValueActivity_OptimizeUniquenessKey = true in the FIMService app.config.
- FormatMultivaluedList now accepts all null values.
- DateTimeAdd now accepts a null value for timespan parameter.
- ConvertStringToGuid returns Empty GUID if the input is a null/empty string.
- ConvertFromBase64 returns null if the input is a null/empty string.
- ConvertToBase64 returns null if the input is a null/empty string.
- ConvertToNumber returns 0 if the input is a null/empty string.
- SplitString returns null if the input is a null/empty string.
- RemoveDuplicates returns null if the input is a null list.
- Eq function will return true if one string parameter is null and other string parameter is Empty
- Removed validation check from RunPowerShellScript activity UI from that the PowerShell User Password is Decryptable as the code runs under the context of submitter instead of FIMService plus the code runs on the Portal Server which may not be co-located with FIMService server.
- ConvertNumberToList function.
- Multiply function.
- Divide function.
- Mod function.
- ConvertToString will return null if the input parameter is null instead of throwing an exception.
- Bugfix in SortList function.
- Support for Query and Iternation in SendEmailNotification activity.
- DateTimeFromString function.
- Fixed ParameterValue* functions to return attribute values in the original datatype than as string.
- Correctly setting connection timeout for ODBC connection in ExecuteSqlNonQuery and ExecuteSqlScalar functions.
- Support for executing SQL stored procedures and queries for SQL Server and ODBC Data Sources with the implementation of following new functions:
- New function CreateSqlParameter
- New function CreateSqlParameter2
- New function ExecuteSqlNonQuery
- New function ExecuteSqlScalar
- New function ValueByKey
- FormatMultivaluedList function now supports list of variable lengths as input to format. It also no more expects the list to be of strings. The input can be any object type.
- ConvertToString function now supports a Guid as input.
- RunPowerShellScript User for can now be specified in the UPN format. The Domain\UserName or UPN format is also only required if "Impersonate PowerShell User" option is selected.
- Iteration in CreateResource, DeleteResource and UpdateResources activities now re-evaluates not only
[//Value]
expressions but also[//WorkflowData]
expressions.
- FormatMultivaluedList function now supports more than one list of strings as input to format.
- ConvertToUniqueIdentifier now supports a Guid in byte[] format as input.
- The
[//Request/RequestParameter]
lookup for a SystemEvent request will resolve to request parameters in the parent request.
- Support for Dynamic Grammar Resolution capability to [Update Resources][UpdateResourcesActivity] activity.
- The activity can be configured to resolve / evaluate lookups and expressions in the values returned by the expressions in update definitions. e.g. The string returned by
[//Queries/EmailTemplate/EmailBody]
will be parsed and all lookups will be resolved.
- The activity can be configured to resolve / evaluate lookups and expressions in the values returned by the expressions in update definitions. e.g. The string returned by
- Use of EvaluateExpression function will now log a deprecation warning in the event log in favour of using the newly implemented Dynamic Grammar Resolution capability of the [Update Resources][UpdateResourcesActivity] activity.
- Error event logging logic in the Run PowerShell Script activity.
- Support for dropping hard / soft signs and any other symbols in NormalizeString function .
- Run PowerShell Script activity will now only abort the workflow execution when an unhandled or explicit exception is thrown from the PowerShell script. Non-terminating errors in the script will only get logged to the event log.
- Support for executing a collection of Queries.
- New function [FormatMultivaluedList][FormatMultivaluedList].
- Support for
[//Value]
lookup in Request Actor expressions in CreateResource, DeleteResources and UpdateResources activities.
- Fixed broken
[//ComparedRequest]
lookup. - Fix for deleting a definition listing causing deletion / mess up with the remaining listings.
- Support for "/" as a Null Query.
- Added null check in the ForEachIteration_UntilCondition function of UpdateResources and CreateResource activities to prevent crash when AEC is defined, but Iteration not.
- Re-branded of FIMWAL "2" version 2.15.1016.0 as MIMWAL.
- AICs are updated to a "WAL: " prefix instead of "FIMWAL: ".
- The event log name changed from "FIMWAL" to "WAL".
- Added design time check for the Activity Execution Condition to be a boolean function expression.
- If in FIMWAL "2" you were using an
IIF
function expression as an Activity Execution Condition, you'll need to wrap it around aConvertToBoolean
for UI validation to succeed when making any changes to the activity in future.
- If in FIMWAL "2" you were using an
- Added support to break iteration loop in
UpdateResources
andCreateResource
activities.- Reserved
$__BREAK_ITERATION__
for the name of the boolean variable that needs to be set to true to break the iteration loop.
- Reserved
- Added support for cascaded queries lookup so that data from the first query can be used in the XPath search filter expression of the second query.
- Updated
Add
andSubtract
function to treat null input values as zero instead of throwing exception - Made substitutions parameter optional in
NormalizeString
function.
- Deleted compiled referenced DLLs and EXEs until LCA provides a split licence.
- Build and Deployment Wiki documents how to gather these files for building the solution.
- There are no bug fixes in this release.