Documentation Center

Fixed issues in Content Manager version 12.0.0 Web/App/Db server

The following issues are fixed in Content Manager 12.0.0 compared to 11.0.0.

Secure Token Service - Authentication and Authorization

  • Brute-force attacks, also known as exhaustive key search, systematically check all possible key or password combinations until the correct one is found. To protect unauthorized system access through this type of attacks, the default value of the registry key AuthTriesBeforeLockout has been set to 30. A value of 0 disables the locking feature. All components of Content Manager use this registry value at login time. With the default value, after 30 unsuccessful login attempts a user account is locked. Only a system administrator can reset the password of a locked user account. [TS-8909]
  • Logging in on ISHCM ends in error ID3206: A SignInResponse message may only redirect within the current web application: '/InfoShareAuthor' is not allowed. due to a trailing slash (/) misalignment. [TS-10050|TS-10055]
  • When using a web browser to ISHSTS (Content Manager) as your identity provider, the system returned the message Incorrect credentials or no authorization when really your password was expired. This expiration is controlled through registry entry AuthMaximumPasswordAge expressed in days which defaults to no expiration. In the web client you will now receive a more distinct message reading Your password has expired. Please enter a new password or contact your system administrator. [TS-9465|TS-9433]
  • ISHSTS will now always show a Change Password hyperlink that you can use to change your password, even when expired. [TS-9440|TS-9466|SRQ-2882]
  • A successful login with an account part of the AuthExemptAccountList registry setting negates all successive password expiration rules of other users until the process recycles. AuthExemptAccountList is typically only used by customers that have built a Content Delivery on top of Content Manager. [TS-9442|TS-9432]
  • Code base UserContext.Authentication throws a Object reference not set to an instance of an object. if the incoming token doesn't contain our name claim (http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name) for look up through USER field FISHEXTERNALID. The generic application error is replaced with a RequiredParameterNotFound error where we made sure it is explicitly logged as well. [TS-9097|TS-9154]
  • You need an external id (FISHEXTERNALID) entry on a user profile to allow matching with the name credential on an incoming token, typically for external STS systems like ADFS or Windows Authentication enabled ISHSTS. When adding an entry using DBUpgradeTool (DBUT) using option (1) Maintenance (System integrators only) then (8) Append an user's externalid for initial STS logon, the entry was always added with sequence value 1. In other words the tooling didn't keep into account that it was the second, third,... external id on the user profile. DBUT didn't report any error. It is only after logging in, when entering the Settings > Users section that you got an error An unexpected system failure occurred. An entry with the same key already exists. where the code essentially trips over a duplicate sequence identifier. [TS-9604|TS-9591|SRQ-3100]

