SDL Knowledge Center Release Notes
SDL Knowledge Center 2016 SP4
June 2017 Legal notice
Copyright and trademark information relating to this product release.
Copyright © 2003-2016 SDL Group.
SDL Group means SDL PLC. and its subsidiaries and affiliates. All intellectual property rights contained herein are the sole and exclusive rights of SDL Group. All references to SDL or SDL Group shall mean SDL PLC. and its subsidiaries and affiliates details of which can be obtained upon written request.
All rights reserved. Unless explicitly stated otherwise, all intellectual property rights including those in copyright in the content of this website and documentation are owned by or controlled for these purposes by SDL Group. Except as otherwise expressly permitted hereunder or in accordance with copyright legislation, the content of this site, and/or the documentation may not be copied, reproduced, republished, downloaded, posted, broadcast or transmitted in any way without the express written permission of SDL.
SDL Knowledge Center is a registered trademark of SDL Group. All other trademarks are the property of their respective owners. The names of other companies and products mentioned herein may be the trademarks of their respective owners. Unless stated to the contrary, no association with any other company or product is intended or should be inferred.
This product may include open source or similar third-party software, details of which can be found by clicking the following link: Acknowledgments on page 0 .
Although SDL Group takes all reasonable measures to provide accurate and comprehensive information about the product, this information is provided as-is and all warranties, conditions or other terms concerning the documentation whether express or implied by statute, common law or otherwise (including those relating to satisfactory quality and fitness for purposes) are excluded to the extent permitted by law.
To the maximum extent permitted by law, SDL Group shall not be liable in contract, tort (including negligence or breach of statutory duty) or otherwise for any loss, injury, claim liability or damage of any kind or arising out of, or in connection with, the use or performance of the Software Documentation even if such losses and/or damages were foreseen, foreseeable or known, for: (a) loss of, damage to or corruption of data, (b) economic loss, (c) loss of actual or anticipated profits, (d) loss of business revenue, (e) loss of anticipated savings, (f) loss of business, (g) loss of opportunity, (h) loss of goodwill, or (i) any indirect, special, incidental or consequential loss or damage howsoever caused.
All Third Party Software is licensed "as is." Licensor makes no warranties, express, implied, statutory or otherwise with respect to the Third Party Software, and expressly disclaims all implied warranties of non-infringement, merchantability and fitness for a particular purpose. In no event will Licensor be liable for any damages, including loss of data, lost profits, cost of cover or other special, incidental, consequential, direct, actual, general or indirect damages arising from the use of the Third Party Software or accompanying materials, however caused and on any theory of liability.This limitation will apply even if Licensor has been advised of the possibility of such damage. The parties acknowledge that this is a reasonable allocation of risk.
Information in this documentation, including any URL and other Internet Web site references, is subject to change without notice. Without limiting the rights under copyright, no part of this may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of SDL Group.
ii SDL Knowledge Center Release Notes Contents
1 Welcome to Knowledge Center Release Notes ...... 1
Customer support ...... 2
Acknowledgements ...... 2
2 Release Notes - SDL Knowledge Center ...... 7
What's New in Content Manager ...... 8 New and changed ...... 8 New and changed in version 12.0.4 ...... 8 Client tool changes ...... 8 New and changed in version 12.0.3 ...... 9 New third-party software support ...... 9 New and changed in version 12.0.1 ...... 10 New third-party software support ...... 10 Client tools changes ...... 10 Content Editor changes ...... 11 Typical Server Vanilla Installation using ISHDeploy ...... 12 Translation Flow and Integration Improvements ...... 13 New and changed in version 12.0.0 ...... 14 Rebranding in SDL Knowledge Center 2016 ...... 14 New third-party software support ...... 15 Client Tools changes ...... 16 Content Editor changes ...... 18 Typical server installation changes ...... 21 Database layer changes ...... 24 Web client security ...... 26 Taxonomy/ontology integration ...... 27 Publish throttling by raising different event types per output format . . . . . 29 Publish pipeline changes ...... 31 Translation Flow and Integration Improvements ...... 32 PushTranslation flow comparison between 11.0.0 and 12.0.0 ...... 35 Background Task ...... 36 Federated Services changes ...... 37 Programmer's Interface Changes ...... 41 Prevent automatic document title overwriting during import ...... 46 API changes ...... 47 Fixed issues ...... 50 Fixed issues in version 12.0.4 ...... 50 Fixed Issues in 12.0.4 Web Client ...... 51 Fixed Issues in 12.0.4 Client Tools ...... 51 Fixed issues in 12.0.4 Content Editor ...... 52
SDL Knowledge Center Release Notes iii Fixed issues in 12.0.4 Web/App/Db server ...... 52 Fixed issues in version 12.0.3 ...... 52 Fixed Issues in 12.0.3 Web Client ...... 52 Fixed Issues in 12.0.3 Client Tools ...... 53 Fixed issues in 12.0.3 Content Editor ...... 53 Fixed issues in 12.0.3 Web/App/Db Server ...... 54 Fixed issues in version 12.0.1 ...... 54 Fixed Issues in 12.0.1 Web Client ...... 54 Fixed Issues in 12.0.1 Client Tools ...... 55 Fixed Issues in 12.0.1 Authoring Bridge ...... 56 Fixed Issues in Content Editor ...... 56 Fixed Issues in 12.0.1 Web/App/DB Server ...... 59 Fixed issues in version 12.0.0 ...... 60 Fixed Issues in 12.0.0 Web Client ...... 60 Fixed Issues in 12.0.0 Client Tools ...... 61 Fixed Issues in 12.0.0 Authoring Bridge ...... 65 Fixed issues in 12.0.0 Content Editor ...... 67 Fixed issues in Content Manager version 12.0.0 Web/App/Db server ...... 68 Fixed Issues in 12.0.0 Documentation ...... 78 Known Issues ...... 78 Deprecated, Obsolete and Restrictions ...... 86 Software compatibility across releases ...... 89 Content Manager API compatibility across releases ...... 99
What's new in Content Delivery ...... 113 New and changed ...... 113 New and changed in version 7.5.0 ...... 113 New and changed in version 7.4.0 ...... 114 Fixed issues ...... 115 Fixed issues in version 7.5.0 ...... 115 Fixed issues in version 7.4.0 ...... 117 Known Issues ...... 117 Deprecated, Obsolete and Restrictions ...... 118
iv SDL Knowledge Center Release Notes 1
Welcome to Knowledge Center Release Notes 1 Welcome to Knowledge Center Release Notes
This document contains the complete Release Notes for SDL Knowledge Center 2016 SP4.
Customer support
To contact Technical Support, connect to the Customer Support Web Portal at https://gateway.sdl.com and log a case for your SDL product. You need an account to log a case. If you do not have an account, contact your company's SDL Support Account Administrator. Acknowledgements
SDL products include open source or similar third-party software. 7zip Is a file archiver with a high compression ratio. 7zip SFX Modified Module The SFX Modified Module is a plugin for creating self-extracting archives. It is compatible with three compression methods (LZMA, Deflate, PPMd) and provides an extended list of options. Reference website http://7zsfx.info/. Apache Ant Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications. Ant supplies a number of built-in tasks allowing to compile, as- semble, test and run Java applications. Ant can also be used effectively to build non Java applica- tions, for instance C or C++ applications. More generally, Ant can be used to pilot any type of process which can be described in terms of targets and tasks. DockPanel Suite .Net Docking Library for Windows Forms DITA-OT The DITA Open Toolkit is a Java-based implementation of the OASIS DITA Technical Committee's specification for DITA DTDs and schemas. It contains ANT, SAXON,... Apache FOP Apache FOP (Formatting Objects Processor) is a print formatter driven by XSL formatting objects (XSL-FO) and an output independent formatter. It is a Java application that reads a formatting object (FO) tree and renders the resulting pages to a specified output. Output formats currently supported include PDF, PS, PCL, AFP, XML (area tree representation), Print, AWT and PNG, and to a lesser extent, RTF and TXT. The primary output target is PDF. GeckoFX Gecko is a free and open source layout engine used in many applications developed by the Mozilla Foundation and the Mozilla Corporation (notably the Firefox web browser). globalize JavaScript globalization and localization. Formats and parses strings, dates and numbers in over 350 cultures.
2 SDL Knowledge Center Release Notes Welcome to Knowledge Center Release Notes 1
GNU Aspell GNU Aspell is a Free and Open Source spell checker designed to eventually replace Ispell. It can either be used as a library or as an independent spell checker. Its main feature is that it does a superior job of suggesting possible replacements for a misspelled word than just about any other spell checker out there for the English language. Unlike Ispell, Aspell can also easily check documents in UTF-8 without having to use a special dictionary. Aspell will also do its best to respect the current locale setting. Other advantages over Ispell include support for using multiple dictionaries at once and intelligently handling personal dictionaries when more than one Aspell process is open at once.
Specifically we are using GNUASpell dictionaries for de-CH, de-DE, en-CA, en-GB, en-US, es-ES, fr-FR, fr-CH, nl-NL. google-code-prettify google-code-prettify is a Javascript module and CSS file that allows syntax highlighting in an html page. Hunspell Hunspell is the spell checker of LibreOffice, OpenOffice.org, Mozilla Firefox 3 & Thunderbird, Google Chrome, and it is also used by proprietary software packages, like Mac OS X, InDesign, MemoQ, Opera and SDL Trados Studio. InstallAnywhere InstallAnywhere is the leading multi-platform development solution for application producers who need to deliver a professional and consistent cross installation experience for physical, virtual and cloud environments. From a single project file and build environment, InstallAnywhere creates reliable installations for on-premises platforms - Windows, Linux, Apple OS X, Solaris, AIX , HP-UX, and IBM iSeries - and enables you to take existing and new software products to a virtual and cloud infrastructure. Jetty The Jetty Web Server provides an HTTP server and Servlet container capable of serving static and dynamic content either from a standalone or embedded instantiations. Starting from Jetty version 7, the Jetty webserver and other core compoments are hosted by the Eclipse Foundation. jQuery jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript. jquery-cookie jQuery plugin for reading, writing and deleting cookies. jQuery Highlight Highlights the search keywords/terms in a preview. jQuery UI jQuery UI is a set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library. jSON-js JSON is a light-weight, language independent, data interchange format. See http://www.JSON.org / The files in this collection implement JSON encoders/decoders in JavaScript. JSON became a built-in feature of JavaScript when the ECMAScript Programming Language Standard - Fifth Edition was adopted by the ECMA General Assembly in December 2009. Most of the files in this collection are for
SDL Knowledge Center Release Notes 3 1 Welcome to Knowledge Center Release Notes
applications that are expected to run in obsolete web browsers. For most purposes, json2.js is the best choice. Json.NET Json.NET is a popular high-performance JSON framework for .NET. Knockout JavaScript library Knockout is a JavaScript library that helps you to create rich, responsive display and editor user interfaces with a clean underlying data model. Any time you have sections of UI that update dynami- cally (e.g., changing depending on the user’s actions or when an external data source changes), KO can help you implement it more simply and maintainably. Apache Lucene, SOLR The Apache Lucene™ project develops open-source search software. MVC Web Projects Auxiliary MVC Web Project libraries to serve ISHCM and ISHSTS. Typical libraries like WebGrease, StringTemplate (antlr3), AutoMapper, RouteDebugger, WebActivator,... NHunspell NHunspell brings the spell checking, hyphenation and thesaurus to the Microsoft® .NET Framework. NHunspell is C# library and wraps native libraries for Hunspell, Hyphen and MyThes. One design goal of this library and wrapper is to keep the source code of the included libraries as unmodified as possible. New versions of the base libraries can therefore easily adopted to NHunspell.
The integrated libraries are used in OpenOffice and they work with the dictionaries published on OpenOffice.org. Red Hat Linux Red Hat Enterprise Linux OpenStack Platform delivers an integrated foundation to create, deploy, and scale a secure and reliable public or private OpenStack cloud. Red Hat Enterprise Linux OpenStack Platform combines the world's leading enterprise Linux and the fastest-growing cloud infrastructure platform to give you the agility to scale and quickly meet customer demands without compromising on availability, security, or performance. Rx .NET Reactive Extensions for .NET library used to validate entered values Xalan-Java Xalan-Java is an XSLT processor for transforming XML documents into HTML, text, or other XML document types. It implements XSL Transformations (XSLT) Version 1.0 and XML Path Language (XPath) Version 1.0 and can be used from the command line, in an applet or a servlet, or as a module in other program. Thinktecture IdentityServer Front-end Secure Token Service to serve SAML tokens. Apache Tomcat, Tomcat Embed Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies. WiX The WiX toolset builds Windows installation packages from XML source code. The tool-set integrates seamlessly into build processes.
4 SDL Knowledge Center Release Notes Welcome to Knowledge Center Release Notes 1
Apache Xerces The Apache Xerces Project is responsible for software licensed to the Apache Software Foundation intended for the creation and maintenance of: • XML parsers • related software components XULRunner XULRunner is a runtime environment developed by the Mozilla Foundation to provide a common back-end for previewing.
SDL Knowledge Center Release Notes 5 1 Welcome to Knowledge Center Release Notes
6 SDL Knowledge Center Release Notes 2
Release Notes - SDL Knowledge Center 2 Release Notes - SDL Knowledge Center
This section describes all that is new and changed in SDL Knowledge Center's capabilities and client tools for this version. What's New in Content Manager
For this release, Content Manager has these new features that support SDL Knowledge Center functionality.
New and changed
New or changed features and functionality from Content Manager are described.
New and changed in version 12.0.4
An overview of new features and enhancements, as well as improved or changed functionality in Content Manager 12.0.4, compared to the previous version of the product.
Client tool changes
Client tools improvements for this version are explained.
Client Tools user interface is now available in Chinese
The client tools user interface labels have been translated to Chinese. Also the necessary server side resources like error messages are available. [TS-11682]
Improved all Client Tools properties of Date/DateTime behavior
By default, the date control initializes itself with the current date and time. When using the variable currentdate only the current date is set and time is always defaulted to 00:00:00. Because the time is set at midnight, the date can easily shift in different time zones. Dates should always have a time component. In a globalized world, dates always have to be adapted to the time zone. So, when changing time zones, it is always possible that the date shifts a day, even two. The advice is to use type typedatetime over typedate.
The operator (Any) specifies that any date and/or time is allowed. Basically, the criteria is ignored when searching. We now disable the entry to avoid confusion. Also after typing a date in the value panel, the value will be retained, when setting the focus to another control. Before the value in the value panel was set to the current date. [TS-12526|TS-12404]
8 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Improved location and focus when a Publication Manager table of contents refresh happens
The usability of Publication Manager has been greatly improved like improved navigation in the publication tree (left pane of the Content tab), and optimization of the zooming results. [TS-12101|TS- 12304] • Checking in a topic no longer closes opened nodes. [TS-12304|SRQ-59151|SRQ-5932|SRQ-6535| SRQ-6634] • Changing the version of topics no longer closes opened nodes. [TS-12305] • Checking in a map containing topic groups no longer closes opened nodes. [TS-12347|SRQ-5915| SRQ-5932|SRQ-6535|SRQ-6634] • Saving a publication no longer moves the tree regardless of the selected object. [TS-12358] • Moving a topic with the Move commands (from the right-click menu) no longer hides the topic: the moved topic stays visible. [TS-12369]
New and changed in version 12.0.3
An overview of new features and enhancements, as well as improved or changed functionality in Content Manager 12.0.3, compared to the previous version of the product.
New third-party software support
Support for databases, operating systems and XML editors has been updated.
Generally, SDL provides platform support for up to two versions of any given platform to provide more flexibility in how organizations incorporate vendor changes. Typically, SDL provides support for the latest and previous version of a third party platform. This previous version is implicitly marked as deprecated. The following software component support was added in this release Server Software • Java Runtime 1.8.0_112 (64-bit) • Java Development Kit 1.8.0_112 (64-bit) MSXML4 is replaced by MSXML6 We have removed all dependencies towards MSXML4 in Knowledge Center, you are therefore no longer required to have it installed.
This has a number of consequences: • Classic .ASP files, .VBS files and COM+ DLLs are modified. Typically MSXML2.DOMDocument. 4.0 becomes MSXML2.DOMDocument. 6.0 with extra configuration for optional resolveExternals or validateOnParse properties where required. • It breaks COM+ DLLs binary compatibility. However, COM+ interface became obsolete in Knowledge Center 2014 SP1. • ConvertStyles. bat implementation changed from MSXSL.EXE to xslTransform. vbs. • Obsolete pages regarding IndexTerms and ClassicASP implementation of PreviewExternal are removed. • Custom files are changed (e.g. Rep*Dlg.asp). Therefore you need to remove the MSXML4
SDL Knowledge Center Release Notes 9 2 Release Notes - SDL Knowledge Center
dependency for your custom pages.
New and changed in version 12.0.1
An overview of new features and enhancements, as well as improved or changed functionality in Content Manager 12.0.1, compared to the previous version of the product.
New third-party software support
Support for databases, operating systems and XML editors has been updated.
Generally, SDL provides platform support for up to two versions of any given platform to provide more flexibility in how organizations incorporate vendor changes. Typically, SDL provides support for the latest and previous version of a third party platform. This previous version is implicitly marked as deprecated. The following software component support was added in this release Client Software • JustSystems XMetaL 11 (32bit only; requires patch version 11.0.0.083 or later) Server Software • Microsoft SQL Server 2012 SP3 Integrations • SDL TMS 11.1.x • SDL TMS 11.2.x
Client tools changes
Client Tools improvements for this version are explained.
Publication Manager content refresh message can now be dismissed
The blocking modal dialog in Publication Manager stating The object 'some-title' has been changed by another application, and the new content has been loaded. can happen frequently and requires a lot of extra clicking. By adding an optional checkbox Don't show this dialog again for this session on that dialog you can chose to no longer see this information dialog appear for the duration of your application session. [TS-11441|TS-10709|SRQ-1893|SRQ-3032|SRQ-4409|SRQ-1674] Note however that the message is there to indicate that a refresh information is about to happen in Publication Manager. • For images and topics, it typically comes down to a refresh of the preview window. • For maps, it can be the preview window, but it can also force a refresh on the tree (TOC). As this could be a small or really big refresh operation (e.g. removing or adding many links), this might take a while.
10 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Syncro Soft
For regular sized DITA Maps, we originally did a preprocessing step to make sure the required information is retrieved from the CMS in batch. Pushing data sizes up to a map holding up to 2500
JustSystems XMetaL 11
Introducing JustSystem XMetaL 11 support. The first XMetaL version with full Windows 10 operating system support. Note that we only support the 32-bit edition, and require patch version 11.0.0.083 or later. We support their significantly improved new Map Editor which has multi-level undo, and is integrated with Attribute Inspector.
Verified Acrolinx on top of AuthoringBridge for JustSystems XMetaL 11
Verified that the JustSystems XMetaL 11 integration Content Manager Authoring Bridge works together with Acrolinx. The XMetaL server-side files are enriched with statements needed by Acrolinx in the DTD-related macro files for XMetaL 11. These files are synchronized from the server. If Acrolinx is not installed on the client, these statements will just be ignored by XMetaL. We used the Acrolinx Plug-in for XMetaL 4.7.0 build 5 (client_XMetaLV4. 7_B5.32_bit.msi) to verify the behavior. [TS-11376|TS- 11356]
Content Editor changes
A description of the new and improved editor behavior that you can expect with this release. Improved copy/paste- XML support on the clipboard With this version, we put the XML structure on the system clipboard when copying in Content Editor. This enables users to copy from one document to another without the loss of any information. In the old situation, sometimes information about the structure was lost since content was copied as HTML, and converted back into XML upon pasting into the editor. As not all structures that can be described in XML can be represented in HTML, this extra conversion caused the content to be pasted differently than expected.This problem was especially noticeable when copying and pasting tables. New documentation for implementers With this release we've included a new Customization section in the product documentation (http://docs.sdl.com/ContentEditorCustomization ). This section is written with the intention to help you understand the possibilities and get started implementing Content Editor. Previously, we just provided API and configuration references. A new dialog when you are pasting large amounts of content To improve the user experience, if it is expected to take more than 1.5 seconds to paste content, then we now show a dialog to inform the user that the application is busy pasting content.
SDL Knowledge Center Release Notes 11 2 Release Notes - SDL Knowledge Center
New configuration for an equation-block element The DITA 1.3 element equation-block is a specialization of the paragraph element (topic/p). Because of that, we applied the paragraph element configuration to equation-block elements automatically. In the case of the paragraph role, the inherited configuration for the equation-block caused the equation-block element to be inserted too often. With the improved default configu- ration that includes specific configuration for the equation-block element, this element will only be inserted when appropriate. New tooltip descriptions for DITA elements The default DITA configuration now contains descriptions for most DITA elements, based on the descriptions from the DITA 1.3 standard. These descriptions will be shown as tooltips in the UI, and can be accessed using the XopusNode.getDescription API method. Improved wording in the Content Editor UI The More Content ribbon group is now renamed to the more specific All elements, and the Technical content ribbon group is renamed to the more correct Common elements. Note that the Common elements group can be customized to contain the elements your organization uses most often. This can be done using the overlay on page 0 mechanism in the configuration.
You can now see the processing-role topicref attribute In previous Content Editor versions, the processing-role attribute was given thehidden-from-ui role in the default configuration, causing it to be invisible in the properties panel. It is now shown by default, but only if the user has enabled the Authoring Attributes group in the Properties panel.
Typical Server Vanilla Installation using ISHDeploy
The Content Manager installation process is being simplified as we developed the notion of a vanilla deployment. In this type of deployment, most parameter values are calculated or set to a default, and authentication is set for a local use with ISHSTS. This makes the installation usable and testable out of the box with minimal effort.
Introducing ISHDeploy
With the help of an independent PowerShell module named ISHDeploy you can now install and configure Content Manager easily and have it run locally without mandatory post-installation tasks except the setting of a few input parameters. The global integrated vanilla deployment including the ISHDeploy's code as configuration approach consists in the following steps: 1. Set a subset of input parameters, the rest is calculated for you. We advise to stick to the suggested defaults as much as possible. 2. Install. 3. Setup connection with any commercial STS such as Microsoft ADFS or PingIdentity PingFederate using ISHDeploy cmdlets if you need to use those. 4. Further code-configure using ISHDeploy cmdlets during the lifetime of Content Manager. ISHDeploy ISHDeploy is a separate PowerShell module that lets you literally code your configuration intentions. The name of this module is ISHDeploy xx.x.x, where xx.x.x is the version of Content Manager it is compatible with.
For example Knowledge Center 2016 SP1 matches ISHDeploy 12.0.1. The presentation and documen- tation for ISHDeploy can be found here. This module uses cmdlets with which you can express
12 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
your intentions, the module performs the specific settings for you.
More derived and default inputparameters for InstallTool
In the default inputparameters. xml we only keep the following parameters: osuser, ospassword, connectstring, apppath, serviceusername, and servicepassword. The rest of the parameters should be either defaulted or calculated based on values of other parameters. For example apppath will initialize datapath and webpath which are remnants of physical hard drive optimizations. Although deprecated, all original parameters can still be set explicitly if required. As a fall back mecha- nism if the system for example detects the wrong ps_java_home parameter value. [TS-11359|TS-11332|TS-10217|TS-11052|TS-11357]
Translation Flow and Integration Improvements
Some improvements and changes are specific to Translation Management and Translation Organizer.
Introducing an External Validation endpoint
The CMS contains your document types (DTDs and catalog) configuration, potentially including specializations. The new endpoint allows to single source that configuration by making them available over a REST endpoint. First use case is to allow SDL TMS and SDL WorldServer to validate xml-based translations before allowing retrieval to the CMS. It is now possible to validate the XML against the DTD by using a newly created endpoint: the External Validate endpoint accessible at https://ish.example.com/ ISHCM/ Api/ ExternalPreview/ Validate with either a GET or a POST call. The endpoint will provide a detailed list of errors.
Remember: The Validate endpoint is below ExternalPreview to single source the security exempt configuration. ExternalPreview can also be configured in your translation management system to show a proper preview including layout and images.
Removed racing condition that send out content twice
Regarding predictability, translations were requested by sending out translation jobs to the target translation systems. However, in some high volume scenarios some items were requested more than once which results in an increased translation cost. This happened when a content object is part of more than one translation job being prepared for sending out. The correction is in avoiding the sending race condition. We do this by introducing a lease mechanism (visible in Settings > Default Settings area). Only one Translation Organizer instance can send out a job. Note that scaling out services Translation Builder and Translation Organizer still has benefits for the more often executed preparing, checking and retrieving translation actions. Before: Parallel sending Translation Builder grabs a job, breaks it down into topics and checks the status of each topic. If the status turns out to be In Translation, the topic is not passed over and will not be translated. Translation Organizer then sets the status of the topic to In Translation before sending it. There is a probability that a topic (Topic A in this example) is sent at the same time by both Translation Organizer instances. After: Sequential sending
SDL Knowledge Center Release Notes 13 2 Release Notes - SDL Knowledge Center
The status In Translation is checked again just before sending, and topics are sent one at a time. No more double sending.
Improved polling increases throughput
Translation Organizer checks for pending jobs at regular intervals. The interval is configured through jobPollingInterval in TranslationOrganizer. config, the default value is 5 minutes. When a group of smaller jobs is available for processing, this interval could make the global processing longer than it should, as Translation Organizer waits for the end of the interval before it picks up the next job. Now Translation Organizer automatically checks for an available job whenever a job has been completed, in addition to the regular check after the interval.
Stability improvements for the SDL TMS and SDL WorldServer integration
Whenever the server returns an http 500 error to Translation Organizer - which typically means that the remote system is severely disturbed - during the retrieval phase, the former behavior was to request the user to manually restart the job. Now Translation Organizer automatically retries the job. Some transmission issues have also been fixed, such as the processing of Logical Identifiers having GUIDs with dots (.) as separators. An issue which was introduced on 2016/12.0.0. Logging details have been added for a better follow-up of every step of the interaction between Translation Organizer and TMS or WorldServer.
New and changed in version 12.0.0
An overview of new features and enhancements, as well as improved or changed functionality in Content Manager 12.0.0, compared to the previous version of the product.
For your convenience, new and changed features and functionality for Content Manager versions 11.0.3, 11.0.2 and 11.0.1 are included in this document as well.
Rebranding in SDL Knowledge Center 2016
A list of names have been changed for this release of Knowledge Center, starting with the product's name. Documentation Here is the list of name changes for this release:
Current name Obsolete name SDL Knowledge Center SDL LiveContent Content Manager SDL LiveContent Architect, Content Explorer Content Delivery SDL LiveContent Reach, Review and Collaboration Content Editor SDL LiveContent Create Quality Assistant SDL Enrich ISHSTS InfoShareSTS
14 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Current name Obsolete name ISHCM InfoShareAuthor ISHWS InfoShareWS Content Importer DITA2Trisoft
The usage of the obsolete names is maintained in all content focused on previous versions of the product. Artifacts The new names are used in all SDL Knowledge Center user interfaces. Visible artifacts have changed like installer names, default install paths, menu items, splash screens, etc.
All details have been adapted in the documentation accordingly.
EXE/MSI files are now signed by SDL PLC, the products are now represented by SDL Group.
New third-party software support
Support for databases, operating systems and XML editors has been updated.
Generally, SDL provides platform support for up to two versions of any given platform to provide more flexibility in how organizations incorporate vendor changes. Typically, SDL provides support for the latest and previous version of a third party platform. This previous version is implicitly marked as deprecated. The following software component support was added in this release Client Software • Microsoft Windows 10 • Google Chrome (release update channel) • Mozilla FireFox (release update channel) • JustSystems XMetaL 10 / 10 J(apanese) • PTC Arbortext Editor 7.0 (32b only) • Syncro Soft
SDL Knowledge Center Release Notes 15 2 Release Notes - SDL Knowledge Center
• SDL WorldServer 10.4.4 • SDL WorldServer 11.0.x • SDL Quality Assistant 2.2.0 • SDL XPP 9.1
Client Tools changes
Client Tools improvements for this version are explained.
General
All Client Tools benefit from the write and read performance improvements that were made in web services API 2.5.
New Installers • All .msi files (and assemblies) are now signed by our legal entity certificate SDL PLC. This replaces the earlier signing by SDL Trisoft or even before that the yellow User Account Control (UAC) message indicating that The publisher is unknown. • Updated preview components (GeckoFX/XULRunner) fixes AccessViolation (0xC000005) crashes related to Windows 7/8 with enabled Pen and Touch hardware devices/drivers. [SRQ-3008|SRQ-3809] • The Print the preview (Ctrl-P) button was disabled before and is now enabled again in all client tools preview windows. [TS-9513|TS-9606|TS-9505]
File 'Synchronize' Performance
After initial set up of an account in a client tool, the Synchronize is triggered which will receive the necessary metadata configuration, DTDs, catalog, preview stylesheets, etc. from the single-sourced configuration area on the web/app server. Furthermore at client tools startup time this action is triggered to make sure your configuration is up-to-date. The files will be transferred with HTTP compression provided by Microsoft Internet Information Services (IIS), and in parallel which reduces the waiting time. [TS-9047]
More throughput by group retrieval per 1000 objects
The web service data compression - introduced in 10.0.3 - allows for transfer of more data through one web service call without actually transferring more bytes. We raised the default page size from 300 which used to be visible by status messages like Retrieving objects (300 of 24474)... to 1000 resulting in Retrieving objects (1000 of 24474)... which essentially means that less web service calls are made to load list views. The configuration option @defaultPageSize restriction in Trisoft.PublicationManager. Host.exe.config of maximum 999 has been removed. [TS-9090| TS-6877]
16 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Set Title plugin only triggered on editor templates
When a user manually creates a new object based on editor templates, the SETTITLE plugin inserts the FTITLE value in the
Preview does dynamic link text resolving for
Starting from 11.0.0 the Insert dialog no longer filled in the Text to Display field, leaving it empty by default as suggested by the OASIS DITA standard in order to allow dynamic resolving afterwards. This results in, for example, an
Important: By default the dynamic resolving behavior of XMetaL is not enabled. You need to activate this by going to Tools > DITA Options > Update Content tab and selecting the checkbox in front of xref/related-links.
If the XML editor version behavior is insufficient for you, you can use an extra configuration option that we've added. This option will let you roll back to 10.0.x and earlier data behavior. The current behavior is that the Text to display field is no longer initialized with the logical object title (FTITLE), therefore our current templatespecification. xml configuration will assign the empty Text to display field value to variable (selecteditem: text). This results in an empty
Two new variables are introduced for use in templatespecification. xml next to selecteditem: text [TS-9772|SRQ-3272|SRQ-3255|SRQ-3264]: selecteditem:textortitle When Text to display is empty the link text will be filled with the logical title (FTITLE) of the referenced object. selecteditem:textordefault When Text to display is empty the link text will be filled with the ./title of the referenced element, if the element has a title. Similar on how our client tools previews resolve it as introduced in the 11.0.0 release.
Restriction: Do note that the UI behavior will still show the Text to display field as empty, but as a post processing depending on the configured variable in templatespecification. xml we will insert the requested string. If the user fills in the field, we will use that value for the inserted XML element.
SDL Knowledge Center Release Notes 17 2 Release Notes - SDL Knowledge Center
Verified Acrolinx on top of AuthoringBridge for XMetaL and oXygen
We verified that the JustSystems XMetaL 10 and 10J integrations with Content Manager Authoring Bridge work together with Acrolinx. The XMetaL server-side files were enriched with statements needed by Acrolinx in the DTD-related macro files for XMetaL 10 and 10J. These files are synchronized from the server. If Acrolinx is not installed on the client, these statements will just be ignored by XMetaL. We used the Acrolinx Plug-in for XMetaL 4.2.0 build 1153 (client_XMetaLV4. 2_B1153.msi) to verify the behavior.
Remember: In case the Knowledge Center menu disappears, you can reset the editor's workspace by launching XMetaL again with the Ctrl key pressed.
We verified that the
Note: We installed the Acrolinx plugin using the
Content Editor changes
A description of the new and improved web editor behavior you can expect with this release.
Table editing improvements
Several improvements will let you edit tables much more easily. Pasting merged cells Tables with merged cells are now pasted correctly into documents that use the CALS table model. You can have merged cells if they were copied from Word or HTML. Column names in CALS tables In tables that are following the CALS table model, every column has a name specified in the column specification. This can be used on the cells to facilitate spanning cells over multiple columns. These column name attributes are now updated correctly when inserting new columns. Column commands from the breadcrumb for column When working with CALS tables the breadcrumbs show an item for the column element (colspec) as well. The menu for this item now shows options to delete or move the column, and add to additional columns to either side of the current column. Improved label: Change cell type The label for changing a header cell used to say "Change header cell", but it was not clear what will be changed. The new label is "Change cell type (cell/header cell)" for when you wish to switch the cell type from header to regular(non-header) cell. Allow delete of selection spanning several cells In previous versions, selections over multiple cells could not be deleted at all, or resulted in a broken table structure. It is now possible to select a part of the table and delete, the table will be kept valid, and the selected content will be removed.
18 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Delete tables from the table tab You can now delete tables from the Table tab as well. Bug fix: Table is broken (additional tgroup added) when pasting table with header Pasting a table with a header would result in a table with two tgroups: one tgroup with the header row and and a row with one empty cell, and another tgroup with the table body.
New functionality
New functionality improving configuration and user experience. Auto-save to local storage While working on a document, a copy of the document is stored in the browser's local storage. If for any reason you are not able to save your document, you can continue from the point where you left when you open the document again. The draft is removed when finishing or canceling editing. When loading a document, we check if there is a local draft for the same document available. XMetal-style placeholders In XMetal, placeholders can be configured by using an XML processing instruction in the document or template. Those placeholders are now behaving as real placeholders in our editor as well. This is not a replacement of the existing placeholder feature, but an addition for improved compatibility. Handle unique attributes • Some attribute values are meant to be unique in the context of a document. However, the default behavior in the editor is to copy attributes when pressing enter. • When attributes are defined as do-not-duplicate, those attributes are not duplicated on copy/paste. Attributes can be defined as unique because they are defined with the xs:ID type in the XML Schema, or by using the do-not-duplicate role in the node configuration. Tags on view An additional configuration option is available to define a tags on view. The tags will be automatically injected in the rendering. Configuration is available to define what tags should have a tag shown and if the pretty name or the raw XML name should be shown. Exposed API for defining custom spell checker functions New API methods are now available for letting you define a custom spell checker, which for example can use a server-side spell checking service.
Data Layer Improvements
The data layer of Content Editor is rewired giving a considerable performance boost. These new private WebAPI integration points reduce round-tripping and avoid unnecessary serializaiton/deserialization. Obsolete and unnecessary properties were removed. All these changes give you a much nicer editing experience.
SDL Knowledge Center Release Notes 19 2 Release Notes - SDL Knowledge Center
Codeblock editing improvements
The following bugs have been fixed: • correct cursor position with inline elements in codeblock • space-preserving content is now wrapping in the xml view • newline at the end of a codeblock is now shown • linebreaks are no longer lost when copying codeblock to another codeblock • cursor down in a codeblock now works in Chrome • cursor position is now rendered correctly at the end of the line in a codeblock in IE • new linebreaks are now shown in IE after moving cursor • cursor position is now updated when typing in codeblock in IE
Improvements in modifying the ribbon UI
Customizing the ribbon UI is key to setting up the editor according to your preferences. You can now: • Create custom ribbon tabs and groups. • Disable the out of the box ribbon tabs and groups. • Insert elements using roles.
Note: Previously it was already possible to configure a button for an element using the role configuration. Pressing that button would then toggle the element. There is now an additional configuration option for situations where insert behavior is preferred over toggle behavior.
Bug fix: all library panel buttons now have different ID's. It is thus now possible to enable or disable panel buttons separately.
Improved DITA support
A few improvements of interest to DITA users, as Content Editor continuously evolves with DITA.
Improved display of draft-comments In particular, draft-comments with paragraphs inside are rendered in a better way now.
Added placeholder for topichead When inserting a topichead element a placeholder is shown.
Better use of the scalefit attribute The scalefit attribute is now ignored when a width, height or scale value is set. Added icons and ribbon tab for Task elements When working with a topic of the Task type, a new ribbon tab is available to insert the relevant elements. Configuration specific to DITA is split from generic out of the box configuration This makes it easier for you to maintain configuration files.
20 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Improved way to insert references • The panel for selecting references is now shown when an image or link is inserted using the breadcrumbs, right-click menu and CTRL-Enter quick insert menu. • When a template is configured to insert one of these elements, the panel is shown to select which object to reference. Insert references panel behavior The panel will now be closed and the operation will be cancelled whenever you click somewhere outside of this panel.
Correctly identifying the used browser
Opera 15 and later was recognized as Chrome, causing the editor to be run without warning that Opera is not a supported browser. The warning is now shown again. If you want to use Opera anyway, that is possible by clicking the try anyway button, or by configuring a URL parameter (platformtest= skip).
References in the correct language
When inserting references, the editor will show previews in the same language as the document that is active in the editor. Also when resolving referenced content in the editing view, the same language is used. If the reference is not available in the same language as the document that is edited, an error is displayed.
Typical server installation changes
Things that have changed on a single web/app server setup when using InstallTool (IT) or DBUpgradeTool (DBUT).
Prerequisites
You'll find the full list and versions in the documentation Requirements chapters (also present in the Installation and Upgrade guides). Here is a focus on the changes: 1. Operating System Programs and Features • We added an official statement that we only fully qualify on English Windows Server Operating Systems. [TS-7891] • By a one-time operation to open up permissions in %WINDIR%\ System32\ inetsrv\ config\ applicationHost. config, we can now easily overwrite server settings per web site and/or virtual directory through their web.config file. See Configuring IIS applicationHost.Config. This will move typical settings like
SDL Knowledge Center Release Notes 21 2 Release Notes - SDL Knowledge Center
• PowerShell v4.0 (part of Windows Management Framework 4.0)
While installing or upgrading
InstallTool doesn't stop or start Windows service IISAdmin.
By opening up applicationHost. Config we can enable Static and Dynamic Compression for regular HTTP and SOAP messaging calls out of the box. The end result of applying our typical installation steps will result in a system where WCF SOAP messages and DTD related files that are synchronized by Client Tools are now also compressed. Starting from IIS 8.x, so Windows 2012R2, InstallTool (IT) will configure every IIS Application Pool to always be alive. This will shorten delays of first requests to an idle server.
Post installation steps
Configuration overview when upgrading from 11.0.X to this version.
Settings / File 11.0.0 Config Version 12.0.0 Config Version What has changed Admin.XMLBackgroundTaskConfiguration.xml1.1 1.1 Added handlers: • CREATETRANSLATION- FROMLIST, CREATETRANSLATION- FROMREPORT, CREATETRANSLATION Removed handlers: • DELETETRANSLA- TIONS, BATCHPERFORMACTION
Admin.XMLChangeTrackerConfig.xml1.0 1.0 • n/a Admin.XMLExtensionConfiguration.xmln/a 1.0 • New configuration, holds
Admin.XMLStatusConfiguration.xml 2.0 3.0
22 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Settings / File 11.0.0 Config Version 12.0.0 Config Version What has changed Admin.XMLTranslationConfiguration.xml1.0 2.0 Controlled pivot •
Admin.XMLWriteObjPluginConfig.xml 2.0 2.0 ISHRAISEPUBLISHEVENT • should be the last plug-in in section
After the installation is complete, none of our Windows services (including Crawler, TrisoftSolrLucene,...) will start automatically. The first reason is that the database is not guaranteed to be in the right state until you run DBUpgradeTool (DBUT). Another reason is that in a multi server environment you wouldn't want all your servers to pick up the same role. For your convenience on a single web/app server setup, we've provided a simple PowerShell script that will start and mark all services as Automatic. For using it, execute\App\Setup\Manage\Enable-DefaultServices.ps1asAdministrator.
SDL Knowledge Center Release Notes 23 2 Release Notes - SDL Knowledge Center
Database layer changes
Changes and additions impact Microsoft SQL Server and Oracle RDBMs database systems performance, setup or process.
Empty/demo database
This applies to both Microsoft SQL server and Oracle RDBMs. An "empty" database is available in order to facilitate fast setup. A more adapted expression than "empty" would be "ready to use", as this database already contains the basic structure helping an immediate application, as well as all minimal settings. Specifically: • The database is upgraded to Content Manager 2016 level; • The latest out-of-the-box configuration files (e.g. Admin.XMLStatusConfiguration. xml) are submitted; • The status Translation Rejected which is used by Translation Management via the translation jobs is submitted; • The user role TRANSLATORSERVICE and user ServiceUser with user role TRANSLATORSERVICE are added to support translation jobs; • All editor templates are added and released in English, German, Dutch and Japanese; • For all output formats Keep default attributes is enabled to improve performance; • For Japanese .chm file support with code pages, all output formats with transtype htmlhelp are redirected to ishhtmlhelp; • Legacy electronic document types (EDTs) like EDT-WORD are removed; • EDTs for new MS Office formats like .docx (EDTDOCX) are submitted with the correct mime type . So, the "empty" database now contains EDTs for the following file extensions: .docx, .ppsx, .pptx, .xlsx, .3dxml, .jar, .mp3, .mpg, .smg, .svg, .svgz, .swf and .zip.
Remember: Even if the database is up-to-date with the Content Manager version, you still need to run DBUpgradeTool (DBUT) to ensure that a database job is created, the latest database upgrade scripts are executed and all statistics for the indexes are generated.
Note: For demo purpose there is an equivalent "demo" database which contains everything for the Mobile Phone publication in addition to the structure mentioned above.
Microsoft SQL Server Versions Introducing Microsoft SQL Server 2014SP1 support, next to Microsoft SQL Server 2012 SP2. Changes • During normal operation it is possible to run with revoked db_owner. Still required are: SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, CREATE VIEW, CREATE FUNCTION, CREATE PROCEDURE, REFERENCES, ALTER ANY SCHEMA and EXECUTE.
24 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Restriction: Note that DBUpgradeTool (DBUT) runs still require db_owner. More information in Optionally minimize the database user's roles and permissions.
• One job with 1 step which contains a stored procedure ISHCore_TrisoftInfoShareJob with optional parameters documented. • Only minimal maintenance: rebuild indexes for fragmentation > 10% and update statistics using SQL Server method without full scan.
Oracle RDBMs Versions Introducing Oracle RDBMs 12c support. Ensuing from this: • Oracle Data Access Client (ODAC) raised from 11.2.0.4 to 12.1.0.1.2. This version offers us better transaction handling. For .NET components even less distributed MSDTC-promoted transactions. • Gathering statistics is now rerouted to the standard Oracle autotask instead of our database job TRIDKANALYZEDB. This leads to a faster DBUpgradeTool (DBUT) run. • The performance is improved when passing larger data sets to our *_VALUES tables, like for example STRING_VALUES or NUMBER_VALUES. Required differences when upgrading our database from a previous Oracle setup to Oracle RDBMs 12c: • We stepped away from the Oracle deprecated UTF8 character set in favor of AL32UTF8. AL32UTF8 character set. • Reduced tablespaces to only ISH_DATA_M, ISH_INDEX_M and ISRC_PAGE. Storage clauses are removed. • NLS_LENGTH_SEMANTICS remains BYTE and no longer required to switch to CHAR. • Reduced minimal isource user rights, resulting in matching isrcuser.i and CheckMinimalUserRoles.sql. • The documentation describes import/export routines based on Oracle's data pump technology exdp and impdp instead of deprecated exp and imp. • Matching new database template file are delivered. • Dynamic sampling is new in Oracle RDBMs 12c and gathers statistics on the fly during query execution. However, on all our test environments this had a neutral to adverse effect which made us decide to turn off Dynamic sampling. We set Oracle optimizer_dynamic_sampling to 0 instead of the default setting 2.
Important: This means that we expect every Oracle RDBMs 12c environment to run with the above described new setup.
SDL Knowledge Center Release Notes 25 2 Release Notes - SDL Knowledge Center
Web client security
As there is more and more awareness about security, we invested in tests and enhancements on our web clients. This resulted in improved security against a wide range of potential threats.
Penetration testing was done on our web client. All critical and potentially high issues coming out of this regarding Cross-Site Scripting (XSS), information leakage, insufficient authentication, content spoofing, predictable resource location, SQL injection are fixed.
Cross site scripting (XSS) • Stored XSS: these generally occur when user input is stored on the target server. The data can be retrieved from the web application without being made safe to render in the browser. • Reflected XSS: these occur when user input is immediately returned by a web application in an error message, search result or any other response that includes some or all of the input provided by the user as part of the request. This happens without that data being made safe to be rendered in the browser and without permanently storing the user provided data. Our Classic ASP pages were fixed by using the reform libraries provided by the “https://www.owasp.org/” on page 0 encoding project. (ASP).NET pages make use of the build-in libraries from the .NET Framework.
Cookies
Cookies are now verified to be Secure, so preventing cookies from being observed by unauthorized parties; and HttpOnly which helps mitigating the risk of client side scripting accessing the protected cookie (if the browser supports it).
HTTP Response Headers
Revealing the specific software version of the server may allow the server machine to become more vulnerable to attacks against software that is known to contain security holes. The headers X-Powered- By, X-AspNet-Version and Server are removed through web.config configuration and assisted by an HttpModule called RemoveVersionHttpResponseHeaderModule. Response headers now no longer reveal information like [TS-10481|TS-10093]
Server: Microsoft-IIS/8.5 X-AspNetMvc-Version: 5.2 X-Powered-By: ASP.NET
SQL Injection
This basically consists in inserting a SQL query via the input data form from the client to the application. A successful injection exploit can read sensitive data from the database, modify data, execute adminis- tration operations, ... During the scans there was no evidence found that this is an issue for our web client. Overall, Content Manager's web client is build up with a dedicated Data Access Layer which fully relies on techniques like parameter binding.
26 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Insufficient Transport Layer Protection
SSL/TLS has a good version negotiation mechanism that should prevent a browser (and .NET client applications) and server that support a modern TLS version from using anything less. However, because some servers are buggy and don't implement version negotiation correctly, browsers break this mechanism by retrying connections with lesser SSL/TLS versions when TLS handshaking fails. By injecting some trivial errors on the network, an attacker can cause a browser to speak SSL3 to any server and then run the above attack. The essence is that client and server can be forced to handshake down to the minimal common intersection of protocols supported which out of the box is an SSL 3.0 that has a serious security risk (POODLE attack).
We've adapted our client tools to no longer accept a protocol handshake resulting in SSL3 overwriting the out-of-the-box .NET runtime behavior. [TS-9114|TS-9428]
You can also avoid the usage of protocol SSL3 by no longer allowing it on your server as described on https://technet.microsoft.com/ ; this will also make it work for web browsers.
Taxonomy/ontology integration
The ability to live link an external source to your content, which can provide a living semantic hierarchy (or ontology) to your topic repository, has been developed and enhanced under the technical name of MetadataBinding.
General
MetadataBinding allows our metadata fields to be linked to external sources. An external source is a repository of items. These items can be related in a simple (e.g. flat list) or complex hierarchy (e.g. graphs). Every item must have a unique identifier and a label. In the repository we only save the identifiers, which in turn means that labels and navigation hierarchy is always retrieved live. Every field can be linked to a different MetadataBinding interface implementation.
User Experience
A control named LabelManager is available in the web client. It gives access to a dedicated interface that lets you use configurable search capabilities through your objects with the assistance of the external taxonomy. A control named TagList is available in the Client tools. You also have access to specialized options in the configuration file MetadataConfig. xml. This gives you control on every aspect of the Metadata- Binding system: suggestions, filtering, options for a messaging system, ... Both controls offer the following behavior: • Tree view shows the tree navigation implementation of the bounded connector (MetadataBinding25. RetrieveTagStructure) showing navigation and selectable items. • Auto suggest (as-you-type) shows you items that match your criteria (MetadataBinding25. RetrieveTags). • Tree view with as-you-type experience performs a client side filtering of the open tree view, eventually only showing navigation and selectable items.
SDL Knowledge Center Release Notes 27 2 Release Notes - SDL Knowledge Center
Restriction: As the tree of navigation and selectable items is fully present on the client side, we suggest information architects and integrators to make a conscious decision on how much data is transferred every time.
• Recent tags in suggestion mode shows the last 10 selected items for this field. The control also supports batch metadata in the Client Tools.
Hierarchical Experience
All of the UI control behavior is supported by an API which also allows to pass context of other metadata fields. In practice, the content of one or more fields can define the behavior of the currently active field. For example, the values selected in a Continents field can be passed to the Countries field to filter to only European countries. If a user would immediately go to the Countries field, it is up to the connector implementation to either show all countries or inform the user to select a continent first. This will help reduce data sets and guide the user to allowed combinations.
Search Experience
As the repository stores identifiers, it means that all Find and Search capabilities of the system rely on passing identifiers. Only when using the UI control to select a certain identifier, the connector is in play. The chosen identifier(s) are then passed to the existing Find and Search operations.
As an extra, the incoming
Validation
The UI controls will guide the users, but eventually validation will happen on the web/app server through an IWrite* plugin (MetadataBinding25. Validate). This ensures that any API integration follows the same rules.
Configuration
The connectors are configured in the Web Client Settings area. Configuration is stored as part of
We offer some Web Client assist functionality (data-metadatabinding-view) to make LabelManager easier. And the MetadataConfig. xml drives the Client Tools configuration of typetaglist.
28 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Connector for SmartLogic Semantic Enhancement Server (SES)
This reference implementation connector covers a lot of use cases to connect to this ontology system. This connector can handle identifiers, labels, classifications through extensive configuration.
Restriction: When using a rich customizable taxonomy system, there are potentially unlimited configu- ration setups and some of them cannot be expressed in our current configuration options. That is why we consider this a reference implementation.
The connector is implemented in \ Plugins\ TrisoftSmartlogic. dll file, and can be used by providing handler name: SmartlogicSESConnector. Some implementation notes are: • RetrieveTagStructure uses recursion over the SES API hierarchy service to build the tree step by step. • RetrieveTags uses the SES API prefix service to get the results while applying the selectable and entry nodes of the configuration. • IQueryEnhance is not implemented in this connector. • Relation parameters describe how to walk over the graph: relation incorporates the instructions on how to move from one term to others, ID identifies the relation to be used from metadatabinding fields parameter, type identifies if the relation is hierarchical or associative, abbreviation points to the relationship name as defined in the model, direction and from conditions are used to identify if a rule can be used for a term, to conditions are used to filter out the expanded terms when using this relation. • Describe per field what part of the graph you are targeting: entrynodes defines where to begin on the graph, relations to references which relations are allowed to be used to create the set of terms for this field and selectable to defines which terms are selectable by the user.
Publish throttling by raising different event types per output format
Configuration of distinct even types per publish type variations releases the full capability of the background task engine.
Overview
Historically the event type triggered by any UI or API driven Publish operation triggered a hardcoded event of type named EXPORTFORPUBLICATION on our background task system. From then on all of these publish operations were considered equal. There was no distinction possible based on: • Output format, such as PDF (XPP A4), PDF (XPP letter), Content Delivery, Compiled Help, ... • Size, such as booklet, service manual, flyer, ... • Usergroup. • Language. • Result (EDT), such as PDF, CHM, ZIP, ... • Available licenses of third party software. • ... Important: The out-of-the-box behavior has not changed. But you have to adapt the Settings > XML Write plug-in Settings so that ISHRAISEPUBLISHEVENT is the last plug-in in section
SDL Knowledge Center Release Notes 29 2 Release Notes - SDL Knowledge Center
New IWrite* plugin named 'RaisePublishEvent' [TS-9408]
Technically API calls PublicationOutput20. Publish and PublicationOutput25. SetMetadata (when updating field FISHPUBSTATUS to value VPUBSTATUSPUBLISHPENDING) will no longer raise the hardcoded EXPORTFORPUBLICATION event. This has now moved into a documented plug-in called RaisePublishEvent that also takes care of an EventMonitor entry.
Tip: As the necessary code to raise a publish event moved into a plug-in, it is now possible to create your own custom plug-in that drives publishing based on other metadata.
Example: Separate publish to the Content Delivery output format from the other output formats
The goal of this example is to serialize all background tasks that asynchronously connect to Content Delivery like synchronize and publish, without affecting the regular PDF, CHM, ZIP type of publish operations. 1. Navigate as an Administrator to Settings > XML Write plug-in Settings and adapt or add the following RaisePublishEvent plugin as the last plugin in section
30 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
2. Navigate as an Administrator to Settings > XML Background Task Settings. a. Duplicate the
Restriction: If you have multiple back end servers, you can set up a new service role and configure one BackgroundTask service to pick up your new specific service role.
3. Depending on the event type name, you need to configure EventMonitor so that it groups your Publish related logging entries. We pre-configured the following variations in EventMonitorMenuBar.xml: • EXPORTFORPUBLICATION (default) • EXPORTFORPUBLICATIONPDF (typically used by all PDF generators like SDL XPP,AntennaHouse XSL Formater, ... • EXPORTFORPUBLICATIONZIP (typically used by Web Help, dita, ... • EXPORTFORPUBLICATIONCHM (Compiled Help) • EXPORTFORPUBLICATIONREACHINTERNAL (internal review collaboration system) • EXPORTFORPUBLICATIONREACHEXTERNAL (public delivery system) Note: The group All Events will always list all entries in case you skip this group configuration.
Publish pipeline changes
The publish process benefitted from a couple of minor improvements.
Publishing to Content Delivery
The publish (FeedSDLLiveContent. ps1) and synchronize (SynchronizeToLiveContent. ps1) code responsible to upload and prepare material in the Content Delivery stack have been enriched with retries. In their matching .config files you can configure the number of retry attempts (livecontentrequestretries defaults to 1 retry and livecontentprepareretries defaults to no retries) and time between retries (livecontentrequestwaitbetweenretries and livecontentpreparewaitbetweenretries default to a 30 seconds timespan) for regular and prepare calls. The end result is that a single failing file upload because of network glitches will not fail the complete EXPORTFORPUBLICATION event handled by the BackgroundTask service. [TS-10242]
SDL Knowledge Center Release Notes 31 2 Release Notes - SDL Knowledge Center
Debugging publishing to Content Delivery
To allow easier debugging, we already generated a __publish.cmd that allows you to reexecute the POSTPROCESSING step.
We now generate an extra file __FeedSdlLiveContent. ps1 per publication export that handles the Content Delivery part of the POSTPROCESSING. So in essence it is a subset of __publish.cmd that almost immediately starts addressing the Content Delivery upload.
Note: Only available when publishing to Content Delivery (LiveContent) of course. This also requires you to Run As Administrator.
Other
Unexisting folder path to a style processor can make cscript.exe hang. A pro active check on file existence should avoid this. [SRQ-1540]
Translation Flow and Integration Improvements
Some improvements and changes are specific to Translation Management and Translation Organizer.
General
Translation Management has been fully refactored, resulting in stability and performance improvements. On top of this we made sure that IWrite* plugins now also runs on the newly created target languages. The source language used for the generated target languages is better controlled by the introduction of
Event types
The background tasks/event types for Translation Management have changed, and one (DELETETRANS- LATIONS) have been removed. The Event Data for these event types has also changed.
32 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Event Name Description Event Data Sample
CREATETRANSLATIONFROMREPORT • Finds the objects that need
SDL Knowledge Center Release Notes 33 2 Release Notes - SDL Knowledge Center
Event Name Description Event Data Sample
CREATETRANSLATION • Creates the target language
Combining this revisited granularity of having many CREATETRANSLATION as early as possible and the introduction of Background in the previous release, we greatly boosted throughput and introduced extra scaling options on top.
Language paths
It is now possible to define preferences in source language for translations. This is determined by the top-down succession order of the
Resolution control on the Translation Job
You can now control which Image resolutions are being generated by Translation Management to be pushed out by the Translation Organizer service. Do note that Translation Management should be enabled on the image objects in question. [TS-9096|TS-8999|SRQ-2510]
File System enabled out-of-the-box
In the past you had to configure either WorldServer, TMS or file system to work. From now on, TranslationOrganizer. exe.config has file system readily configured for usage. [TS-8992]
34 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Translation Management on ImagesThe logical level Translation Management flag (FNOTRANSLA- TIONMGMT) on images was not respected. When Translation Management is enabled it should not be possible to manually add language/resolution combinations. When Translation Management was triggered on the image, it resulted in error Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another near Generating mixed language file. The implementation of RunTranslationManagementOnResolution was corrected. [TS-8940|TS-8910|SRQ-2574]
Translation Organizer
Introducing support for WorldServer 11 and TMS 11. In essence Translation Organizer does database (repository) to database (translation management system) synchronization. We optimized the routines and introduced better debugging support. Retry routines are tuned towards our repository and towards WorldServer and TMS - for example when synchronizing templates. The routines of unleasing Translation Jobs are tuned to make sure jobs always keep moving. Translation Job Properties will now show the Leased by and Date leased on fields for informational purposes. EventMonitor entries are no longer deleted if they are connected to an incomplete Translation Job entity.
Other
As all other processes, Translation Management benefits from the fact that now all API25 methods accept element names. This means that developers can change user role labels as they go along. As other processes, Translation Management benefits from the Background tasks polling system. Translation tasks can be carried out in parallel with publication, synchronize and other tasks. The delay before the tasks are started is also reduced.
PushTranslation flow comparison between 11.0.0 and 12.0.0
A schematic depiction of a PushTranslation flow shows how the new background tasks system improves the PushTranslation throughput.
Former flow
In the 11.0.0 version of the Background Task System, when the Client sent one publication for transla- tion, only one task, the first one, was created for this publication, and the process passed around an event data containing the data for all remaining objects. Any valid Background Task Service could then pick up this single task. If there was more than one Background Task Service active, only one could take on this event.
When the Background Task Service had finished executing this task, the next task was created for this publication, from the event data containing X-1 remaining objects, and could then be picked up. And so on, passing around an event that contained all remaining objects and that was getting smaller and smaller. In this flow, one publication could be processed by one Background Task Service at the same time. A scaling would have no effect on the PushTranslation speed.
Current flow
SDL Knowledge Center Release Notes 35 2 Release Notes - SDL Knowledge Center
In the 12.0.0 version of the Background Task System, when the Client sends one publication for transla- tion, all the tasks for this publication are created from the start. If several valid Background Task Services are active at that time, each of them can pick up a task. This enables a certain degree of parallel processing for a given publication at a given time.
Background Task
Enhancements on the centralized Background Task system that replaces the decentralized Microsoft Message Queuing (MSMQ) system.
Attention: When upgrading an existing database, you should submit the Admin.XMLBackgroundTaskConfiguration. xml into the XML Background Task Settings before using the system.
Attention: None of the Windows services will be automatically started after an installation. This avoids blocked database upgrades when using DBUpgradeTool (DBUT) and background task pickups with the wrong configuration.
General
By introducing the Background Task system, we offer a full replacement of the previously used Microsoft Message Queuing system (MSMQ). Some features we introduced are: • DatabasecentralizedXmlSettingsconfiguration(\ Websites\ Author\ EnterViaUI\ Admin. XMLBackgroundTaskConfiguration. xml). This provides a single point of configuration. Through Windows environment variable settings, we still allow per server changes. You can set on top of this extra environment variables such as installation paths in \ Applications\ BackgroundTask\ Bin\BackgroundTask.exe.config. • Matrix based polling with maximum executions per message type, server or server role - if desired. By default we will restrict the number of publish operations to 2 in parallel, but we will at the same time also allow 2 translation management operations, a synchronize and 2 other (customer) types. So in this example up to 7 tasks are handled in parallel allowing various message types to make progress. Configuring the number of parallel executions protects the available server resources.
Note: The retry mechanism relies on the error handling of the background task handler. If the handler suppresses the exception or makes a new background task for handling the retry, there can be more or less attempts that configured.
• Scalability and fairness based on the central database queue. • The background task will be leased. This allows lease refreshes, lease time outs and hence recoveries without administrator interventions. All programmer's interfaces are now fully natively .NET. In 11.0.0 we introduced IWrite* plugins as replacement for IOnDocStore and ICustomerFunction. Now we introduce IBackgroundTaskHandler to replace IEventHandler.
36 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Improved polling increases BatchImport and PushTranslation throughput
The BackgroundTask service poller sleeps a configured interval (by default 10s) if all slots in all groups are occupied or when there are no tasks waiting to be executed. Some COM+ handlers like PushTransla- tion and BatchImport work with a single task that they continuously resubmit. This causes in practice the sleep interval to always be triggered. So effectively a slow down of these background tasks services (a BatchImport file import for example) takes less than the 10 seconds sleep time. [TS-8977|TS-8799] As a general improvement, the poller will now be activated when a slot is freed up from a group. For the above example it means that the resubmitted task of a BatchImport will almost immediately be picked up again, therefore increasing throughput. Besides this throughput improvement we changed the out-of-the-box XMLBackgroundTaskConfiguration. xml ISHBATCHIMPORT @isolationLevel value from Process to None. This avoids starting a new process for every file that needs importing. This could only be done by adjusting the logging engine to avoid file lock issues.
BackgroundTask isolationLevel AppDomain added
The execution by the BackgroundTask service of implementations of the IBackgroundTaskHandler configured through the @isolationLevel attribute can now be driven through these variations: • None; meaning that the code is directly loaded and executed by the BackgroundTask service (BackgroundTask.exe). • Process; meaning that the code is directly loaded and executed by a new child process of the BackgroundTask service (BackgroundTaskIso. exe). • AppDomain; meaning that the code is loaded in a separate .NET application domain (for the background task id) and then executed by the BackgroundTask service (BackgroundTask. exe). When the execution finishes this domain is unloaded in order to release all resources loaded in the domain. [TS-8989|TS-8350]
Federated Services changes
The federated services and claims-based authentication system received improvements to reduce network traffic.
General
Several scripts are added to simplify your maintenance across server nodes. We advise you to run the scripts after installation as they will have the correct parameters already set. The scripts are located: • ForMicrosoftADFS,in\App\Setup\STS\ADFS\Scripts\. • ForISHSTS,in\App\Setup\STS\ISHSTS\Scripts\. Out of the box for ISHSTS, our setup routines will add prefixes to the relying party configuration such as ISH, LC and BL. This prefix will be used in our basic claims set transformation (see \ Web\ InfoShareSTS\ Configuration\ infoShareSTS. config) so they are immediately ready to go.
SDL Knowledge Center Release Notes 37 2 Release Notes - SDL Knowledge Center
Simplified STS configuration
For integrating Content Manager with a Security Token Service (STS), ISHCM and ISHWS require a set of identifiers to be configured within the target Security Token Service. We already had 1 relying party URL for Content Manager web client (ISHCM) and 1 for Content Delivery web client (CD). Previously we required 100+ entries for the Web Services relying party in a scaled setup. From now on we only need 1 relying party URL as well for the Content Manager web services (ISHWS). Overview The number of identifiers for ISHWS has been significantly reduced in order to reduce STS related configuration complexity. This improvement makes the STS independent of the Content Manager cluster composition. No action is required on the STS when adding or removing nodes from the cluster. ISHCM identifiers ISHCM requires one identifier to be configured on the STS and that is the baseurl/ infoshareauthorwebappname/ where baseurl and infoshareauthorwebappname are the values from the input parameters. E.g. https://example.com/ ISHCM/ . ISHWS identifiers ISHWS requires a minimum of one identifier to be configured on the STS and that is the baseurl/ infosharewswebappname/ where baseurl and infosharewswebappname are values taken from the input parameters. E.g. https://example.com/ ISHWS/ . The identifier must be configured with an encryption certificate using the public key of the Content Manager service certificate. This is referenced by the servicecertificatethumbprint input parameter.
The Content Manager has been adjusted to depend only on this identifier. Other integration against ISHWS might require an additional optional set of identifiers depending on their code. This optional set is made of one identifier for each ISHWS WCF endpoint based on this pattern: baseurl/ infosharewswebappname/Wcf/API25/Application.svc.
Remember: The out-of-the-box system will work with the single relying party. In case you have legacy code, we strongly advise you to adapt your code as described in Best practices using .SVC Web Service in C#.. If you want you current code base to work, you can rely on the deprecated 31 compat- ibility endpoints (one for every svc endpoint like baseurl/ infosharewswebappname/ Wcf/ API25/ Application. svc) that we submit as well.
Tip: Microsoft Visual Studio's default behavior is to Add references using the baseurl/ infosharewswebappname/ Wcf/ API25/ Application. svc style which in turn means that you rely on the deprecated 31 compatibility endpoints. Please have a look at Best practices using .SVC Web Service in C#. in the documentation.
ISHSTS configuration ISHSTS will automatically seed its database with the required identifiers. For convenience it will also seed the optional set for each svc endpoint. To enforce the re-seeding of the database, this file's versionwasincreasedto Web\ InfoShareSTS\ App_Data\ IdentityServerConfiguration-2. 2.sdf. The previous version IdentityServerConfiguration-2. 1.sdf is now obsolete and should be removed.The scripts folder was moved from \ App\ Setup\ STS\ InfoShareSTS\ Scripts \ to \ App\ Setup\ STS\ ISHSTS\ Scripts\ .Thescriptfileswithinthefolderarerenamedto • SDL.ISH-ISHSTS-Configure for Windows Authentication.ps1 • SDL.ISH-ISHSTS-RP-AddRelyingParty.ps1 • SDL.ISH-ISHSTS-RP-UpdateCertificate.ps1
38 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Fromwithinthefolder \ App\ Setup\ STS\ ISHSTS\ Scripts\ ,thefiles SDL.LiveContent. Architect-InfoShareSTS-RP-AddNode.ps1andSDL.LiveContent.Architect- InfoShareSTS-RP-RemoveNode. ps1 are removed because the new configuration requirements are cluster composition independent. Microsoft Active Directory Federated Services (ADFS) v3 Support Existing ADFS relying parties must be deleted and then replaced by new ones to reflect the changes described here. All scripts in \ App\ Setup\ ADFS\ Scripts\ are renamed to match the current version of ADFS (ADFSv3.0 for this release). The script SDL.ISH-ADFSv3.0-RP-Install. ps1 script will create on ADFS the necessary relying parties. As with ISHSTS, the optional set for each svc endpoint is also added for convenience.
Thefiles SDL.LiveContent. Architect-ADFSv2. 0-RP-AddNode. ps1 and SDL.LiveContent. Architect-ADFSv2. 0-RP-RemoveNode. ps1 are removed because the new configuration require- ments is cluster composition independent.
Documentation
New content describes deployment guidelines and limitations of various setups. There is now, for example: • An explanation on front-end certificate usage (in for example Network Load Balancing scenarios) and back-end (batch) certificate usage. • Security flows and scaling limitations of ISHSTS. Customers authenticating with on-premises Microsoft ADFS STS can use a SDL Knowledge Center instal- lation deployed on SDL hosted servers outside their network. The services (web sites like ISHCM, ISHWS, Content Delivery, Quality Assistant, etc) can be configured to accept a token from ISHSTS additional to the originally configured ADFS one. This configuration removes the dependancy of delegated services or even background tasks to connect to your on-premises STS installation which is usually not accessible because of your company's firewall. All clients (browsers and client tools) running from the customers network have access to both ADFS and SDL Knowledge Center products. The solution is based on using the internal ISHSTS as the STS for all back-end initiated activities. This configuration removes the dependency on the customer's ADFS. Out-of-the-box ISHSTS allows delegation with tokens that were issued only from itself. All back-end activated entities are redirected to use ISHSTS as their issuer instead of the customer's ADFS. For Security Token Services other than ISHSTS and ADFS, such as PingIdentity, the Security Token Service Requirements chapter is added to explain what is necessary for the successful integration of Content Manager and the Security Token Service. To help advance 3rd party integrations, a best practices topic has been added. When integrators utilize the suggested pattern then the optional set of identifiers is no longer required.
Light weight Windows Authentication on ISHSTS
Our backward compatible solution ISHSTS was created to allow customers relying on Content Manager user accounts (read Trisoft accounts) to continue to work but still have the benefits of a Secure Token Service (STS) and Single Sign On (SSO) across the Knowledge Center solution. From an STS perspective ISHSTS forced authentication by requesting a valid username/password combination which would be validated in the Content Manager repository. A popular request was to re-introduce simple Windows Authentication without introducing Microsoft Active Directory Federated Services (ADFS) in the environment. We now offer indirect Windows Authen- tication on top of ISHSTS. This is a light weight solution that is provided for hidden authentication by
SDL Knowledge Center Release Notes 39 2 Release Notes - SDL Knowledge Center
your logged on Windows account. [TS-8818].
Attention: If high-availability, scaling or uptime are important to you, we advise you to go with the more dedicated STS system matching your authentication and identity provider requirements.
Tip: From now on it is important to distinguish the Secure Token Service (like ISHSTS, ADFS, ...) from the Authentication Type (like username/password, Windows authentication, kerberos, ...). In the past ISHSTS was becoming a synonym of username/password, which is no longer the case.
An overview of typical combinations that are confirmed by the field is provided below. For a more elaborate description of the inputparameters. xml parameters, refer to the installation documentation.
Choose your STS, ISHSTS by UsernameAuth ISHSTS by WinAuth ADFSv3 by then your WinAuth Authentication Type issuerwstrustbind-UsernameMixed WindowsMixed WindowsMixed ingtype issuerwstrustend-BASEURL/ BASEURL/ ADFSURL/adfs/ pointurl INFOSHARESTSWEBAPPNAME/ INFOSHARESTSWEBAPPNAMEserices/trust/13/ issue/wstrust/mixed/ /issue/wstrust/mixed/ windowsmixed username windows issuerwsfederation-BASEURL/ BASEURL/ ADFSURL/adfs/ls/ endpointurl INFOSHARESTSWEBAPPNAME/ INFOSHARESTSWEBAPPNAME issue/wsfed /issue/wsfed issuerwstrustmexurlBASEURL/ BASEURL/ ADFSURL/adfs/ INFOSHARESTSWEBAPPNAME/ INFOSHARESTSWEBAPPNAMEservices/trust/mex issue/wstrust/mex /issue/wstrust/mex serviceusername ServiceUser empty, the account of empty, the account osuser will be used of osuser will be used servicepassword ED47BA6B... empty empty
issueractorusernameValue of serviceusername Value of osuser Value of osuser
issueractorpasswordValue of servicepassword empty empty
To be able to use this you need to add an Operating System feature/role for enabling Internet Information Services (IIS) Windows Authentication (Internet Information Services > World Wide Web Services > Security > Windows Authentication) on ISHSTS after installation. [TS-8816]
40 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Other changes
All future active profile requests will no longer force a token type from the client side. Do note that we still require an OASIS SAML 1.1 token as a result. In practice Trisoft.Utilities.ServiceReferences is used to pass
In previous versions of ISHSTS, the actor user for delegation purposes - like server-side connection of web client code to web services code - was never verified as an existing account. From now on a valid account has to be specified at installation time through inputparameters. xml parameters issueractorusername and issueractorpassword. The actor must exist in the Content Manager repository as an Internal user. We recommended to use the same as the ServiceUser, see inputparameters. xml parameters serviceusername and servicepassword.
Programmer's Interface Changes
New interfaces for MetadataBinding, QueryEnhance and TranslationManagement. Interfaces ICustomer- Function and IOnDocStore are replaced by IWrite*-plugins and IEventHandler by IBackgroundTaskHandler
All interfaces
All programmer's interfaces are now fully natively .NET. In 11.0.0 we introduced IWrite* plugins as replacement for IOnDocStore and ICustomerFunction. In 11.0.1 we introduced IBackgroundTaskHandler to replace IEventHandler.
Introducing MetadataBinding Extensions
Every MetadataBinding connector should implement Trisoft.InfoShare.Plugins.SDK. Extensions.MetadataBinding interfaces. The connector is read-only. Configuration is stored as part of
Interface Short Description IHandler Interface to retrieve information from an external system IHandlerConfiguration Interface is implemented by the object passed to .NET handler Initialize method. It provides a handler with the parameters configured in the XML Extension Settings IFieldsFilter Interface for passing metadata that can be used to further filter the results to the RetrieveTags and RetrieveTagStructure methods IMessage The message and all information necessary to translate the message IMessageParam One parameter for the (error)message IResolveIdsContext Implement this interface in order to pass it to the metadata binding ResolveIds method
SDL Knowledge Center Release Notes 41 2 Release Notes - SDL Knowledge Center
Interface Short Description IResolveIdsResult An object implementing this interface is returned from the metadata binding ResolveIds method IRetrieveTagsContext Implement this interface in order to pass it to the metadata binding RetrieveTags method IRetrieveTagsResult An object implementing this interface is returned from the metadata binding RetrieveTags method. IRetrieveTagStructureContext Implement this interface in order to pass it to the metadata binding RetrieveTagStructure method IRetrieveTagStructureResult An object implementing this interface is returned from the metadata binding RetrieveTagStructure method IStructureTag Container for the minimal metadata of the object in the external system and of the propriety that defines if the object can be selected or not. It is used when returning results from the RetrieveTagStructure method. ITag Container for the minimal metadata of the object in the external system. It is used when returning results from the ResolveIds and RetrieveTags methods ITagRelation Container for the relationship between 2 Tag objects. It is used when returning results from the RetrieveTagStructure method IValidateContext Implement this interface in order to pass it to the metadata binding Validate method IValidateResult An object implementing this interface is returned from the metadata binding Validate method
Introducing QueryEnhance Extensions
The Web Client and Client Tools full-text index search actions are all routed over Search25 API. All the API consumers don't and shouldn't know if a field is metadata bounded or not. So there are no API changes for this. This extension point can enhance the incoming XML query before submitting to the full-text index. The examples are adding extra search criteria.
Tip: Only the query (
Restriction: The additional clauses are not weighted in the result. They are equal to other search criteria.
The configuration is stored as part of
42 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Interface Short Description
IEnhanceQueryContext Uses the IEnhanceQueryContext instance properties to access the input data passed to the EnhanceQuery method of IQueryEnhanceHandler class
IEnhanceQueryResult Returns IEnhanceQueryResult instance from the EnhanceQuery method of IQueryEnhanceHandler class IQueryEnhanceHandler Interface for dynamically enhancing the search query IQueryEnhanceHandlerConfiguration Contains the objects required for the query enhance handler initialization
Introducing Target XML File Extensions
It is now possible to configure a list of processing actions performed on to-be-translated XML files before they are sent to translation. You can do so using interfaces described in the documentation as Translation management plugin interfaces. This set of interfaces is also responsible for purging any of the generated target file markup. For example going from a mixed language file back to a single language file.
PreTranslation functionality is now implemented using this new interface through Trisoft. InfoShare.Plugins.SDK.Extensions.TranslationManagement.
Tip: The original PreTranslation is deprecated and hence disabled out of the box.
Interface Short Description ITargetXmlFileHandler Custom handler for generating a target file based upon the current source file and the previous released translation ITargetXmlFileGenerateContext Implemented by the object passed to the handler Generate method. It provides the handler with the necessary input data ITargetXmlFileHandlerConfiguration Implemented by the object passed to the Initialize method of the handler implementing the ITargetXmlFileHandler interface. It provides the handler with all parameters configured in the XML Extension Settings.
ITargetXmlFileGenerateResult The Generate method of the ITargetXmlFileHandler class return an ITargetXmlFileGenerateResult instance ITargetXmlFilePurgeContext Implemented by the object passed to the handler Purge method. It provides the handler with the necessary input data ITargetXmlFilePurgeResult Needs to be implemented in order to return the result of the Purge method from the ITargetXmlFileHandler class
SDL Knowledge Center Release Notes 43 2 Release Notes - SDL Knowledge Center
IBackgroundTaskHandler replaces IEventHandler
Background Tasks can now be handled by a full stack .NET implementation. The following interfaces are provided and documented: IBackgroundTaskHandler, IBackgroundTaskHandlerContext and IBackgroundTaskHandlerConfiguration.
Restriction: Your older IEventHandler, now deprecated, implementations will still be handled by the BackgroundTask service as configured through
As a first implementation we offer an IBackgroundTaskHandler alternative implementation of the following plugins.
Name IEventHandler (COM+) IBackgroundTaskHandler (.NET) THUMBNAILSUBMIT ISHPluginsIso. SetThumbnail CDocSetThumbnail INBOXEXPORT, REPORTEXPORT, SEARCHEXPORT, IshPluginsIso.cOut ExportObjects PUBLICATIONEXPORT PUBLISHINGSERVICEPROCESS, ZIPFILES, IshPluginsIso.cIshShell IshShell SYNCHRONIZETOLIVECONTENT
API References documentation is available for the interfaces or on how to Create a background task handler.
IWrite* plugins Improvements Execution during translation creation It is now possible to configure a list of write plugins which will be executed during the creation of the target language objects. When a translation is created, all Write plugins that have value CreateTranslation as CurrentAction configured in the @ishcondition in the IWrite* configu- ration are executed.
Note: The write plugins will be executed after the translation management extensions.
Execution when objects are sent to publish During PublicationOutput, when an object is sent to publish on a specified output, IWrite plugins can be executed. It can only be plugins that act on metadata (so, no IWriteMetadataAndBlob. .. is applicable) because the blob cannot be modified at this point. These plugins can add additional actions during a status transition, such as changing a date or starting a messaging background task.
CopyField plugin A IWriteMetadata - CopyField plugin is introduced. This plugin copies values from one field to another. It is used by CreateTranslation during Translation Management to make sure that mandatory or unchanged fields (e.g translation word count) are available.
LoggerName A specific LoggerName for the PluginLogService is available and can be configured from now on. [TS-8913]
44 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Context based on element names The IWrite* plugins that will be executed on your objects are selected by conditional publishing of the IWrite* configuration (Settings > XML Write plug-in Settings or Admin.XMLWriteObjPluginConfig. xml). Your incoming object will drive the context used for conditional publishing. Configuration can now be done by element names besides the more volatile labels. An @ishcondition entry such as DOC-LANGUAGE='en' AND ishoutputformat='PDF a4' - which breaks if somebody renames the language to en-US - should now be configured using the stable element names like DOC-LANGUAGE='VLANGUAGEEN' AND ishoutputformat= 'VOUTPUTFORMATPDFA4'.
Language, resolution and output format are extended. The documentation describes the possible condition names and values that define a context for content objects and publication outputs. So an example context, also called product definition, looks like this:
CurrentAction = SetMetadata IshType = ISHIllustration FMAPID = GUID-BC80B446-62BB-4583-9AF5-1C94D0C236E2 VERSION = 1 DOC-LANGUAGE = en, VLANGUAGEEN FRESOLUTION = Thumbnail, VRESOLUTIONTHUMBNAIL EDT = EDTJPG ISHUserGroup = VUSERGROUPDEFAULTDEPARTMENT ISHLevel = logical, version, lng
Tip: Almost all of our controlled values have a fixed readable element name prefix like VLANGUAGE, except some older output formats which were based on our generic GUID-... naming scheme.
IWrite* plugin BlobExtractMetadata finetuned
A configuration like
For example, assume FSHORTDESC is a single value string field, and the XML file contains:
For an ExtractXPath = "//*[contains(@class,' The Title provides information about configuring topic/shortdesc ')]" the result in FSHORTDESC networking for SDL Architect such as iSCSI, Fibre would be: Channel, and so on. For an ExtractXPath = "//*[contains(@class,' The , provides information about configuring topic/shortdesc ')]/text()" the result in networking for, Architect such as iSCSI, Fibre FSHORTDESC would be: Channel, and so on. For an ExtractXPath = "//*[contains(@class,' The , Title, provides information about configuring topic/shortdesc ')]//text()" the result in networking for , SDL, Architect such as iSCSI, Fibre FSHORTDESC would be: Channel, and so on.
Then
SDL Knowledge Center Release Notes 45 2 Release Notes - SDL Knowledge Center
• For an ExtractXPath = "//*[contains(@class,' topic/shortdesc ')]" the result in FSHORTDESC would be The Title provides information about configuring networking for SDL Architect such as iSCSI, Fibre Channel, and so on. • For an ExtractXPath = "//*[contains(@class,' topic/shortdesc ')]/text()" the result in FSHORTDESC would be The , provides information about configuring networking for, Architect such as iSCSI, Fibre Channel, and so on. • For an ExtractXPath = "//*[contains(@class,' topic/shortdesc ')]//text()" the result in FSHORTDESC would be The , Title, provides information about configuring networking for , SDL, Architect such as iSCSI, Fibre Channel, and so on.
Prevent automatic document title overwriting during import
The SETTITLE plugin configuration has been modified, and an processing instruction has been added to the Editor templates. This prevents the title of a document from being automatically replaced with the metadata title during a BatchImport or Content Importer operation.
About this task When a user manually creates a new object based on editor templates, the SETTITLE plugin inserts the FTITLE value in the
Procedure 1. Modify the SETTITLE plugin configuration in the database through the Content Manager web client: 2. In the web client, select Settings > XML Write Plug-In Settings. 3. In the XML plugin configuration file, browse to the SETTITLE plugin XML definition. 4. In the SETTITLE plugin XML definition, look for the OnNodeXPath parameter. In this parameter, replace any occurrence of the [title] text part with [title[child: : processing-instruc- tion('ish-replace-title')]], then save your changes. After implementing these plugin configuration changes, the original document title should remain unchanged, also when performing Duplicate or Check In As operations in the Client Tools. The modified SETTITLE plugin configuration should be similar to the following example:
46 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
5. Modify all Editor templates in the database through the Content Manager web client: 6. In the web client, select Repository. 7. In the folder tree structure on the left pane, browse to the ../System/Editor template/ Topics folder. 8. For each object in this folder, carry out the following steps: a. Select the version of the object you want to modify, click Download to download the current content of the object, then click Save in the Save As dialog window to save it locally. b. Open the object in a text editor, for example Notepad, insert or append the text to the title text of the
Your topic begins here.
API changes
The web services API changes.
SDL Knowledge Center Release Notes 47 2 Release Notes - SDL Knowledge Center
General
The web services API are made available for integration using the Windows Communication Foundation (WCF), resulting in SOAP 1.2 services like /ISHWS/ WCF/ API25/ Application. svc capable of support- ing claims-based authentication.The deprecated endpoints like /ISHWS/ Application25. asmx relying on proprietary authentication are still present in this release.
Typically users write their first code based on a label (e.g. statusIn translation). If you want to change the label later on, you have to adapt a lot of code. Now all API25 methods accept element names (e.g. stable id for status VSTATUSINTRANSLATION) as input for parameters making code independent from label renames. This is valid for all ListOfValue based entries like for example: language, resolution, outputformat, user, usergroup, userrole, etc. [TS-6473]
The FISHSTATUSTYPE calculation is no longer done asynchronously, avoiding a lot of background task Translation Managements to spin up. The FISHSTATUSTYPE field holds shortcut values to identify if your object is either draft (10), released (20), out-of-date (30), etc.
Comma Space (, ) is now allowed in string fields. With the changed back-end, the system can now easily make the difference between a multi-value field where comma-space is the separator, and a regular string field. [TS-5104] In the version algorithm, the build number system changed. We will now continuously increase the build number. For example version 10.0.312.5 has build number 312 and can be read as March 12 from the year 2013. Version 10.0.1629.5 has build number 1629 and can be read as 29 April 2014 (every multiple of 1200 indicates a year). [TS-6951]
We introduced full stack write functions for classes DocumentObj25 and PublicationOutput25 in 11.0.0. These optimized versions got a considerable performance improvement because of a new architecture and the rewrite of the IOnDocStore system, resulting in the IWrite plugins. This now allowed us to introduce a considerable read performance improvement on all API 25 classes like for exampleDocumentObj25 and PublicationOutput25 - available since 11.0.1. The boost is visible in metadata field retrieval areas such as: • Publication Manager, when opening a publication; • Authoring Bridge, when loading the content of a folder; • Baseline operations like autocomplete and freeze; • API25 based customization. Most optimizations were in the data source layer. Result set handling of queries that return 500+ rows received a major boost. Some loops and lists were optimized with dictionary lookups for bigger amounts of data. Also the logging engine setup changed: it now relies more on static instances. [TS-8889]
Restriction: The boost has limited effect on the web client, publish service, translation management, and anything that is not rewired to API 2.5 yet.
MetadataBinding25
API consumers don’t know if a field is metadata bounded to an issue tracker, or a wiki, or a taxonomy system, or some ontology system. The following API functions have been added to let you build the controls in a Properties screen. These endpoints allow generic handling of data coming from metadata bounded fields: • MetadataBinding25. ResolveIds resolves the tag IDs for each field into labels/descriptions. • MetadataBinding25. RetrieveTags retrieves a list of tags for the specified field and applies filter logic like hierarchical structures.
48 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
• MetadataBinding25. RetrieveTagStructure retrieves a hierarchy of tags – so including relationships – for the specified field and applies filter logic. • MetadataBinding25.Validate [internal] validates the tag IDs of the specified fields against the filter field values.
DocumentObj20, DocumentObj25 and PubliciationOutput25
All read functions, like for example DocumentObj25. RetrieveMetadata, let you retrieve the labels of metadata bounded fields.
ishvaluetype psXMLRequestedMetadata psOutXMLObjList
(default)
value
element
Tip: Example on internal managed fields: value Admin, ID 4484 and element VUSERADMIN as readable unique identifier. It is managed externally, so metadata-bounded fields will return the same value for ID and element as @ishvaluetype attribute.
All find functions, like for example DocumentObj25. Find, require the identifier to be passed. The actual value or label is not saved in the repository and is always looked up just-in-time in the metadata bounded source repository.
All write functions, like for example DocumentObj25. SetMetadata, require the identifier to be passed. The actual value or label is not saved in the repository. Furthermore the label is not guaranteed to be unique enough to allow lookup in the metadata bounded source repository. PublicationOutput25. Find and DocumentObj25. Find with a filter on metadata using @ishop- erator like now can filter on values over 255 characters in length. The earlier rootword-length filter limitation has been removed. Performance has been improved for these functions as they take the Status Filter (FISHSTATUSTYPE) restriction into account from the start. [SRQ-3393|TS-9866] We fine-tuned several behaviors, most notably: • When submitting a blob as non-administrator, you were blocked if the object was released. Now you are blocked only if the object is part of a released publication output with the current language.
SDL Knowledge Center Release Notes 49 2 Release Notes - SDL Knowledge Center
• When updating the status, you must select a valid status transition. Moreover, if the object is part of a frozen baseline, you could not move from released back to a draft status. Now you can do both actions as long as the object is not part of a released publication output, making it easier to work statuses on translated objects.
DocumentObj20. StartTranslationMgmt is obsolete and can be replaced by TranslationManagement25.CreateTranslationFromVersion [internal]. DocumentObj20. TerminologyUpdate is obsolete.
EDT25
All documents and publications in the database are linked with an Electronic Document Type (EDT) which specifies the file extension and the mime type of the document. We introduce an API which allows remote management, aligns with OutputFormat, User, UserGroup, ... • EDT25.Create • EDT25.GetMetadata (single) • EDT25.RetrieveMetadata (plural) • EDT25.Update • EDT25.Delete • EDT25.Find EDT25.GetList is deprecated and should be replaced by EDT25.Find which matches our naming convention.
Restriction: EDT create and retrieve is no longer possible using TriDKXmlSetup. The way EDTs are stored in the repository has changed, for example the introduction of a list of value called DEDTNAME. Theauxiliaryscriptsin\App\Database\Common\DatabaseIndependent\Examples\CreateEDT\are still present and adapted to no longer rely on TriDKXmlSetup but use the web services over a Trisoft. Automation library which has been made available for this purpose only. [TS-10135|TS-10368]
Fixed issues
Issues that were fixed from Content Manager are described.
Fixed issues in version 12.0.4
An overview of bug fixes and issues that were addressed in Content Manager 12.0.4, compared to the previous version of the product.
50 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Fixed Issues in 12.0.4 Web Client
The following Web Client issues are fixed in Content Manager 12.0.4 compared to 12.0.3.
Web Client • Not wellformed HTML in a logical-level form prevented custom metadata fields addition to the database. The HTML has been fixed in this form. [TS-12396|TS-12368|SRQ-6347] • When previewing a topic or map in the Web Client, and using a link in this object to open another object's preview in another tab, the version selection dropdown list (for comparison) was absent in the second preview tab. That selection list is now available. [TS-12328|TS-12329|SRQ-6381] • For some user roles with no access to the Inbox tab of the Web Client, some actions on content stored in the Repository such as Check Out, didn't work because Inbox is the selected tab by default in the Web Client. This has been fixed and the Repository action now have the expected effect in this case. [TS-12519|SRQ-6719] • The behavior of the disable attribute for publication search has been aligned with the behavior of disabled for standard search. [TS-12533|TS-12534]
Fixed Issues in 12.0.4 Client Tools
The following client tools issues are fixed in Content Manager 12.0.4 compared to 12.0.3.
Client Tools and XML • Several DPI scaling issues appearing when the display is zoomed in at 125% have been fixed. Verified across various supported Windows versions (bitness, language,...) and using different GPU hardware. [TS-12153] • The properties window now fits the screen size and the scroll bars appear normally. • The date picker controls now appear normally at this scale [SRQ-5247]. • The display size of dropdown lists now corresponds to the size of the working space.
Publication Manager • Changing the baseline will now reload the publication avoiding a restart of the Publication Manager instance. [TS-12520|SRQ-6683] • When using the Search functionality in client tools, the selection of the None option in the calendar from the Advanced options prevented the search to run. [TS-12525|SRQ-6431] • When setting a condition in XMetaL, the focus no longer switches to the previous Windows applica- tion, typically Publication Manager [TS-12530|SRQ-6623]
SDL Knowledge Center Release Notes 51 2 Release Notes - SDL Knowledge Center
Fixed issues in 12.0.4 Content Editor
The following Content Editor issues are fixed in Content Manager 12.0.4 compared to 12.0.3.
Content Editor • Packaged the Chinese translations as part of build 5.4 - 5672 [TS-12481]
Fixed issues in 12.0.4 Web/App/Db server
The following issues are fixed in Content Manager 12.0.4 compared to 12.0.3.
PublishService
By default PublishService retrieves metadata over API20 which does not handle IMetadataBinding (so taxonomy integration), toggling TRISOFT_INFOSHARE_PublishService_UseMinimalRequestedMetadata does, but the registry key was not used for the Publication and publicationOutput metadata retrieval which is now corrected. [TS-12361|SRQ-6428]
When publishing the metadata is retrieved over API20 by default. Unless TRISOFT_INFOSHARE_ PublishService_UseMinimalRequestedMetadata is enabled because then API25 is used. There is a difference in behavior between API25 and API20 RetrieveMetadata file (fields not present on a card type are not returned with API25) no longer cause publish to DITA XML to fail. [TS-12407|TS-12464]
Other
For the ExportObjects BackgroundTask handler implementation of events like INBOXEXPORT or PUBLICATIONEXPORT. The algorithm for reducing the size of titles for exported files has been modified to adapt to cases when the file extensions have different sizes. For example, .met files that are created when .ai files are exported have a title longer by one character. This no longer generates errors. [TS-12500|SRQ-6677]
Fixed issues in version 12.0.3
An overview of bug fixes and issues that were addressed in Content Manager 12.0.3, compared to the previous version of the product.
Fixed Issues in 12.0.3 Web Client
The following Web Client issues are fixed in Content Manager 12.0.3 compared to 12.0.1.
Web Client • The conflict that prevented the web client's search date picker from working when metadatabinding is enabled has been resolved [TS-11743]. • Now the publication search feature accessed from the Web Client benefits from metadata binding with taxonomy (only the main search the main search benefitted from it before) [TS-11701]. • The AddVersion dialog reappears in the Web Client when you do a Checkout operation on an object with a Released type of status [TS-12006].
52 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
• We replaced state by status in Settings > Initial Status and error messages whenever we referred to statuses [TS-11702|SRQ-5321].
Fixed Issues in 12.0.3 Client Tools
The following Client Tools issues are fixed in Content Manager 12.0.3 compared to 12.0.1.
Publication Manager • Trying to invoke XML Attributes of an object just added in a publication, therefore not yet part of the baseline, resulted in an error "Cannot resolve link text for topic reference GUID#. A version is required. " This has been fixed [TS-11650|SRQ-5269]. • Publication Manager no longer returns "Cannot resolve link..." and "The XML attributes of [] could not be changed..." errors when trying to select a one verison topic through Browse in the XML Attributes dialog [TS-11789|SRQ-5500]. • Publication Manager no longer hangs when several objects that include mandatory properties (property="required") are imported or copied. This issue appeared when images were imported in Publication Manager using the file system (through the Browse Repository dialog for example) or when multiple topics were duplicated: after the last object was displayed as imported/copied, the progress dialog hanged then the application was reported as not responding and had to be shut down. This occurred when objects had mandatory properties such as showmode for images or reviewer for topics [TS-11785|SRQ-5491;SRQ-5578]. • The issue preventing Publication Manager from supplying a navtitle when an object was added using drag&drop, copy-paste or the Add Within and Insert Before commands has been fixed [TS-11811|SRQ-5628]. • When drag&dropping or copy-pasting groups of topics from one publication to another in Publica- tion Manager, the versions for the dropped/pasted topics were not assigned. No further actions would be possible on these topics unless a version was selected. This issue has been fixed and versions are now automatically assigned to the dropped/pasted topics [TS-11897]. • When changing properties for a group of selected topics, Publication Manager could return one DragDrop registration did not succeed exception dialog for each selected topic, then the operation completed when you click Continue for each of these dialogs. This has been fixed: the operation now completes without error [TS-12019].
Fixed issues in 12.0.3 Content Editor
The following Content Editor issues are fixed in Content Manager 12.0.3 compared to 12.0.1.
Content Editor • It is now possible to edit a topic from the Inbox, or in any other case when the Repository ribbon is hidden [TS-11984|SRQ-5713].
SDL Knowledge Center Release Notes 53 2 Release Notes - SDL Knowledge Center
Fixed issues in 12.0.3 Web/App/Db Server
The following Web/App/DB Server issues are fixed in Content Manager 12.0.3 compared to 12.0.1.
TranslationOrganizer
TranslationOrganizer now has a more precise reporting of issues caused by files sent back by WorldServer. The RetrieveTranslationJobItems API now includes two new fields that help finding the exact files containing DTD-invalid XML: The ERROR and EXTERNALSTATUS fields [TS-10304|TS-10305|TS-11557|TS- 11558|SRQ-4069]. The log files now contain the precise statuses that are dynamically detected by TranslationOrganizer during the run. The statuses are printed at the beginning of the log [TS-12057].
Other
• We don't log method enter/exit or anything from Trisoft.InfoShare.COMAPI in order to avoid NLOG.config changes causing deadlocks [TS-12034|SRQ-5807]. • Improved recovery for IIS Application Pools that failed to re-initialize because the database was unavailable during their first initialize attempt [TS-12134|TS-12157|SRQ-6051].
Fixed issues in version 12.0.1
An overview of bug fixes and issues that were addressed in Content Manager 12.0.1, compared to the previous version of the product.
If you are upgrading from a release prior to Content Manager 12.0.0, refer to the release notes for the relevant versions in-between.
Fixed Issues in 12.0.1 Web Client
The following Web Client issues are fixed in Content Manager 12.0.1 compared to 12.0.0.
Web Client • The breadcrumb trail is now correctly updated when displaying a topic from search results. [TS-11173|TS-11172|SRQ-4847] • Unicode encoding using Classic ASP's Server.HTMLEncode no longer interferes with our anti-XSS upgrades. Unicode (Japanese) characters used in labels no longer return errors. [TS-11049|TS-11048| SRQ-4661] • The statistics section and statistics details are now loading correctly in the translation report. This was blocked because an obsolete xpath expression was used. [TS-10868|TS-10950|SRQ-4557| SRQ-4778] • Remove OutputFormat Skin used option from configuration which is passed to LiveContent as trisoft.outputformat. fsdllivecontentskin as this future not implemented parameter causes confusion. [TS-10907|TS-10869|SRQ-4400] • The issue preventing a user to cancel publish from the Web Client has been solved by making sure the user label was used instead of the element name for permissions. [TS-10747|SRQ-4431]
54 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Fixed Issues in 12.0.1 Client Tools
The following Client Tools issues are fixed in Content Manager 12.0.1 compared to 12.0.0.
Client Tools and XML • The 'New...' dialog initially shows an editor template selection screen where the horizontal tabs are matching the folder of your content type you created in the special EditorTemplates folder. The current tab size is hardcoded to around 90 pixels which in turn means you'll only see around 13 characters of your folder name. Now current hardcoded value 90 can dynamically become around 420; still leaving room for left/right arrows to appear. So in practice the folder name will still be cut off, but the tab can be almost as big as the dialog allows it to be. [TS-11348|TS-11347|SRQ-5037] • Xml Editors initial load and refresh action for images and conref libraries has been tuned to use less web service calls (like superfluous DocumentObj25. GetDataObjectInfoByIshLngRefs) to get to the same information. [TS-11326|TS-11315|TS-11316|TS-11327|TS-8879] • Using the F2 keyboard short cut to rename a folder in a Browse Repository window would not respect the DEL button. In stead of removing folder name characters it would ask to delete the whole folder with a message like The folder '
Publication Manager • If you close Publication Manager when it was not maximized to full screen, the next session would load the program around 200 pixels down. A first click however would move the window to the originally saved location. [TS-10564] • In Publication Manager, when a map is checked out, the delete of a
Restriction: Note that this requires a hotfix on Review & Collaboration (Reach) for 7.4.0, see SRQ-4234.
• The publication version numbers are now listed in the right order in the Differences with version drop-down list in Publication Manager. That parameter is located in the properties dialog for PDF outputs in the Output tab. [TS-11245|TS-11246|SRQ-4934] • The modal dialog appearing at each refresh in Publication Manager, stating The object 'FTITLE' has been changed by another application, and the new content has been loaded, now appear only once every Publication Manager session [TS-11441|SRQ-3032].
SDL Knowledge Center Release Notes 55 2 Release Notes - SDL Knowledge Center
Content Importer • Content Importer no longer translates trailing spaces into an invalid @ishcondition condition value. For example otherprops="A B " will now convert to ishcondition="otherprops in (A,B)" instead of ishcondition="otherprops in (A,B,)" with a superfluous comma and null value. [TS-11176|TS-11248|SRQ-4845]
Fixed Issues in 12.0.1 Authoring Bridge
The following Authoring Bridge issues are fixed in Content Manager 12.0.1 compared to 12.0.0.
General Authoring Bridge • Client Tools Check In fails in EditingContentResolverWorker when the xml holds a 0x0B control character with error Unable to reach the repository '...'.. Often control characters like 0x0B come from copy pasting out of Microsoft Office applications. The issue was caused by the transformation of the error message (containing that control character) returned by the web services. Control characters will now silently be removed from the returned error messages to make sure that errors containing control characters reach the clients correctly. [TS-11467|TS-10591] • When submitting new editor templates the EDITORTEMPLATE. REMOVE.ALL.IDS plugin made sure that template xml files are stripped from any @id attributes, so when they are instantiated they all get newly generated identifiers. The Admin.XMLWriteObjPluginConfig. xml, which needs a matching submit in Settings > IWrite Plugin Xml, is now tuned to also strip comment identifiers (@cid) from the submitted template xml file. [TS-10659|TS-11476|SRQ-4257]
JustSystems XMetaL • Using XMetaL 11 Reposistory > Check Out Document will no longer close other documents in their multi document user interface. [TS-10673]
Fixed Issues in Content Editor
A description of the issues we've fixed with this release.
Copy/paste fixes We are now able to track content removed by a Cut The change tracking did not work sometimes when deleting selections within a single element. Specifically, when using Ctrl+X or the "Cut" button in the UI, the deletion was not tracked properly. These changes (deletions) are now tracked correctly, regardless whether using Backspace, Delete, Ctrl+X or Cut. Note that changes to selections that cross element boundaries are not tracked yet. Copying inline elements between documents works as expected When copying between different documents, spaces around inline elements were unexpectedly removed. This is no longer the case, and content is pasted in the same way it was stored in the original document.
56 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Copying placeholders between documents works as expected When copying from one document to another, placeholders were pasted as text. Placeholders are now copied and pasted correctly, as-is, and the placeholders in the target document function properly. Copying multiple paragraphs between document works as expected There was a problem where the first two paragraphs were merged together when pasting multiple paragraphs from one document to another. Now multiple paragraphs are copied and pasted correctly from document to document. This fix is a result of the new method where content is copied and pasted in the same way it was stored in the original document; that is, as XML. Cut would not work the first time if the Clipboard extension was not installed When the Clipboard extension was not installed, and you tried to use Cut for the first time, the editor would not put the removed content on the clipboard. Now cut content is put on the clipboard, you can used Cut regardless of whether the Clipboard extension is installed or not. Cut content could not be pasted after undo After pressing undo, the editor also incorrectly removed any content on the clipboard. For this reason, after an undo, users could not longer paste content in the document. This is fixed so that undo has no effect on the clipboard. In Firefox, pasting an empty clipboard broke copy/paste functionality When no text was available on the clipboard, for example after trying to paste an image from Word, attempting to paste broke copy/paste functionality in Firefox. This is now fixed and while there are still situations where there is no content that can be pasted, trying to do this will no longer break the copy/paste functionality. In IE, pasting code into space-preserving elements resulted in extra unwanted empty lines When pasting content such as code into a space-preserving element such as a code block, the editor pasted the content incorrectly by adding a blank line after every line break in the source document. This is no longer the case. In Chrome, you could not paste HTML content properly into space-preserving elements When copying content such as code from Word, HTML content used to be placed on the clipboard including tags. The HTML content included tags that were not visible in Word but did come from Word. When pasting this content into a space-preserving element such as a code block, the editor pasted the content incorrectly by including the extra unnecessary tags from Word. This problem is fixed in all browsers so that we only paste the text. In Firefox, only the first line of code would be pasted properly into space-preserving elements When pasting code from HTML or Word into Firefox, only the first line would be pasted into the code block (or other space-preserving element). The rest of the content would follow in paragraph elements. With this fix, if you were to paste when the cursor is in a code element at the moment of pasting, then all content will be pasted into that element. In Document View, you could not cut text from an attribute It was not possible to select text from an attribute in the main document view and cut it. For example in the XML view, or when the attribute is displayed in the main document display using XSLT. With this fix, you can now select and cut text from an attribute. In IE, we placed tags from the Tags-on View on the clipboard When copying content from the Tags-on View not only the content was put on the clipboard but also text from the tags as well. With this fix, we copy just the content and nothing extra.
SDL Knowledge Center Release Notes 57 2 Release Notes - SDL Knowledge Center
XML snippets copied from a text editor were interpreted as XML When copying XML content from a text editor, this was sometimes (when the copied structure was valid) pasted as XML. From now on, text copied from a text source is always pasted as text, regardless of its contents.
Other fixes Applying an inline element to an entire cell could break table structure Before this fix, you could break the table structure when trying to paste an inline element into a specific table selection. The table structure was broken if you selected all the content in a cell, then pressed Shift+Right to expand the selection slightly over the cell boundary and then tried to paste an inline element into this selection. Inserting inline elements into all types of table selections now just changes the selected element only, and will not longer break the table. Text deleted in Word could be pasted later When the Word change tracking functionality was on and you started to copy, then all the content would be put on the clipboard including changes such as content deleted earlier in Word. Then you would be able to paste this already deleted content. With this fix, already deleted text cannot be pasted later. When pasting or adding content with the API, we were preserving too many spaces. When content was pasted or added with the API, we used to keep too many unnecessary spaces. The criterion is that when using xml: space= "preserve" then we intend to preserve the space. Other- wise spaces ought to be removed/cleaned up. In this bug the extra, "not preserved" spaces weren't removed. This fix ensures that extra spaces are cleaned upon when pasting and also when using the API to insert content. Setting UI language did not change the language in one view nor in the API When using the API method for setting the UI language, Editor.setUILanguage(), the language in most of the UI was updated, but not everywhere. In particular, the language was not set in two places: in the Tags-on view and in the API method for getting the language ( Editor. getUILanguage()). Setting the language with the API now has the same effect as changing the language manually using the UI, and all parts of the product are updated after changing the language. Find/Replace was not able to search for the "]" and "\" characters When searching a document for either of the "]" and "\" character, neither character could be found even when part of the document. Tables with a merged cell copied from Excel could not be pasted When a selection from an Excel table contained a merged cell, then this could not be pasted. Crash after deleting a row in between merged cells The editor crashed in certain circumstances when editing a table. This would occur for example, when a document contained a table with 5 rows, where row 1 and 2 had some cells merged together, and row 4 and 5 had some cells merged together. If you tried to delete the third row of such a table, the editor could crash. We've fixed this problem. Crash on right-click when using a schema with xs:unique When using a schema with xs:unique in the definition of an element, the editor could crash when using right click or the delete menu. The editor could crash in combination with certain xslt stylesheets When using an XSLT stylesheet that outputs html elements that are not related to a specific xml element (a script tag for example), this could crash the editor. This used to occur for example when using the spell checker and scrolling down in the document.
58 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
The XopusNode.getPrettyName method did not work as expected on attributes The XopusNode.getPrettyName method did not work as expected when used on attributes. It would not return the "pretty" name specified in the configuration for an attribute, instead the name defined in the XML Schema. This has now been fixed, and this method returns the name defined in the configuration as expected. Links could not be copied from one document to another With the change to copying XML structure also when copying between documents, this bug does not apply any more. It is now possible to copy/paste links between different documents.
Fixed Issues in 12.0.1 Web/App/DB Server
The following Web/App/DB Server issues are fixed in Content Manager 12.0.1 compared to 12.0.0.
Secure Token Service - Authentication and Authorization • Improved error messaging/handling for ISHSTS, ISHCM and ISHWS when the certificate thumbprint is not found avoiding generic errors Exception type: InvalidOperationException and Exception message: Sequence contains no elements. [TS-11468|TS-10632]
Installing and Upgrading • In some situations, the command line InstallTool ended with an interactive mode Press any key to continue message. [TS-10910] • Admin.XMLBackgroundTaskConfiguration. xml configuration for ISHSYNCHRONIZETOLIVE- CONTENT event will now only synchronize Low resolution images out-of-the-box, matching the OutputFormat configuration. So in Settings > Background Task Xml the entry
BackgroundTask • Reducing the size of logs for BackgroundTask. exe and BackgroundTaskIso. exe by raising the default NLog.config level from Debug to Info. In practice the spinning wheel polling log entry will be avoided. [TS-10911|TS-11477|SRQ-4584].
PublishService • When a publication was published to PDF with the Compare functionality activated, any failure in a comparison (either engine or result is not xml well-formed) between versions of specific objects made the whole publish process fail. Now only that specific comparison is skipped and the specific object is displayed in the final result as having been entirely changed. The publication itself completes. [TS-11365|SRQ-5060|SRQ-4837] • PublishService PrepareForExport function didn't always receive a properly wrapped xml valida- tion error when the origin type was System.Xml.Schema.XmlSchemaException. [TS-10917|TS- 10862] • The length of publication titles can lead to exceeding Windows file path length limitations. Long titles are now truncated instead of failing the publication with errors like Following error occured: 76 - ???????????. [TS-10639|TS-11474|SRQ-4340] • More extensive handling of the DITA-OT log file makes potential errors and warning visible through EventMonitor, so without server access. The end result of publish is still the same, so when
SDL Knowledge Center Release Notes 59 2 Release Notes - SDL Knowledge Center
DITA-OT.log contains a BUILD FAILED, the status of the publish becomes Failed. More log file content will become available through EventMonitor. Everything starting from the first [Fatal Error] or XML document structures must start and end within the same entity. message - so more than the last 20 lines of DITA-OT.log. Unfortunately, the errors generated by the various DITA-OT versions are not consistent enough to generically fine tune the publish status result of Release Candidate or Draft - it is different per type like CHM, PDF, etc. [TS-10788|TS- 11475|SRQ-4972|SRQ-4201|TS-11601] • The internal EDT conflict that made some PDF publish fail whenever Content Manager was upgraded from 10.0.X or earlier to 12.0.X has been solved by code changes in PublishService, ISHPublUtil. vbs and publish.wsf. [TS-11317|TS-11419|SRQ-5249]
Translation Organizer • Translation Organizer is now more resilient regarding imperfect network setups causing the occasional HTTP status 502: Bad Gateway error. In the past this caused Translation Jobs to move to a manual recovery status requiring user action. Now safe (idempotent) calls like retrieving items or status moves will be retried; but for example an actual second submit of a job to the translation management system could incur double costs which is a conflict that still requires manual handling. [TS-11096|TS-10422|TS-11090|SRQ-4195|SRQ-4714] • Some transmission issues have also been fixed, such as the processing of Logical Identifiers having GUIDs with dots (.) as separators. An issue which was introduced on 2016/12.0.0. [TS-11273|TS- 11269|SRQ-4960] • Added example uri of SDL WorldServer and SDL TMS into the TranslationOrganizer. exe. config. [TS-11473|TS-10789|SRQ-4464]
Other • In some upload and prepare situations, cancelling a publish process from Content Manager failed to unlock the publication in Content Delivery. This has been fixed. [TS-11398|TS-11399|SRQ-5088].
Fixed issues in version 12.0.0
An overview of bug fixes and issues that were addressed in Content Manager 12.0.0, compared to the previous version of the product.
If you are upgrading from a release prior to Content Manager 11.0.0, refer to the release notes for the relevant versions in-between.
For your convenience, bug fixes implemented in Content Manager versions 11.0.3, 11.0.2 and 11.0.1 are included in this document as well, by order of recency.
Fixed Issues in 12.0.0 Web Client
The following issues are fixed in Content Manager 12.0.0 compared to 11.0.0.
60 SDL Knowledge Center Release Notes Release Notes - SDL Knowledge Center 2
Web Client • The change Tracker preview always toggles a version x to y (x > y) to a y to x comparison, while in the Client Tools you have full control over the order. [TS-10447|SRQ-4210] • Microsoft Internet Explorer 11 can suddenly take up 20% CPU resources even though the web client is idle. This was caused by the setInterval function from the menu which was triggered for every menu while Google Chrome and Mozilla FireFox don't do this. [TS-9742] • Rendering a decimal displayed via the Maps folder list view (MasterDisplay. xml) performs a decimal round up. For example a value 7.6 is rendered as 8. [TS-10234|SRQ-3992] • The filename which was generated while downloading content objects from the web client contained + (plus) instead of (space) due to UrlEncoding. The newly suggested filename is TestIm- age2=GUID-17F48625-E148-486E-9186-1B3B9BC11874=1=aa, ab, af, am, ar, as, en=Low.png, while it previously was TestImage2=GUID-17F48625-E148-486E-9186-1B3B9BC11874=1=aa,+ab,+af,+am,+ar,+as,+en=Low. png. [TS-9719|TS-9718|SRQ-3234] • When requesting the file/blob details of an EventMonitor entry, you could end up with Error executing child request for handler 'System.Web.Mvc. HttpHandlerUtil+ServerExecuteHttpHandlerWrapper' caused by ID confusion and a double Byte Order Mark (BOM) encoding. [TS-9138|TS-9163] • Uppercase all field names in StatusTransitionsandInboxesConfiguration. xml to avoid error messages such as The field FMasterType does not exist. [fe:"FMasterType"]. [TS-9177|TS-9167| SRQ-2640] • The Context Builder section Saved contexts has been removed from the standard dialog as it relied on obsolete API functions and card type CTCONTEXT. [TS-9212|TS-9205]
Fixed Issues in 12.0.0 Client Tools
The following issues are fixed in Content Manager 12.0.0 compared to 11.0.0.
Client Tools and XML • When you have multiple accounts, and at startup you get prompted for your credentials, but you Cancel this operation, it resulted in a cosmetic unwanted error Microsoft .Net Framework - Unhandled exception has occurred in a component in your application. [TS-10440] • While in edit mode of a tree node or a list view in the Client Tools - like for example Folder rename - all keyboard short cuts are blocked or don't do what is expected. For example during a folder rename the Del key will remove characters and not ask to delete the folder. [TS-10556] • When doing a Batch Metadata operation, the resulting Update window does not always show the information. For example it could end with a window stating Update Completed with 3 Errors but you had to click the Refresh button to actually see the entries. [TS-9545|SRQ-3233] • Client Tools will no longer allow a protocol handshake using the SSL3 protocol. This change should avoid a vulnerability known as the POODLE attack where it is possible for an attacker to forcefully downgrade the SSL/TLS protocol used by a client/server connection until the peers choose to communicate over SSL3. This allows an attacker to eavesdrop on information exchanged between the parties over SSL connection using SSL3. The attack is identified by CVE-2014-3566. By default the .NET framework runtime (System.Net.ServicePointManager. SecurityProtocol) allows a handshake using protocol SSL3 or TLS (1.0). By configuration we force a handshake among protocols: TLS (1.0), TLS11 (1.1) and TLS12 (1.2). [TS-9114|TS-9428] • Configuration change in file metadataconfig. xml to avoid that the FDESCRIPTION field is
SDL Knowledge Center Release Notes 61 2 Release Notes - SDL Knowledge Center
emptied when creating new versions. The configuration now separates new version by the intro- duction of the Properties_NewVersion_* forms from Check In As or Duplicate operations. [SRQ-2942|TS-9450|TS-9469] • Some list view title fields are cut off and shown as ... in Search results/Repository folder content while they have a proper title available. The most likely cause of this were CR/LF in the metadata field. Those are now normalized for rendering purposes to a single space. [TS-8703|TS-9045] • Browse repository version selection should be cleared if no object is selected in the list view. [SCTS-756|TS-8828] • Check out (In Context Edit) from Publication Manager doesn't refresh the publication's resource libraries for variable inserting. [SRQ-2098|TS-8558|TS-8967] • Additional checks in Client Tools browse repository result in errors and in the folder not being opened, showing warnings such as The conref range “xxx" is invalid!. [SRQ-2404|TS-8790|TS-8938] • The multi value assist, configured on fields such as fall back languages didn't respect the order. The assist on the FallbackLanguageField field is now configured in MetadataConfig. xml to no longer do sorting on its values. [TS-8934|TS-9046] • Inserting a