Pipeline Component with Linked Dropdowns

Hi,

I've been struggling with a pipeline component where I need to have two dropdowns for properties relevant to each other. You can think of a following case where I have to:

  1. Select a schema name in the first dropdown. This will lay down the basis for items in the second dropdown.
  2. The second dropdown is populated with the promoted properties of the schema selected in the first dropdown.

I am also facing some weird behavior. The dropdowns for the properties, sometimes show up in the designer (Visual Studio Properties Window) and sometimes they wont show up. While they don't appear in the BizTalk Admin Console even for a single time.

I also want a design time item selection support in the drop-downs (if possible) and using BizTalkExplorerOM.CatalogExplorer for getting the collection of schemas, but it is also giving an exception at the design time.

July 17th, 2015 4:18am

There is a little know data type "SchemaWithNone" which can be used to create pipeline properties that permit you to browse the schemas (within the project or added references). To use this data type within your project you'll need to add reference to "Microsoft.BizTalk.Component.Utilities.dll". This file you will not find on the system and will have to add a reference directly from GAC. Microsoft BizTalk Server 2010 Unleashed has a reference to this on pg 318 Chapter 5 - Pipelines. (https://books.google.co.in/books?id=5OfNicXpazYC&pg=PA318&lpg=PA318&dq=BizTalk+%22SchemaWithNone%22+custom+property+type&source=bl&ots=H3x6VoZa9D&sig=AEEOkLoJTwU8e3BA6ptR78rGcIE&hl=en&sa=X&ved=0CCsQ6AEwAmoVChMIwY6avfLhxgIVVxuSCh07QgMF)

When you create a property of this type, you will be able to select a schema. Then you will be able to use this in the component using the IPipelineContext.GetDocSpecByName or GetDocSpecByType and then use this to get a list of the promoted properties or distinguished fields.

While CatalogExplorer would get you the assemblies, manipulating them to read the manifiests and get the schemas and then actually work with the schemas would be cumbersome.

Regards.

PS: Refer to https://msdn.microsoft.com/en-us/library/vstudio/ms743695%28v=vs.100%29.aspx to implement property change notification within the component. So when the SchemaWithNone changes, use this mechanism to obtain a list of properties and populate the second combo.
Free Windows Admin Tool Kit Click here and download it now
July 17th, 2015 6:09am

There is a little know data type "SchemaWithNone" which can be used to create pipeline properties that permit you to browse the schemas (within the project or added references). To use this data type within your project you'll need to add reference to "Microsoft.BizTalk.Component.Utilities.dll". This file you will not find on the system and will have to add a reference directly from GAC. Microsoft BizTalk Server 2010 Unleashed has a reference to this on pg 318 Chapter 5 - Pipelines. (https://books.google.co.in/books?id=5OfNicXpazYC&pg=PA318&lpg=PA318&dq=BizTalk+%22SchemaWithNone%22+custom+property+type&source=bl&ots=H3x6VoZa9D&sig=AEEOkLoJTwU8e3BA6ptR78rGcIE&hl=en&sa=X&ved=0CCsQ6AEwAmoVChMIwY6avfLhxgIVVxuSCh07QgMF)

When you create a property of this type, you will be able to select a schema. Then you will be able to use this in the component using the IPipelineContext.GetDocSpecByName or GetDocSpecByType and then use this to get a list of the promoted properties or distinguished fields.

While CatalogExplorer would get you the assemblies, manipulating them to read the manifiests and get the schemas and then actually work with the schemas would be cumbersome.

Regards.

PS: Refer to https://msdn.microsoft.com/en-us/library/vstudio/ms743695%28v=vs.100%29.aspx to implement property change notification within the component. So when the SchemaWithNone changes, use this mechanism to obtain a list of properties and populate the second combo.
July 17th, 2015 10:07am

There is a little know data type "SchemaWithNone" which can be used to create pipeline properties that permit you to browse the schemas (within the project or added references). To use this data type within your project you'll need to add reference to "Microsoft.BizTalk.Component.Utilities.dll". This file you will not find on the system and will have to add a reference directly from GAC. Microsoft BizTalk Server 2010 Unleashed has a reference to this on pg 318 Chapter 5 - Pipelines. (https://books.google.co.in/books?id=5OfNicXpazYC&pg=PA318&lpg=PA318&dq=BizTalk+%22SchemaWithNone%22+custom+property+type&source=bl&ots=H3x6VoZa9D&sig=AEEOkLoJTwU8e3BA6ptR78rGcIE&hl=en&sa=X&ved=0CCsQ6AEwAmoVChMIwY6avfLhxgIVVxuSCh07QgMF)

When you create a property of this type, you will be able to select a schema. Then you will be able to use this in the component using the IPipelineContext.GetDocSpecByName or GetDocSpecByType and then use this to get a list of the promoted properties or distinguished fields.

While CatalogExplorer would get you the assemblies, manipulating them to read the manifiests and get the schemas and then actually work with the schemas would be cumbersome.

Regards.

PS: Refer to https://msdn.microsoft.com/en-us/library/vstudio/ms743695%28v=vs.100%29.aspx to implement property change notification within the component. So when the SchemaWithNone changes, use this mechanism to obtain a list of properties and populate the second combo.
Free Windows Admin Tool Kit Click here and download it now
July 17th, 2015 10:07am

There is a little know data type "SchemaWithNone" which can be used to create pipeline properties that permit you to browse the schemas (within the project or added references). To use this data type within your project you'll need to add reference to "Microsoft.BizTalk.Component.Utilities.dll". This file you will not find on the system and will have to add a reference directly from GAC. Microsoft BizTalk Server 2010 Unleashed has a reference to this on pg 318 Chapter 5 - Pipelines. (https://books.google.co.in/books?id=5OfNicXpazYC&pg=PA318&lpg=PA318&dq=BizTalk+%22SchemaWithNone%22+custom+property+type&source=bl&ots=H3x6VoZa9D&sig=AEEOkLoJTwU8e3BA6ptR78rGcIE&hl=en&sa=X&ved=0CCsQ6AEwAmoVChMIwY6avfLhxgIVVxuSCh07QgMF)

When you create a property of this type, you will be able to select a schema. Then you will be able to use this in the component using the IPipelineContext.GetDocSpecByName or GetDocSpecByType and then use this to get a list of the promoted properties or distinguished fields.

While CatalogExplorer would get you the assemblies, manipulating them to read the manifiests and get the schemas and then actually work with the schemas would be cumbersome.

Regards.

PS: Refer to https://msdn.microsoft.com/en-us/library/vstudio/ms743695%28v=vs.100%29.aspx to implement property change notification within the component. So when the SchemaWithNone changes, use this mechanism to obtain a list of properties and populate the second combo.
July 17th, 2015 10:07am

There is a little know data type "SchemaWithNone" which can be used to create pipeline properties that permit you to browse the schemas (within the project or added references). To use this data type within your project you'll need to add reference to "Microsoft.BizTalk.Component.Utilities.dll". This file you will not find on the system and will have to add a reference directly from GAC. Microsoft BizTalk Server 2010 Unleashed has a reference to this on pg 318 Chapter 5 - Pipelines. (https://books.google.co.in/books?id=5OfNicXpazYC&pg=PA318&lpg=PA318&dq=BizTalk+%22SchemaWithNone%22+custom+property+type&source=bl&ots=H3x6VoZa9D&sig=AEEOkLoJTwU8e3BA6ptR78rGcIE&hl=en&sa=X&ved=0CCsQ6AEwAmoVChMIwY6avfLhxgIVVxuSCh07QgMF)

When you create a property of this type, you will be able to select a schema. Then you will be able to use this in the component using the IPipelineContext.GetDocSpecByName or GetDocSpecByType and then use this to get a list of the promoted properties or distinguished fields.

While CatalogExplorer would get you the assemblies, manipulating them to read the manifiests and get the schemas and then actually work with the schemas would be cumbersome.

Regards.