API

  • Consider the tree structure of objects - typically called the publication - where publications link to maps, maps to topics, topics to libraries and then to images. The Delete function will use this order to delete, as nobody references the publications they will still be deleted. When doing a Delete on a folder in the Client Tools, the Client Tools will recursively Delete all of the complete objects in full by specifying a PublicationOutput25.Delete and DocumentObj25.Delete call only using the logical identifier (e.g. GUID-A as identifier, no version information, etc). To be able to block an expanded object delete we introduce two registry keys which are disabled by default:
    • TRISOFT_INFOSHARE_DocumentObjDelete_DenyExpandedLogicalObjectDelete: When true, it block a delete of a Logical object if there are children such as version and language objects. Note that the Logical object delete is allowed if there are no children.
    • TRISOFT_INFOSHARE_PublicationOutputDelete_DenyExpandedLogicalObjectDelete: When true, it blocks a delete of a Logical object if there are children such as version and language objects. Note that the Logical object delete is allowed if there are no children.

    The blocked action will result in error -25 in the line of: A method call is invalid for the object's current state: Deleting the object including version and language objects is not allowed (TRISOFT_INFOSHARE_DocumentObjDelete_DenyExpandedLogicalObjectDelete). [TS-10087|TS-10096|SRQ-3834]

  • When updating fields of type NUMBER with a value between 0 and 1 such as 0.6, you receive the error Value "0.6" is invalid for the "..." field of object "...". Attempted to divide by zero. [c: ce: ct: f:1014 fe:FTESTNUMBER ft:Number fmin:0 fmax:1] [TS-10209|TS-10210|SRQ-3992]
  • The data layer (Core.FieldValue) will recognize an undo of a field change within one request. Suppose the status field (FSTATUS) of a content object holds To be reviewed, the first IWritePlugin implementation changes the value to Reviewed, but later because of business logic the initial value To be reviewed is restored for saving in the repository. The system then expects a status transition to be in place from original value To be reviewed to new value To be reviewed which is typically not present. So technically the FieldValueStatus will now revert to original as well if you reset the value to the original. [TS-9517]
  • API enumeration conversion, like for example ISHLevel, is more specific when the conversion fails. Before it would return the message There is no parameter 'value'., now the message will read The parameter '...' with value '...' is invalid. The value '...' cannot be converted to an '...' object.. [TS-9299]
  • The DocumentObj25.Update doesn't purge all <preTranslation> tags. As a result the IWritePlugin VALIDATEDTD will block your update with a message similar to The element '...' has invalid child element 'preTranslation'... [TS-9681|TS-9677|SRQ-3108]
  • The PublicationOutput25.Create call when creating a branch 1.1.1 of publication version 1 did not find the original baseline. [TS-9618|TS-9617|SRQ-3133]
  • API performance improvements are coming from refactored Contains operation on classes UniqueLongList and UniqueStringList, revisited query processing of InformationSet, nullable TableFieldValues, enumeration conversion and more. [TS-8889|TS-8792|TS-7451|TS-8794|TS-8459|TS-9048]
  • For a baseline still in use by a publication, the delete failed with: An item with the same key has already been added. This is changed for a message saying that the baseline object is still in use. [TS-8808]
  • You were unable to delete an image configured as Thumbnail resolution when linked to the logical Thumbnails preview overview. This resulted in The object cannot be deleted, because it is still used by one or more objects. Please generate a report or a full-text search to see where it is used.. [TS-8936|TS-9018|SRQ-2405]
  • API calls to submit Unicode information to EventMonitor and BackgroundTask will now make sure that a Byte Order Mark (BOM) is part of the submitted string. [TS-9106|TS-9126]
  • The PublicationOutput25.SetMetadata calls and the deprecated PublicationOutput20.Publish calls will no longer trigger an Export4Publication event to trigger publishing when moving the PublicationOutput from status Pending to Pending. This avoids the situation where an unintentional double-click in Publication Manager triggers multiple publish operations. [TS-8528|TS-9155]
  • TranslationJob25.UpdateTranslationJob3 throws invalid status transition error -134 The object "{object}" cannot be moved to the selected status because it is not allowed by the current workflow. when unchanged status information is provided in metadata. [SRQ-2637|TS-9166|TS-9189]

Installing and Upgrading

  • InstallTool (IT) GenerateInstallPlan will add <copyaction>replace</copyaction> for text file extension .Master. [TS-10550]
  • InstallTool (IT) installplan on 2014/11.0.x copied the plugin DLLs like Trisoft.InfoShare.Plugins.dll into #!#installtool:DATAPATH#!#\AppCore, so when the DATAPATH and APPPATH input parameters are different the plugins are not in the App folders. This was changed to using #!#installtool:APPPATH#!#\AppCore. [TS-10549]
  • DBUpgradeTool (DBUT) on Oracle ends with ORA-01013: user requested cancel of current operation in ISOURCE.DBUT_CHECKISHADMIN due to slow network connection. The default 60 seconds timeout is now raised to our StandardCommandTimeOut value (600 seconds). [TS-9107|SRQ-2587]
  • DBUpgradeTool (DBUT) on Oracle has an optimized FullAnalyze relying on new Oracle code to gather statistics. [TS-9115]
  • DBUpgradeTool (DBUT) scenario file named Trisoft.Setup.DBUpgradeTool.Plan.xml received a new section named Database Validation to optimize getting errors/warning earlier on large databases. [TS-10083]
  • Several COM+ classes such as DocumentObj20, PublicationOutput20, Publication20 and TranslationMgmt have their transaction requirements reduced from RequiresTransaction to UsesTransaction. This avoids database locking problems and contributes to improved performance. [TS-8832|TS-8831]
  • DBUpgradeTool (DBUT) running a Microsoft SQL Server database re-index operation could end with a System.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. after 1 hour. The crindex.sql was adapted and now configured as a <upgradeFile> in the Trisoft.Setup.DBUpgradeTool.Plan.xml giving it theoretically unlimited runtime. [TS-8807]
  • DBUpgradeTool (DBUT) connecting to Microsoft SQL Server using integrated security (Windows account) stops with System.NullReferenceException: Object reference not set to an instance of an object. during ProjectConfiguration disposal. [TS-8946|SRQ-2536]
  • DBUpgradeTool (DBUT) is failing on Microsoft SQL Server when using integrated security (Windows account) and without sysadmin privileges. More precisely when executing CheckMinimalUserRoles.sql which results in Could not obtain information about Windows NT group/user 'DOMAIN\USER', error code 0x6e. (ErrorCode= 15404). The reason is that Microsoft stored procedure xp_logininfo throws. Code was rewritten. [TS-9098|TS-8961]
  • InstallTool (IT) warns about Error while removing private queues: System.InvalidOperationException: Message Queuing has not been installed on this computer. when uninstalling an 11.0.0 version which out-of-the-box doesn't rely anymore on Microsoft Message Queuing (MSMQ) technology. InstallTool will check for presence of parameter QueuingEnabled in installplan.xml before attempting a queue uninstall. [TS-8978|TS-8725]

Database Layer

  • When rebooting an Oracle database server it can cause active client processes on the web/app server to return Establishing a connection to "..." failed after 15000ms with: Connection request timed out [errNr:-1000]. In case client processes - such as our IIS Application Pools, TranslationBuilder, Crawler, BackgroundTask, ... - notice a misbehaving Oracle connection, they will append "Validate Connection"=true to the connection string to force connection validation. When it happens, the logging will show a warning reading in the line of Trisoft.InfoShare.Configuration.Database.DatabaseConfigurationOracle.GenerateConnection Switching to a connection string with 'Validate Connection' enabled to enforce valid connections in the connection pool. Potentially caused by unresponsiveness of the environment/network/database. [TS-9527]
  • In case of missing or incorrectly installed Oracle.DataAccess components, you could end up with a generic System.TypeInitializationException near Trisoft.InfoShare.Configuration resulting in empty message and missing ORA-number information. A more descriptive SystemFailureException will be logged now. [TS-9457|TS-9456]
  • When running Translation Management on the Other content object type - also known as Template (CTTEMPLATEL) - you could run into errors stating that you are not allowed to attach a USER object (card) to the Translator (FTRANSLATOR) or Reviewer (FREVIEWER) fields. The specific error looks like <resource resourceid="InvalidMember" number="-2147220240" classname="ModActionList" method="ValidateActionList" severitylevel="6"><desc>InvalidMember(c: -91919300 p: 7694 f: 708)</desc>.... The fix is to introduce the required memberdefinition on the CTTEMPLATEL card type so the USER card type can be assigned to the FTRANSLATOR and FREVIEWER fields. [TS-4657|SRQ-4179]
  • For Microsoft SQL Server installations, we aligned the order of the ISH_TOINDEX_1_I1 index to match up with the more performing Oracle RDBMs version. Indices ISH_EVENTPROGRESS_I1 and ISH_EVENTPROGRESS_I2 were optimized in order to improve EventMonitor performance. [TS-10290|TS-10291]
  • The Oracle data layer CARDINALITY hints at indicating the number of expected results are no longer supported and replaced by OPT_ESTIMATE. [TS-10175]
  • The Oracle data layer is optimized for the query that marks entries as deleted in the ISH_* tables. [TS-10152]
  • The Oracle data layer received a performance boost when handling larger LONG STRING fields, such as FISHREVISIONLOG, through an optimized change detection check. [TS-10015|TS-10030|TS-10057]
  • The SQL Server database job no longer includes a DBCC CHECKDB command to perform a SQL database integrity check. The task has been removed from the standard InfoShareJob to improve performance on large databases running on SQL Server. [TS-8822]
  • Creation script ISH_CreateTables.sql for new Microsoft SQL Server databases is now updated to be on par with the upgrade scripts. [TS-9273|TS-9477]
  • Oracle Data Access Client (ODAC) was raised from 11.2.0.4 to 12.1.0.1.2. This version offers better transaction handling. For .NET components even less distributed MSDTC-promoted transactions. [TS-8889|TS-8749]
  • DBUpgradeTool (DBUT) running on a large database (around 6 million objects) ended prematurely with the message System.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.. This typically happens during Creating the database tables indexes (crindex.sql). [TS-9777|TS-8807]
  • Oracle connection strings are shared between the COM+ and .NET code base. The incoming COM+ connection string (Provider=OraOLEDB.Oracle.1;Password=isource;User ID=isource;Data Source=ISH.WORLD) was typically converted to .NET (Password=isource;User ID=isource;Data Source=ISH.WORLD), thereby dropping any other parameter name/value combination. From now on the connection string convertor will transform parameters like HA Events, Pooling, etc. The transformed .NET connection string will keep everything except the Provider. [TS-8819|TS-8151|TS-8926]
  • On an Oracle database you could get an error while creating or deleting folders, stating The object is used by another user. The internal retry mechanism will upon an ObjectInUse reattempt the operation outside of the running transaction. [TS-8870|TS-8877]
  • Database Access Layers for EventMonitor, TranslationBuilder and TranslationOrganiser are merged. [TS-4721]

BackgroundTask

  • Our plugin system caused memory blocks holding configuration to remain referenced. At some point so much memory is referenced that the next requester of memory receives the dreaded Out-Of-Memory message. Note that the process who eventually logs an Out-Of-Memory message is not always the cause of the memory consumption. [SRQ-4197|TS-10346]
  • The service lease recovery could fail when having multiple services running with System.InvalidOperationException: Nullable object must have a value. This was caused by the data layer now allowing nullable values. [TS-8935]
  • When requesting the service BackgroundTask.exe or its isolated child process BackgroundTaskIso.exe to stop, a warning message could show during the ServiceMustClose function reading Default principal object cannot be set twice. [TS-8979|TS-8791]
  • The BackgroundTask plugin ISHPlugins.cNotification which implements comIEventHandler is extended to support multi-value user fields as email recipients. The internal communication message XML generated for multi-value user fields did a look-up using a direct XPath expression instead of looping over the potential multiple values of the field. [TS-9608|TS-9607|SRQ-3110]

Plugins

  • The function SetMultiStringFieldValue(string name, PluginsSDK.IshLevel level, List<string> value) on PluginContext is now less strict. It used to only accept strings, now it can also be used for the value representation of CardReference (e.g. "Admin") or LOV (e.g. "en-US"). The function SetMultiStringFieldValue(string name, PluginsSDK.IshLevel level, List<string> value, PluginsSDK.IshValueType valueType) on PluginContext can now also accept strings by specifying PluginsSDK.IshValueType.Value. [TS-9487|TS-9518]
  • Improved logging for Trisoft.InfoShare.Plugins.Host.PluginFactory where our Managed Extensibility Framework (MEF) potentially hides the true error due to a ReflectionTypeLoadException. [TS-9584|TS-9445]
  • Managed Extensibility Framework (MEF) composition entries were added using XML comments in the .config files of BackgroundTask, BackgroundTaskIso, TranslationBuilder, ISHWS and Trisoft.InfoShare.Web. Enabling those entries will allow to identify MEF issues more easily - similar to WCF/WIF entries we already had. [TS-9583|TS-9570]
  • Logging was enhanced, in our WebActionLayoutRenderer we made sure that the errors that were thrown during HttpApplication.Init are no longer suppressed. [TS-9769|TS-9745]
  • All Settings XML configuration files are required to have a version allowing more control on our legacy configuration files in the future. The system will only run if the configuration files have a business code supported version number. If not, you will receive an error in the line of The object "Trisoft.InfoShare.Components.Settings.Status.PublicationOutputStatusConfiguration" contains invalid XML. The version '' differs with the expected version '1.0' which indicates that the system administrator missed some upgrade steps. [TS-9156|TS-9124]
  • To prevent that the title in the XML content is overwritten with the metadata title during BatchImport or Content Import, we added an extra <?ishreplacetitle?> processing instruction check to the out-of-the-box SetTitle plugin in Admin.XMLWriteObjPluginConfig.xml. This does require that your Editor Templates in your repository have the required processing instruction. The altered templates are provided on \Websites\Author\EnterViaUI\System\Editor template. [TS-8996|TS-8793|SRQ-2266]
  • Capitalization of @conref attributes was not consistent, as it only uppercased the first and last part. Now it also uppercases the middle part. Before, an XML after plugins would contain GUID-XXX#guid-yyy/ELEMENTID, from now on it will contain GUID-XXX#GUID-YYY/ELEMENTID [TS-8993|TS-7704|SRQ-1066]
  • Section GENERATE.LINK.ENDS in Admin.XMLWriteObjPluginConfig.xml is enriched to now also generate @id attributes on <ul> just like on <ol>. [TS-8707|TS-8995]
  • Section ISHSYSHYPERLINKSTOMETADATA in Admin.XMLWriteObjPluginConfig.xml has enhanced ExtractXpath expressions so <topicref> and <navref> in a <reltable> are handled as hyperlinks. This improves PublishService link validation. [TS-9133|TS-9123]
  • When submitting a file with electronic document type (EDT) of type EDTXML in an IShTemplate object type and having no IWrite plugins configured, a message A method call is invalid for the object's current state: Object stream is empty after plugin execution. is displayed. [TS-9168|TS-9165]

Preview

  • Restructured the preview files to make it easier to integrate custom extensions like MathML. [TS-7855|SRQ-1138]

Security Enhancements

  • Web applications ISHSTS and ISHCM XSS issues are avoided through .config changes near <httpProtocol>. [TS-9615|TS-9564]
  • The file SearchViaFindResultNew.asp was adapted to fix XSS issue. [TS-9511|TS-9614]
  • The web client pages delivered in Classic ASP were reviewed for various security vulnerabilities like cross-site-scripting, proper encoding of HTML, JavaScript and URLs. [TS-8637|TS-9287|TS-9362|TS-9286|TS-9294|TS-9295|TS-9296|TS-9297|TS-9358|TS-9359|TS-9360|TS-9361|TS-9363]
  • A cross Site Scripting (XSS) vulnerability was found on the login page of ISHSTS. The problem is fixed in SignIn.cshtml. [TS-9183|TS-9174]

PublishService

  • ChangeTracker comparisons of single files could cause a full publication compare to fail repeatedly. In case of a failing file comparison because of XML well-formed-ness, the PublishService will first mark the topic selected in the highest version of the publication as completely new. In case even that fails then the system will mark the topic as being deleted in the highest version of the publication. So the system will no longer restart the complete publication export. There will be warning entries in EventMonitor. [TS-10323]
  • 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. 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]
  • PublishService can handle various event types, not only EXPORTFORPUBLICATION. [TS-9305]
  • We adapted \ASP\XSL\EventMonitorMenuBar.xml to group some expected new publish event types under the Publish grouping. [TS-9305]
  • Publish to Content Delivery now normalizes the incoming boolean flag FPUBINCLUDECOMMENTS when publishing. This should allow Display draft comments in publication. [TS-8303|TS-9475]
  • Publish to Content Delivery for a publication with a branched version number (e.g. 1.4.1) used to result in a Content Delivery identifier like LiveContentPub-v1.4.1. On 11.0.0 and 11.0.1 more strict character filtering was done to avoid Content Delivery encoding problems, therefore publishing resulted in an identifier without dots like LiveContentPub-v141. We restored the earlier branch version number behavior with dots. To avoid legacy conversion problems where you potentially loose comments, the system will re-use existing Content Delivery publications created with both identifier system by verifying its metadata. The following characters will be filtered out: / (slash), \ (backslash), : (colon), * (star), ? (question mark), ' (single quote), < (less than), > (greater than), | (pipe), & (ampersand), + (plus), # (hash), % (percent) and " (double quote). [TS-9484|TS-9452]
  • Publish post processing received a fix for better local <xref> handling in file ISHPublUtil.vbs. An <xref> with landing point inside the same file will no longer result in TopicId#AnchorId but only #AchorId. [TS-9282|TS-9478|SRQ-2709]
  • Publish post processing received a fix in file FeedSDLLiveContent.ps1 to stop potential infinite looping when publishing a single topic to Content Delivery. On most environments Content Delivery is not set up to handle single topic publish requests, which resulted in a configuration error like Remote::GetPublicationMetadata -> gave error: Exception calling "GetMetadata" with "2" argument(s): "The parameter lngRef with value "0" is invalid. Zero is not allowed as valid value." at line 538 position 5. With this fix, such a request should now end with error number -20005 which holds the message Publishing command raised error: Configuration error, missing publication information. Remember that content object publishing is not configured for this output format. [TS-9486|TS-9476]
  • PublishService with Keep default attributes enabled results in Attribute 'ishlabelxpath' has a value which does not match the fixed value defined in the DTD/Schema. The introduction of Keep default attributes in 10.0.1 allows to only load XML objects once and merges the DTD default attributes such as @class, @ishtype, @ishlabelxpath, etc. Therefore expensive load times can be avoided. This issue is that XML engine - .NET's System.Xml and COM+ MS XML - are handling a multi-line default attribute as different. The DTDs are adjusted to have single-line default attributes. [TS-8917]
  • PublishService OASIS DITA configuration was corrected to match the IWrite* plugins configuration. The corrections in XMLBackgroundTaskConfiguration.xml will allow PublishService to correctly generate a link report which is essential to decide if a publication becomes a Release Candidate or not. [TS-9112|TS-8897|SRQ-2175]
  • If you configured many <ishfield> fields for PublishService exporting in ReqMetaDataExportForPublication.xml, you could end up with error "The length of the SelectPart is too long (max length = 15000)". PublishService relies on API 2.0 calls for its metadata retrieval; this means that it relies on TriDK's big query architecture. A new code path was added which needs to be activated through a registry key TRISOFT_INFOSHARE_PublishService_UseMinimalRequestedMetadata=true that will retrieve the requested metadata fields over API 2.5 which uses a different architecture to retrieve many fields. [SRQ-2581|TS-9137|TS-9130]
  • The post processing of a single-topic publish often resulted in ERR ISHPublUtil::RenameOutputFile -> File [C:\InfoShare\Data...\PublishingService\Data\DataExports\GUID-...\1\en\out\GUID-....PDF] not found. The RenameOutputFile function of the post processing will now also check for target file ending with .xml.PDF when publishing types ISHModule, ISHMasterDoc, ISHLibrary or ISHTemplate. [TS-8994|TS-8089]
  • ISHLanguageLabelResourceFile.xml contains better verified translations. [SRQ-1128|TS-7784]
  • Publish with Differences with version option fails with reason End tag 'p' does not match the start tag 'li'. [SRQ-2583|TS-9176|TS-9175|TS-9187]

Translation Organizer

  • Removed TranslationBuilder dependency to ServiceUser when using Windows Authentication. So when the ServiceUser is configured, he will be used. When the ServiceUser is not configured, the system will switch to the current WindowsIdentity. As a reminder the StartConsole.bat shows an extra reminder that a Run as might be required. [TS-10482]
  • TranslationOrganizer service stops with unexpected service termination following error Value cannot be null during TemplateSyncronzationStep fatal error lookup. [TS-10279|TS-10282|SRQ-4049]
  • The TranslationJob entity relies on a lease concept. If a service like TranslationBuilder or TranslationOrganizer becomes unavailable for some reason, the system should recover all expired leases. TranslationJobs in status in translation were not recovered by TranslationBuilder. [TS-10141]
  • TranslationOrganizer doesn't allow an additional @ishvaluetype as requested metadata resulting in errors such as The entry 'FTRANSLATOR lng' has already been added. A configuration holding two entries like <ishfield name="FTRANSLATOR" level="lng" ishvaluetype="value" /> and <ishfield name="FTRANSLATOR" level="lng" ishvaluetype="element" /> is now allowed. [TS-9878|SRQ-3510]
  • Translation Organizer - Translated content (EDTXML) retrieved from WorldServer is assumed to be encoded in UTF-16, LittleEndian. In some cases content retrieved from WorldServer is encoded in UTF-16, BigEndian. In this case the code is not able to process it correctly and is not removing the processing instructions, that contains the source language. When submitting the content to Content Manager, it checks the processing instruction and rejects the content, because the language is still indicating that it is the source. This fix contains an adaptation of the TranslationOrganizer Retrieving step to detect the encoding (UTF-16 LittleEndian or UTF-16 BigEndian) and handle it correctly. [TS-9793|TS-9794|SRQ-3355]
  • The code that parses the language codes in a TranslationJob workflow does not work properly for languages containing an underscore (e.g. zh_CN). As a result, the selected language with underscore (_) was always considered as not being selected, although the user did select it. [TS-10081|TS-10082|SRQ-3746]

