Reason

With the help of a custom file called Config.xml, which is a configuration file that can be used to modify the way a certain functionality works in Alchemy Catalyst.

This file needs to be created with the help of Notepad (or your favourite text editor) and then copied into the public folder of Alchemy Catalyst.  

Public folder:

• Microsoft Windows Vista, 7 & 8 = C:\Users\Public\Alchemy Software\Catalyst x.0
• All other Microsoft OS = C:\Documents and Settings\All Users\Alchemy Software\Catalyst x.0

 

Example

One configuration change that can be made to Alchemy Catalyst in the Config.xml file is to hide the charset in a HTML file after the file is inserted into a TTK. You will need to restart Alchemy Catalyst after editing the Config.xml file for these changes to take effect.

Sample config.xml:

Each item tag changes the behavior of Alchemy Catalyst. The screenshot below shows the message in the result pane when the Config.xml has been added to the public folder.

Below is the explanation of each available entry. One or more entries can be used in the Config.xml. You need to make sure not to change the first 3 lines and last 2 lines as they are always needed. However you can edit/add each item element you need from the list below.

 

Config.xml available options

.NET container exceptions

Example for .NET Forms

 

<item name=".NET container exceptions" option="TRUE">

          <Assembly Name = "BxdSicod.UIManagement.AxxExplorer.BaseClasses.dll">

              <ResourceName ID="BxdSicod.UIManagement.AxxExplorer.BaseClasses.LoadCatalogUpdate.resources"/>

              <ResourceName ID="BxdSicad.UIManagement.AxxExplorer.BaseClasses.SplashScreen.resources"/>

          </Assembly>

       </item>

Example for .NET BAML

   <item name=".NET container exceptions" option="TRUE">

           <Assembly Name = "Alchemy.CompoundLibrary.Admin.dll">

                  <ResourceName ID="landingpage/landingpage.baml"/>

           </Assembly>

  </item>

There are 3 options on the .Net container exceptions:

<item name=".NET container exceptions" option="TRUE">

This allows to list the resources that need manually created in order to avoid various issues on parsing and visual rendering of forms/controls. This option needs to be set TRUE for the other two options to work since the assemblies can be listed only here.

<item name=".NET container exceptions:Viewing" option="TRUE"/>

The assemblies listed above are created manually for the Visual View.

<item name=".NET container exceptions:Experts" option="TRUE"/>

The assemblies listed above are created manually for visualization in the Validation and Layout Manager experts.

In order to extract and/or visualize forms, Catalyst creates them in the background, in the .NET framework. The .NET framework needs the assembly where the forms and/or containing controls (buttons, checkboxes etc.) are defined. User implemented custom forms/controls are defined in user assemblies (dlls). When the custom assembly cannot be located, the .NET framework will rise exceptions while attempting to generate the form without the correct controls. Some of these exceptions can even cause Catalyst to crash.

The "manual" creation means the resources listed under this option are not immediately passed to the .NET framework but first queried to find whether all containing controls are located in the available assemblies. This is done only on the resources listed since querying of resources impacts on performance. The custom controls not found are replaced with their base (system) types where possible, so a user defined custom button will be replaced with a standard button. This avoids the .NET exceptions.    

However this is not 100% reliable since not all controls can be replaced with standard controls, same control types can exist in various assemblies leading to picking up the wrong control, there can be multiple versions of the same control/assembly available.

To make this work reliably, the user should ensure only the latest custom assembly is available on their machine (old assembly versions should be removed), and that all required custom assemblies are registered in the system or located in the TTK folder.

 

Show HTML Attribute - TRUE

<item name="Show HTML Attribute" detail="a;href" option="TRUE" />

Setting this option to 'TRUE' means the element;attribute pair defined under detail will be parsed translatable, where normally the attribute value would not be parsed by default. In this example, the href attribute will be displayed when found in the a element (i.e. URLs)..

More information and example in this article: Specifying attributes as localisable in HTML.
 

Show HTML Attribute - FALSE

<item name="Show HTML Attribute" detail="span;title" option="FALSE"/>

Setting this option to 'FALSE' means the element;attribute pair defined under detail will not be parsed translatable. This is used for attributes which are parsed localizable by default and which you need to not include in your TTK project. In this example, the title attribute string will NOT be displayed when found in the span element.

 

Single Res Updates

<item name="Single Res Updates" option="TRUE"/>

 

There is an issue extracting some Win32 binary files on Windows Server 2003 & 2008.  This seems to be a problem with the OS which will not allow groups of resources to be saved.  This Config.xml option means that each resource is extracted and saved individually. This ensures that all items will be extracted and saved but the time taken will necessarily be longer.

 

Don't Output HTML Charset

<item name="Dont Output HTML Charset" option="TRUE"/>

 

Alchemy Catalyst  normally outputs the relevant charset in HTML files on extraction, according to the target language of the TTK. For example:

<META http-equiv="Content-Type" content="text/html; charset=Windows-1252"/>

 This can be turned off using this option.

Escape Extended Chars in XML Files

<item name="Escape Extended Chars in XML Files" option="TRUE" />

 

When extracting XML files from a TTK if you wish to extract escaped encoding for the extended characters you will need to modify the Config.xml file.

 

Escape Extended Chars in HTML Files

<item name="Escape Extended Chars in HTML Files" option="TRUE" />

 

When extracting HTML files from a TTK if you wish to extract encoding for the extended characters you will need to modify the Config.xml file.

 

Generate language resources

<item name="Generate language resources" extOption="false"/>

 

Setting this option to 'true' means that resources are saved in addition to the original language resources. The original set are not removed.  Useful for creating multilingual Win32 binaries.

 

Terminate Resources

<item name="Terminate Resources" resource-types="REGISTRARSCRIPT;"/>

 

In very rare cases, where resources do not contain termination characters, it may be necessary to tell Alchemy Catalyst to terminate these resources.  In this case, when Alchemy Catalyst is parsing the executable, it looks for a null byte following the resource. If it finds one, it considers it as part of the resource, thus ensuring it will be present after extraction. To add a resource type here, add the resource type name to the semi-colon separated list (use either text or numeric value).

 

Batch Job Sleep Delay

<item name="Batch Job Sleep Delay" milliseconds="1500"/>

 

This is a delay that is introduced before executing a batch command.  On some networks, it may take some time (order of milliseconds) to locate and validate a license for use.  Should the batch command try to execute before this has happened, the command may fail.  For this reason, it is possible to delay the execution of the command by the amount of time specified here in milliseconds.  For batch scripts with very large numbers of Alchemy Catalyst calls, this delay will affect the overall time for completion.

 

DBCursor

<item name="DBCursor" location="None"/>

 

The ADO Database interface has the notion of client-side and server-side connections.  This governs where the database processes are run and can also affect the functionality available.  While client-side is the recommended value and the default, some ADO drivers will provide more functionality at the server-side.  The Excel ADO driver is an example of this.  With no entry here, Alchemy Catalyst uses client by default.  The exception to this is in the case of an Excel document.  If Alchemy Catalyst detects an Excel document, it will use server-side automatically.

 

Don't Leverage Win32 Styles

<item name="Dont Leverage Win32 Styles" option="TRUE" />

 

The Leverage Expert in Alchemy Catalyst will not leverage Win32 styles, allowing to leverage Text and Coordinates without leveraging any Style (For example Multiline or Right to left).
This can help prevent overwriting new style attributes introduced/Removed in new Win32 source files.

 

Disable TTK Compression

<item name="Disable TTK Compression" option="TRUE" />

 

This Disables the TTK compression when saving the TTK in Alchemy Catalyst.

 

Disable coordinate changes extracting .resx files

<item name="Extract only modified ResX text" option="TRUE" />

 

This Disables any changes to coordinates in .ResX files when Extracting.

 

Default Chinese simplified to use zh-Hans (Catalyst build 10081 and higher only)

By default, when selecting Chinese (Simplified) (zh_Hans) as target language, Catalyst will automatically change this language to Chinese (Simplified) (zh-CHS).
This is because Microsoft is replacing Chinese (Simplified) (zh-CHS) with Chinese (Simplified) (zh_Hans) in .NET Framework 2, however they use the same LCID.

See http://blogs.msdn.com/b/shawnste/archive/2007/12/13/zh-hans-zh-hant-and-the-old-zh-chs-zh-cht.aspx

Example:

zh-Hans and zh-CHS both have LCID = 0x0004 (in Hex)  = 4 in decimal

zh-Hant and zh-CHT both have LCID = 0x7C04 (in Hex) = 31748 in decimal

Since Catalyst only stores the LCID for languages, for each LCID Catalyst takes the first language description in the list of languages (i.e. the dropdown of languages). This is why, even when zh-Hans is selected in the language drop down, Catalyst changes the language to zh-CHS.

To enforce Catalyst to use one of the 2 languages, use the Config.xml file which allows  to always map an LCID to one particular Language description. Without an entry in the config.xml file, whenever the second of the Chinese languages with the same LCID is selected, Catalyst will use the first language with that LCID instead, according to the order they appear in the languages drop down lists.

The format of the element in the confg.xml file is as follows:

<item name="Language identity" LCID="0x0004" LanguageShortDescription="zh-Hans"/>

The name attribute must be "Language identity", case-insensitive

The LCID attribute contains the LCID of the language, in either the Hex format or decimal format, both are possible.

The LanguageShortDescription attribute contains the Culture name as in

http://msdn.microsoft.com/en-us/goglobal/bb896001.aspx

LCID and LanguageShortDescription are case sensitive (the attribute names, not the values).

Example of Config file used for Chinese (Simplified) (zh_Hans):

<?xml version="1.0"?>

<catalyst version = "10.00">

    <task-control>

         <item name="Language identity" LCID="0x0004" LanguageShortDescription="zh-Hans"/>

    </task-control>

</catalyst>

 

Customize Analysis expert Fuzzy match bands  (Catalyst build 100104 and higher only)

In Catalyst 10, you can customize the Analysis Expert's Fuzzy match bands to suit your needs. You may be using different bands for costing purpose.
The following are details on configuring the Fuzzy match bands in the config.xml.

For each band, the user has only to specify the lower limit, with the upper limit being automatically calculated. As an example, the following entries in the config.xml file would result in the default values of Catalyst 10:

<?xml version="1.0"?>

<catalyst version = "10.00">

    <task-control>

        <item name="Fuzzy Bracket" option="95"/>         

        <item name="Fuzzy Bracket" option="85"/>         

        <item name="Fuzzy Bracket" option="75"/>         

        <item name="Fuzzy Bracket" option="50"/>         

    </task-control>

</catalyst>

 

Important points:

  • The order these elements appear in the config.xml is not important.
  • If no bands are present in the config.xml file, the default values are used.
  • Any number of bands is possible.
  • The highest band's upper limit is always 99%

 

Example 1: The following entries

<?xml version="1.0"?>

<catalyst version = "10.00">

    <task-control>

        <item name="Fuzzy Bracket" option="90"/>         

        <item name="Fuzzy Bracket" option="70"/>         

    </task-control>

</catalyst>

would result in 2 Fuzzy match bands:

70%-89%
90%-99%

 

Example 2: By choosing bands of one unit, the analysis will report the number of words for a particular percentage. The following entries

<?xml version="1.0"?>

<catalyst version = "10.00">

    <task-control>

        <item name="Fuzzy Bracket" option="99"/>

        <item name="Fuzzy Bracket" option="98"/>

        <item name="Fuzzy Bracket" option="97"/>

        <item name="Fuzzy Bracket" option="96"/>

        <item name="Fuzzy Bracket" option="95"/>

        <item name="Fuzzy Bracket" option="90"/>         

        <item name="Fuzzy Bracket" option="70"/>         

    </task-control>

</catalyst>

would result in these bands

70%-89%
90%-94%
95%
96%
97%
98%
99%

 

 

 

Extract only text (including unchanged source text) from .Net Winform binaries  (Catalyst build 100112 and higher only)

In Catalyst 10, you may opt to extract only the text for .NET Winforms.

You can configure Catalyst 10 to do so by using this line item: <item name=".NET Extract Only Text" option="TRUE"/>

For example, the config.xml would look like so:

<?xml version="1.0"?>

<catalyst version = "10.00">

    <task-control>

         <item name=".NET Extract Only Text" option="TRUE"/>

    </task-control>

</catalyst>

This option takes precedence over extract modified resources only & Catalyst's default (i.e. extract all content).

Extract TBX files as UTF-8  (Catalyst build 100151 and higher only)

In Catalyst 10, when exporting to TBX format, the output file is automatically encoded in UTF-16.
This can be a problem in particular when you want to insert the exported file in GlobalLink® Term Manager which only supports UFT-8.
 

Using the "TBX Output File Encoding" option in the config.xml file will enable you to export to TBX in UTF-8 format.

For example, the config.xml would look like so:

<?xml version="1.0"?>

<catalyst version = "10.00">

    <task-control>

         <item name="TBX Output File Encoding" option="UTF-8"/>

    </task-control>

</catalyst>

 

Decrease sensitivity for Validate Expert clipped text test on dialog radio buttons and checkboxes  (Catalyst build 11.2.209 and higher only)

                <item name="ValidationClippedTextSensitivity" option="1"/>

If Validation Expert's results are showing clipped text for checkboxes and radio buttons which look ok in Visual view (as in just within the control size), then using this config.xml entry can help reduce the number of these results which could be classed as ‘false  positives’.

if the option value is 0 (the default without config file), the control (i.e. only radio button or checkbox) whose width is the same as the text is NOT reported as clipped

If the option value is 1 the control (i.e. only radio button or checkbox) whose width is the same as the text IS reported as clipped. Meaning, to be OK a control has to be at least 1 pixel wider than the text’s width.

 

Overwritting the standard segmentation skipping spaces (Catalyst build 12.2.225 and higher only)

By default, whenever a segmentation delimiter is found, in order to decide the first character of the NEXT segment, Catalyst skips spaces, tabs, \r and \n characters.

To overwrite this logic, use the following entry in the config.xml file.

 

<item name="SegmentationSkipNewLine" option="false"/>

 

 

 

Products or Versions Affected

  • Alchemy CATALYST 7.0  and greater

 

Article last updated with Catalyst 12 on 21/05/2018