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 of0disables 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 messageIncorrect credentials or no authorizationwhen really your password was expired. This expiration is controlled through registry entryAuthMaximumPasswordAgeexpressed in days which defaults to no expiration. In the web client you will now receive a more distinct message readingYour 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
AuthExemptAccountListregistry setting negates all successive password expiration rules of other users until the process recycles.AuthExemptAccountListis typically only used by customers that have built a Content Delivery on top of Content Manager. [TS-9442|TS-9432] - Code base
UserContext.Authenticationthrows a Object reference not set to an instance of an object. if the incoming token doesn't contain ournameclaim (http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name) for look up throughUSERfieldFISHEXTERNALID. The generic application error is replaced with aRequiredParameterNotFounderror 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 section that you got an errorAn 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.DeleteandDocumentObj25.Deletecall only using the logical identifier (e.g.GUID-Aas 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: Whentrue, 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: Whentrue, 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
NUMBERwith a value between0and1such as0.6, you receive the errorValue "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 holdsTo be reviewed, the first IWritePlugin implementation changes the value toReviewed, but later because of business logic the initial valueTo be reviewedis restored for saving in the repository. The system then expects a status transition to be in place from original valueTo be reviewedto new valueTo be reviewedwhich is typically not present. So technically theFieldValueStatuswill 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 messageThere is no parameter 'value'., now the message will readThe parameter '...' with value '...' is invalid. The value '...' cannot be converted to an '...' object.. [TS-9299] - The
DocumentObj25.Updatedoesn't purge all<preTranslation>tags. As a result theIWritePluginVALIDATEDTDwill block your update with a message similar toThe element '...' has invalid child element 'preTranslation'...[TS-9681|TS-9677|SRQ-3108] - The
PublicationOutput25.Createcall when creating a branch1.1.1of publication version1did not find the original baseline. [TS-9618|TS-9617|SRQ-3133] - API performance improvements are coming from refactored
Containsoperation on classesUniqueLongListandUniqueStringList, revisited query processing ofInformationSet, nullableTableFieldValues, 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
Thumbnailresolution when linked to the logical Thumbnails preview overview. This resulted inThe 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.SetMetadatacalls and the deprecatedPublicationOutput20.Publishcalls will no longer trigger anExport4Publicationevent to trigger publishing when moving the PublicationOutput from statusPendingtoPending. This avoids the situation where an unintentional double-click in Publication Manager triggers multiple publish operations. [TS-8528|TS-9155] TranslationJob25.UpdateTranslationJob3throws 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)
GenerateInstallPlanwill 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 theDATAPATHandAPPPATHinput 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_CHECKISHADMINdue to slow network connection. The default 60 seconds timeout is now raised to ourStandardCommandTimeOutvalue (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 Validationto optimize getting errors/warning earlier on large databases. [TS-10083] - Several COM+ classes such as
DocumentObj20,PublicationOutput20,Publication20andTranslationMgmthave their transaction requirements reduced fromRequiresTransactiontoUsesTransaction. 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
ProjectConfigurationdisposal. [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_logininfothrows. 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
QueuingEnabledin 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"=trueto 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.TypeInitializationExceptionnearTrisoft.InfoShare.Configurationresulting in empty message and missingORA-number information. A more descriptiveSystemFailureExceptionwill be logged now. [TS-9457|TS-9456] - When running Translation Management on the
Othercontent object type - also known as Template (CTTEMPLATEL) - you could run into errors stating that you are not allowed to attach aUSERobject (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 requiredmemberdefinitionon theCTTEMPLATELcard type so theUSERcard type can be assigned to theFTRANSLATORandFREVIEWERfields. [TS-4657|SRQ-4179] - For Microsoft SQL Server installations, we aligned the order of the
ISH_TOINDEX_1_I1index to match up with the more performing Oracle RDBMs version. IndicesISH_EVENTPROGRESS_I1andISH_EVENTPROGRESS_I2were optimized in order to improve EventMonitor performance. [TS-10290|TS-10291] - The Oracle data layer
CARDINALITYhints at indicating the number of expected results are no longer supported and replaced byOPT_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 likeHA Events,Pooling, etc. The transformed .NET connection string will keep everything except theProvider. [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
ObjectInUsereattempt 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-Memorymessage. Note that the process who eventually logs anOut-Of-Memorymessage 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
ServiceMustClosefunction reading Default principal object cannot be set twice. [TS-8979|TS-8791] - The BackgroundTask plugin
ISHPlugins.cNotificationwhich implementscomIEventHandleris 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 thevaluerepresentation ofCardReference(e.g. "Admin") orLOV(e.g. "en-US"). The functionSetMultiStringFieldValue(string name, PluginsSDK.IshLevel level, List<string> value, PluginsSDK.IshValueType valueType)on PluginContext can now also accept strings by specifyingPluginsSDK.IshValueType.Value. [TS-9487|TS-9518] - Improved logging for
Trisoft.InfoShare.Plugins.Host.PluginFactorywhere our Managed Extensibility Framework (MEF) potentially hides the true error due to aReflectionTypeLoadException. [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
WebActionLayoutRendererwe made sure that the errors that were thrown duringHttpApplication.Initare 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-boxSetTitleplugin 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
@conrefattributes 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 containGUID-XXX#guid-yyy/ELEMENTID, from now on it will containGUID-XXX#GUID-YYY/ELEMENTID[TS-8993|TS-7704|SRQ-1066] - Section
GENERATE.LINK.ENDSin Admin.XMLWriteObjPluginConfig.xml is enriched to now also generate@idattributes on<ul>just like on<ol>. [TS-8707|TS-8995] - Section
ISHSYSHYPERLINKSTOMETADATAin Admin.XMLWriteObjPluginConfig.xml has enhancedExtractXpathexpressions 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
EDTXMLin anIShTemplateobject 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
ISHSTSand 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 (
livecontentrequestretriesdefaults to 1 retry andlivecontentprepareretriesdefaults to no retries) and time between retries (livecontentrequestwaitbetweenretriesandlivecontentpreparewaitbetweenretriesdefault 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 completeEXPORTFORPUBLICATIONevent 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
FPUBINCLUDECOMMENTSwhen 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 likeLiveContentPub-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 inTopicId#AnchorIdbut 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-20005which 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 keyTRISOFT_INFOSHARE_PublishService_UseMinimalRequestedMetadata=truethat 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
RenameOutputFilefunction of the post processing will now also check for target file ending with .xml.PDF when publishing typesISHModule,ISHMasterDoc,ISHLibraryorISHTemplate. [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
ServiceUserwhen using Windows Authentication. So when theServiceUseris configured, he will be used. When theServiceUseris not configured, the system will switch to the currentWindowsIdentity. 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 nullduring 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 translationwere not recovered by TranslationBuilder. [TS-10141] - TranslationOrganizer doesn't allow an additional
@ishvaluetypeas 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. TheReduceLanguageActionis 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 errorwhen 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
XMLCONTENTfield. 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, activateHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Trisoft\Tridk\TridkApp\InfoShareBuilders\CrawlerCatalogMaxCharsXMLCONTENTexpressed in bytes (e.g.1000000) and restart the Crawler service(s). [SRQ-2696|TS-9292|TS-9320|TS-9321] - Log files of
TrisoftSolrLucene,TranslationOrganizer,SynchronizeToLiveContentandFeedSDLLiveContentcontain entries such as13:16:50.8560 Warn NLog.LoggerImpl.Write ...whereNLog.LoggerImpl.Writeshould actually state the class/method that logged the line. We've upgraded from NLog 2.1 to NLog 3.0. [TS-9157] SynchronizeToLiveContentandFeedSDLLiveContentlogging 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 dateandOut of date draftstatus values in theInfoShareStatessection 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 theExpiredstatus definition. [TS-8648]