Other

  • Mailer.exe does not write errors to console anymore because of missing NLog.config and assembly files. [TS-10587|SRQ-4308]
  • Several API calls on a repository holding more than 10 million card IDs, could potentially fail with An unexpected system failure occurred. An entry with the same key already exists.. This issue was introduced in 11.0.1. [TS-9660|TS-9646|TS-9605]
  • When there are 2 or more Crawlers running on the same database for 2 different SolrLucene collections, reducing (~deleting) a language from an illustration with language applicability will result in ObjectStillInUseException. The ReduceLanguageAction is no longer a fatal action for the Crawler service. [TS-10075|TS-10076|SRQ-3788]
  • Complete dllhost.exe deadlock occasionally occurs on systems that connect to Oracle databases. In practice it means that the 'Trisoft-InfoShare-Author' COM+ Server Application has to be killed to resolve the deadlock. After analysis the deadlock was traced down to the usage of the wsock32.dll library in the SDL and Oracle code base. In the SDL code base we removed the whole wsock32.dll dependency to avoid a DLL loading deadlock problem. We contacted Oracle support to indicate that their Oracle Client libraries are also affected. [TS-9603|TS-9601|SRQ-3084|Oracle--SR3-10429198871]
  • On Microsoft Windows 2012R2 system (then running Internet Information Services (IIS) 8.5) you could run into the error cannot load create-toolbar.xml, internal server error when launching Quality Assistant in Create. Resolved by explicitly calling a <remove fileExtension=".json" /> on the <staticContent> element of \ASP\Editors\Xopus\SDL-Enrich-Plugin\web.config. [TS-9807|BL-4266]
  • SolrLucene running in either 32-bit or 64-bit mode runs out of resources (memory, transaction timeout, ...) when the Crawler service passes an XML file of size 5Mb for XML-aware indexing. Out-of-the-box SolrLucene is configured to parse any incoming XML using SolrLucene field "XMLCONTENT" for XML-aware queries. To improve stability and performance, the Crawler service received an optional setting that will make the service no longer pass XML files over a certain size to the XMLCONTENT field. You will still have metadata searching, also the text of the XML file will be searchable - you will only no longer be able to query using the XML-aware syntax (e.g. -<indexterm>). To enable the skipping of XML having a size greater than 1000000 bytes, activate HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Trisoft\Tridk\TridkApp\InfoShareBuilders\CrawlerCatalogMaxCharsXMLCONTENT expressed in bytes (e.g. 1000000) and restart the Crawler service(s). [SRQ-2696|TS-9292|TS-9320|TS-9321]
  • Log files of TrisoftSolrLucene, TranslationOrganizer, SynchronizeToLiveContent and FeedSDLLiveContent contain entries such as 13:16:50.8560 Warn NLog.LoggerImpl.Write ... where NLog.LoggerImpl.Write should actually state the class/method that logged the line. We've upgraded from NLog 2.1 to NLog 3.0. [TS-9157]
  • SynchronizeToLiveContent and FeedSDLLiveContent logging received extra information like process ID and thread ID to allow correlation/merging of the various log files. [TS-6759|TS-9150|TS-9151]
  • Status configuration update: the Out of date and Out of date draft status values in the InfoShareStates section of the Admin.XMLStatusConfiguration.xml file have been removed. Publications cannot be assigned an out-of-date status. Obsolete publications, as opposed to released ones, can take the Expired status definition. [TS-8648]