New release of BizTalk Mapper Extensions UtilityPack for BizTalk Server 2010 is available

  • Sandro Pereira
  • Aug 12, 2013
  • 5 min read

I just released a new version of the BizTalk Mapper Extensions UtilityPack project (available on GitHub), this time with only 1 new but cool functoid for BizTalk Server 2010 that was inspired by a problem that occurred to me last week.

biztalk mapper extensions utilitypack 2010 v1.6

📝 One-Minute Brief

The BizTalk Mapper Extensions UtilityPack v1.2 for BizTalk Server 2010 is now available, featuring a suite of custom functoids designed to simplify complex mapping tasks. This update includes the powerful If-Then-Else, Default Value Mapping, and specialized CRM functoids. By extending the native capabilities of the BizTalk Mapper, this pack reduces the need for custom XSLT and scripting, allowing developers to handle logical operations and data transformations more efficiently.

Project Description

BizTalk Mapper Extensions Utility Pack is a set of libraries with several useful functoids to include and use in a map, which will provide an extension of BizTalk Mapper capabilities. This is the list of previous functoids available:

Conversion Functoids

  • Convert from human-readable to epoch date Functoid: This functoid allows you to convert a traditional date (Human Readable Date) into a Unix date (Epoch Date).
  • Convert from epoch to human-readable date Functoid: This functoid allows you to convert a Unix date (Epoch Date) into a traditional date (Human Readable Date).
  • Convert DateTime format Functoid: This functoid allows you to convert the DateTime format.

Dynamic Generators Functoids

  • Password Generator Functoid: Use this functoid to build a random password.
  • Guid Generator Functoid: This functoid allows you to generate a new Guid.
  • Tiny Id Generator Functoid: This functoid allows you to generate a new Tiny Id.

Encoder Functoids

  • Base64 Decoder Functoid: This functoid allows you to decode Base64-encoded text strings.
  • Base64 Encoder Functoid: This functoid allows you to convert a string object into a base64 encoded string.

Configuration Functoids

  • BTSNTSvc Config Get Functoid: This functoid allows you to get configuration parameters from BTSNTsvc.exe.config. If there is no section specified, the functoid reads from the AppSettings.
  • System Environment Variable Get Functoid: This functoid allows you to get configuration parameters from the machine’s System Environment Variable.
  • Custom Config Get Functoid: This functoid allows you to get configuration parameters from a custom configuration file.
  • Windows Registry Config Get Functoid: This functoid allows you to get configuration parameters from the Windows Registry.
  • SSO Config Get Functoid: This functoid allows you to get configuration parameters from the SSO Database.

CRM Functoids

  • CRM Lookup Functoid: This functoid allows you to retrieve a value from a CRM lookup field.

String Functoids

  • String Constant functoid: This functoid allows you to set constant values (strings) inside the maps.
  • String ToTitleCase functoid: This functoid allows you to convert the specified string to title case (except for words that are entirely in uppercase, which are considered to be acronyms)
  • String Advance Compare Functoid: This functoid allows you to compare two specified String objects, ignoring or honoring their case, and returns a boolean that indicates if they are equal or not.
  • String Replace Functoid: This functoid returns a new string in which all occurrences of a specified string (second parameter) found in the first string are replaced with another specified string (third parameter).
  • String Normalize Functoid: This functoid allows you to normalize the text. It will remove two or more consecutive spaces and replace them with a single space, remove two or more consecutive newlines and replace them with a single newline, and “condense” multiple tabs into one.
  • String PadLeft Functoid: This functoid allows you to set a new string that right-aligns the characters in this instance by padding them on the left with a specified Unicode character, for a specified total length.
  • String PadRight Functoid: This functoid allows you to set a new string that left-aligns the characters in this string by padding them on the right with a specified Unicode character, for a specified total length.

What’s new in this version?

Although BizTalk Server provides many built‑in functoids for conditional mapping, those options remain limited. As a result, developers often need to rely on custom XSLT to implement more advanced conditions.

With this new version, however, a new library becomes available. It introduces an additional method that allows developers to perform conditional mapping directly inside the BizTalk Mapper, without writing custom XSLT.

Default Value Mapping functoid

The Value Mapping and Value Mapping (Flattening) functoids enable conditional mapping from an input message to an output message. When the first input parameter evaluates to true, the functoid writes the second input parameter to the target element or attribute. Otherwise, the mapper does not create that element or attribute in the output message.

In contrast, the Default Value Mapping functoid behaves differently. You can use it to return one of two input values. If the first input parameter is null or empty, the functoid returns the second value. Otherwise, it returns the first input parameter.

Parameters

The functoid takes one mandatory input parameter:

  1. String value to tested as Null or Empty.
  2. A string value that will act as the default value in case the first input is null or empty.

If the value of the first input parameter is Null or Empty, then the value of the second input parameter is returned; otherwise, the first input parameter is returned. Example: P0011.

default value mapping functoid

I will explain the use of the is functoid in my next post.

Download

You can download the source code and application binaries from GitHub:

Hope you find this helpful! If you liked the content or found it useful and would like to support me in writing more, consider buying (or helping to buy) a Star Wars Lego set for my son. 

Thanks for Buying me a coffe
Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

4 thoughts on “New release of BizTalk Mapper Extensions UtilityPack for BizTalk Server 2010 is available”

Leave a Reply

Your email address will not be published. Required fields are marked *

The Ultimate Cloud
Management Platform for Azure

Supercharge your Azure Cost Saving

Learn More
Turbo360 Widget

Back to Top