PS: Refer to https://msdn.microsoft.com/en-us/library/vstudio/ms743695%28v=vs.100%29.aspx to implement property change notification within the component. So when the SchemaWithNone changes, use this mechanism to obtain a list of properties and populate the second combo.
Free Windows Admin Tool Kit Click here and download it now
July 17th, 2015 10:07am

There is a little know data type "SchemaWithNone" which can be used to create pipeline properties that permit you to browse the schemas (within the project or added references). To use this data type within your project you'll need to add reference to "Microsoft.BizTalk.Component.Utilities.dll". This file you will not find on the system and will have to add a reference directly from GAC. Microsoft BizTalk Server 2010 Unleashed has a reference to this on pg 318 Chapter 5 - Pipelines. (https://books.google.co.in/books?id=5OfNicXpazYC&pg=PA318&lpg=PA318&dq=BizTalk+%22SchemaWithNone%22+custom+property+type&source=bl&ots=H3x6VoZa9D&sig=AEEOkLoJTwU8e3BA6ptR78rGcIE&hl=en&sa=X&ved=0CCsQ6AEwAmoVChMIwY6avfLhxgIVVxuSCh07QgMF)

When you create a property of this type, you will be able to select a schema. Then you will be able to use this in the component using the IPipelineContext.GetDocSpecByName or GetDocSpecByType and then use this to get a list of the promoted properties or distinguished fields.

While CatalogExplorer would get you the assemblies, manipulating them to read the manifiests and get the schemas and then actually work with the schemas would be cumbersome.

Regards.

PS: Refer to https://msdn.microsoft.com/en-us/library/vstudio/ms743695%28v=vs.100%29.aspx to implement property change notification within the component. So when the SchemaWithNone changes, use this mechanism to obtain a list of properties and populate the second combo.
July 17th, 2015 10:07am

There is a little know data type "SchemaWithNone" which can be used to create pipeline properties that permit you to browse the schemas (within the project or added references). To use this data type within your project you'll need to add reference to "Microsoft.BizTalk.Component.Utilities.dll". This file you will not find on the system and will have to add a reference directly from GAC. Microsoft BizTalk Server 2010 Unleashed has a reference to this on pg 318 Chapter 5 - Pipelines. (https://books.google.co.in/books?id=5OfNicXpazYC&pg=PA318&lpg=PA318&dq=BizTalk+%22SchemaWithNone%22+custom+property+type&source=bl&ots=H3x6VoZa9D&sig=AEEOkLoJTwU8e3BA6ptR78rGcIE&hl=en&sa=X&ved=0CCsQ6AEwAmoVChMIwY6avfLhxgIVVxuSCh07QgMF)

When you create a property of this type, you will be able to select a schema. Then you will be able to use this in the component using the IPipelineContext.GetDocSpecByName or GetDocSpecByType and then use this to get a list of the promoted properties or distinguished fields.

While CatalogExplorer would get you the assemblies, manipulating them to read the manifiests and get the schemas and then actually work with the schemas would be cumbersome.

Regards.

PS: Refer to https://msdn.microsoft.com/en-us/library/vstudio/ms743695%28v=vs.100%29.aspx to implement property change notification within the component. So when the SchemaWithNone changes, use this mechanism to obtain a list of properties and populate the second combo.
Free Windows Admin Tool Kit Click here and download it now
July 17th, 2015 10:07am

Hi Abhishek,

I would really appreciate if you can provide the minimum code that would fulfil the requirements prescribed in my post, earlier.


  • Edited by imirza10 18 hours 10 minutes ago
July 27th, 2015 8:56am

Hi Abhishek,

I would really appreciate if you can provide the minimum code that would fulfil the requirements prescribed in my post, earlier.


  • Edited by imirza10 Monday, July 27, 2015 12:55 PM
Free Windows Admin Tool Kit Click here and download it now
July 27th, 2015 12:55pm

Hi Abhishek,

I would really appreciate if you can provide the minimum code that would fulfil the requirements prescribed in my post, earlier.


  • Edited by imirza10 Monday, July 27, 2015 12:55 PM
July 27th, 2015 12:55pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics