Skip to content

Instantly share code, notes, and snippets.

@rasmuseeg
Last active March 27, 2019 13:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rasmuseeg/c4e3054ffbc02f98af213235f10e85fe to your computer and use it in GitHub Desktop.
Save rasmuseeg/c4e3054ffbc02f98af213235f10e85fe to your computer and use it in GitHub Desktop.
uCommerce Umbraco 7 UI.xml transform and file copy post install

Build files

This folder contains files that are required to build the solution.

Testing transforms

  1. Run the following to find your build version:
PS> dir HKLM:\SOFTWARE\Microsoft\MSBuild\ToolsVersions\
  1. Copy the path
  2. Navigate to your solution directory. And paste the path copied.
  3. This should now build your solution and projects
  4. Any errors are outputted in the console

NOTICE: This might not work, then use VS Build Tools

uCommerce Compensation targets

In order for ucommerce to function, the core files are needed. But uCommerce does not copy these files during build. Only during installation. To compensate for this, use the following build .targets to copy the files and transform UI.xml which are required.

Installation

  1. Add the following to the start of your website .csproj to import props
  <Import Project="..\build\uCommerceCompensation.props" Condition="Exists('..\build\uCommerceCompensation.props')" />
    ...
  1. Add the following to your website .csproj inside target EnsureNuGetPackageBuildImports to run during build AFTER umbraco build targets
  ...
  <Error Condition="!Exists('..\build\uCommerceCompensation.props')" Text="$([System.String]::Format('$(ErrorText)', '..\build\uCommerceCompensation.props'))" />
  <Error Condition="!Exists('..\build\uCommerceCompensation.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\build\uCommerceCompensation.targets'))" />
  ...
  1. Add the following to your website .csproj AFTER umbraco and ucommerce build targets at the end of the file
  ...
  <Import Project="..\build\uCommerceCompensation.targets" Condition="Exists('..\build\uCommerceCompensation.targets')" />
  ...
  1. Now build the solution

What does it do?

  1. It copies the missing uCommerce files to ~/umbraco folder of your website.
  2. It transforms UI.xml inside the ~/umbraco/config/create/, by adding missing elements during installation.
<!--
Custom configuration for uCommerce components.
Find the ID of component you want to override
and use the same ID here. Your component will
override the default.
You can configure new components here as well
and have them injected into existing ones.
-->
<configuration>
<components>
</components>
</configuration>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
AddUCommerceFilesToOutput;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
AddUCommerceFilesToOutput;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>
</Project>
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="CopyUCommerceFilesToWebRootForDeploy" AfterTargets="CopyAllFilesToSingleFolderForMsdeploy">
<PropertyGroup>
<UCommerceFilesFolder>$(MSBuildThisFileDirectory)..\packages\uCommerce.Umbraco7.7.19.0.18260\uCommerceFiles\</UCommerceFilesFolder>
</PropertyGroup>
<ItemGroup>
<UCommerceFiles Include="$(UCommerceFilesFolder)**\*" />
</ItemGroup>
<Copy SourceFiles="%(UCommerceFiles.FullPath)" DestinationFiles="$(_PackageTempDir)\%(RecursiveDir)%(Filename)%(Extension)" Condition="!Exists('%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<Target Name="CopyUCommerceFilesToWebRoot" BeforeTargets="AfterBuild">
<!-- This copies the files listed in `AddUCommerceFilesToOutput` to the webroot during NuGet install and should -->
<!-- not be altered to support automated builds, use `CopyUCommerceFilesToWebRootForDeploy` for that instead -->
<PropertyGroup>
<UCommerceFilesFolder>$(MSBuildThisFileDirectory)..\packages\uCommerce.Umbraco7.7.19.0.18260\uCommerceFiles\</UCommerceFilesFolder>
</PropertyGroup>
<ItemGroup>
<UCommerceFiles Include="$(UCommerceFilesFolder)**\*" />
</ItemGroup>
<Copy SourceFiles="%(UCommerceFiles.FullPath)" DestinationFiles="%(RecursiveDir)%(Filename)%(Extension)" Condition="!Exists('%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<Target Name="AddUCommerceFilesToOutput">
<!-- With help from: http://blog.samstephens.co.nz/2010-10-18/msbuild-including-extra-files-multiple-builds/ -->
<ItemGroup>
<CustomFilesToInclude Include=".\App_GlobalResources\**\*">
<Dir>App_GlobalResources</Dir>
</CustomFilesToInclude>
<CustomFilesToInclude Include=".\App_Plugins\**\*">
<Dir>App_Plugins</Dir>
</CustomFilesToInclude>
<CustomFilesToInclude Include=".\umbraco\**\*">
<Dir>umbraco</Dir>
</CustomFilesToInclude>
<FilesForPackagingFromProject Include="@(CustomFilesToInclude)">
<DestinationRelativePath>%(CustomFilesToInclude.Dir)\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
<Target Name="UCommerceTransformUIFile" AfterTargets="CopyUmbracoFilesToWebRoot">
<ItemGroup>
<TransformFilesFolder Include="$(MSBuildThisFileDirectory)" />
<CustomConfigFile Include="$(MSBuildThisFileDirectory)\Custom.config" />
</ItemGroup>
<Copy
SourceFiles="@(CustomConfigFile)"
DestinationFolder=".\umbraco\ucommerce\Configuration"
/>
<TransformXml Source=".\umbraco\Config\Create\UI.xml"
Transform="%(TransformFilesFolder.FullPath)\UI.xml"
Destination=".\umbraco\Config\Create\UI.xml"/>
</Target>
</Project>
<?xml version="1.0" encoding="utf-8"?>
<createUI xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<nodeType alias="Catalog_Root" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="Catalog_Root" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Catalog/CreateProductCatalogGroup.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductCatalogGroupTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductCatalogGroupTask"/>
</tasks>
</nodeType>
<nodeType alias="product_catalog_group" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="product_catalog_group" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Catalog/CreateProductCatalog.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductCatalogGroupTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductCatalogGroupTask"/>
</tasks>
</nodeType>
<nodeType alias="product_catalog" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="product_catalog" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Catalog/CreateCategoryOrProduct.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductCatalogTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductCatalogTask"/>
</tasks>
</nodeType>
<nodeType alias="category" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="category" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Catalog/CreateCategoryOrProduct.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.CategoryTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.CategoryTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_definitions_product" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_definitions_product" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Settings/Definitions/CreateProductDefinition.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductDefinitionTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductDefinitionTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_catalog_productdefinition" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_catalog_productdefinition" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Settings/Definitions/CreateProductDefinitionField.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductDefinitionTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductDefinitionTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_catalog_productdefinition_field" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_catalog_productdefinition_field" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductDefinitionFieldTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductDefinitionFieldTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_definitions_definitionType" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_definitions_definitionType" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>uCommerce</header>
<usercontrol>/UCommerce/Settings/Definitions/CreateDefinition.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.DefinitionTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.DefinitionTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_definitions_definition" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_definitions_definition" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Settings/Definitions/CreateDefinitionField.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.DefinitionTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.DefinitionTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_definitions_field" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_definitions_field" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.DefinitionFieldTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.DefinitionFieldTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_definitions_datatypes_root" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_definitions_datatypes_root" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Settings/Definitions/CreateDataType.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.DataTypeTask">
</delete>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.DataTypeTask">
</create>
</tasks>
</nodeType>
<nodeType alias="settings_definitions_datatype" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_definitions_datatype" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.DataTypeTask">
</delete>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.DataTypeTask">
</create>
</tasks>
<usercontrol>/UCommerce/Settings/Definitions/CreateDataTypeEnum.ascx</usercontrol>
</nodeType>
<nodeType alias="settings_definitions_datatype_enum" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_definitions_datatype_enum" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.DataTypeEnumTask">
</delete>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.DataTypeEnumTask">
</create>
</tasks>
</nodeType>
<nodeType alias="settings__orders_shippingmethods_root" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings__orders_shippingmethods_root" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Settings/Orders/CreateShippingMethod.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.ShippingMethodTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.ShippingMethodTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_orders__shippingmethods_shippingmethod" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_orders__shippingmethods_shippingmethod" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.ShippingMethodTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.ShippingMethodTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_order_paymentmethods_root" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_order_paymentmethods_root" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Settings/Orders/CreatePaymentMethod.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.PaymentMethodTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.PaymentMethodTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_orders_paymentmethods_paymentmethod" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_orders_paymentmethods_paymentmethod" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.PaymentMethodTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.PaymentMethodTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_orders_emails_profiles_root" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_orders_emails_profiles_root" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Settings/Email/CreateEmailProfile.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.EmailProfileTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.EmailProfileTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_orders_emails_types_root" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_orders_emails_types_root" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Settings/Email/CreateEmailType.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.EmailTypeTask">
</delete>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.EmailTypeTask">
</create>
</tasks>
</nodeType>
<nodeType alias="settings_orders_emails_type" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_orders_emails_type" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.EmailTypeTask">
</delete>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.EmailTypeTask">
</create>
</tasks>
</nodeType>
<nodeType alias="settings_orders_emails_profile" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_orders_emails_profile" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.EmailProfileTask">
</delete>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.EmailProfileTask">
</create>
</tasks>
</nodeType>
<nodeType alias="settings_catalog_pricegroups_root" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_catalog_pricegroups_root" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Settings/Catalog/CreatePriceGroup.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.PriceGroupTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.PriceGroupTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_catalog_pricegroups_pricegroup" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_catalog_pricegroups_pricegroup" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.PriceGroupTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.PriceGroupTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_catalog_productrelationtypes_root" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_catalog_productrelationtypes_root" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Settings/Catalog/CreateProductRelationType.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductRelationTypeTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductRelationTypeTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_catalog_productrelationtype" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductRelationTypeTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.ProductRelationTypeTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_orders_countries_root" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_orders_countries_root" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Settings/Orders/CreateCountry.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.CountryTask">
</delete>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.CountryTask">
</create>
</tasks>
</nodeType>
<nodeType alias="settings_orders_countries_country" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_orders_countries_country" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.CountryTask">
</delete>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.CountryTask">
</create>
</tasks>
</nodeType>
<nodeType alias="settings_orders_currencies" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_orders_currencies" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Settings/Orders/CreateCurrency.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.CurrencyTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.CurrencyTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_orders_currencies_currency" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_orders_currencies_currency" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.CurrencyTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.CurrencyTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_orders_ordernumbersseries_root" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_orders_ordernumbersseries_root" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Settings/Orders/CreateOrderNumber.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.OrderNumberSerieTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.OrderNumberSerieTask"/>
</tasks>
</nodeType>
<nodeType alias="settings_orders_ordernumbersseries_ordernumberserie" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="settings_orders_ordernumbersseries_ordernumberserie" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.OrderNumberSerieTask"/>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.OrderNumberSerieTask"/>
</tasks>
</nodeType>
<nodeType alias="marketing" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="marketing" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Marketing/Dialogs/CreateCampaign.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.CampaignTask">
</delete>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.CampaignTask">
</create>
</tasks>
</nodeType>
<nodeType alias="marketing_campaign" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="marketing_campaign" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<usercontrol>/UCommerce/Marketing/Dialogs/CreateCampaignItem.ascx</usercontrol>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.CampaignTask">
</delete>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.CampaignTask">
</create>
</tasks>
</nodeType>
<nodeType alias="marketing_campaign_item" xdt:Transform="Remove" xdt:Locator="Match(alias)" />
<nodeType alias="marketing_campaign_item" xdt:Transform="InsertIfMissing" xdt:Locator="Match(alias)">
<header>Commerce</header>
<tasks>
<delete assembly="UCommerce.Umbraco7" type="Menu.Tasks.CampaignItemTask">
</delete>
<create assembly="UCommerce.Umbraco7" type="Menu.Tasks.CampaignItemTask">
</create>
</tasks>
</nodeType>
</createUI>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment