Skip to Content

Behind the Scenes of Duet Text Replacement

h4. Introduction   Duet allows adjusting text elements shown on Duet’s User Interface according to your needs and your company’s terminology. For a basic understanding of Duet Text Replacement, please read the *first blog of this series (How to adjust virtually any text element in Duet’s User Interface)* . In this blog, I will delve into details. This comprises local, general and cross application text replacement as well as import and export of configuration data for backup, transport and translation.    h4. Local vs. General  vs. Cross-Application Text Replacement  In the first blog, we have replaced a specific text element on a specific tab of a single Duet application. In Duet Team Management  (Duet for Microsoft Office and SAP), on the tab “Employee Record” of an employee when viewed by his or her manager (in contrast to when viewed by oneself or by a colleague), we changed the section heading from “Contract Data” to “Contractual Information”. Besides this fine granularity, Duet also offers text replacements that span a whole application or all installed Duet applications. *Local*. You will get a list of all adjustable labels with their current values. *General*. *Cross Applications* –> Text Replacement. image   For general and cross-application text replacement, you can define a “New Text” replacing the “Original Text”. Please be aware that text replacement is *case-sensitive*. This explains why “report” is replaced with “report_global” in “Add this report to favorites” and “E-mail the owner of this report”, but “Report” with capital R stays untouched in “Master Report Template”.   image  In terms of priority, local text replacement overrides general text replacement and general text replacement overrides cross application text replacement. Since we defined “Run this report_local” as local text replacement, it is not overwritten by the general rule depicted above like the other labels. After defining your text replacement rules, switch to the “Management” tab and commit your changes. For cross-application text replacements, this may take some time. Please wait for the confirmation message and do not close the browser window in the mean time.   h4. Import and Export of Configuration Data On the “Management” tab, you can also import and export your settings. This will include all settings made on the “User Interface Configuration” tab. Select the Applications from the list on the left, choose committed or draft version, then click Export. The exported file can be used as backup, for translation or to transport settings from one Duet server to another.  image  You will receive a ZIP file that contains a folder for each exported scenario. In each folder, you will find an XML file containing the settings. If you did text replacements, those strings are exported to a .properties file to facilitate translation. For the changes done in this blog, find the REMA.properties file below: Duet.REMA.101=Run this report_local Duet.REMA.102=report Duet.REMA.103=report_global The keys within the properties file link to values in REMADataDefinition.xml, as can be seen below:  image  The REMA.properties file contains text elements of the default language. If you want to translate those entries, copy the file, attach the locale (e.g. _en or _de) to the filename, then translate the contained strings. Include the translation files in the ZIP file and import it on the “Management” tab. You can find the translated languages when clicking on “Details…” in the list of Applications on the “Management” tab.   h4. Behind the Scenes For those of you carefully reading the Duet documentation, you might ask yourself now: this is all documented, what is “behind the scenes” here? If you are willing to walking the extra mile to understand what’s happening behind the scenes of Duet, I will share some insights.  Within Duet, User Interface and Application Logic are strictly decoupled. While the code itself is written in C# and shipped as binaries, the UI is defined in XAML (eXtensible Application Markup Language) format. This is how UI changes can be achieved by simple string replacements without the need for code modifications and recompilation. You can {code:html}find out more about XAML at MSDN{code}.   The UI definition in XAML format is propagated to Duet clients as part of the scenario-dependent metadata and stored in an encrypted data base. You can take a look at the XAMLs with the help of the Duet Client Support Tool, which is available for {code:html}download for free here{code}.  [ | Client Support Tool 1.5.1 – What’s New?]  image
2 Comments
You must be Logged on to comment or reply to a post.