Documents5
Documents5 API Documentation
Additional websites:
- Otris Portal
- Easy Software Extranet
Documents5 changelog:
This Change log includes all error corrections and new functionalities of the following DOCUMENTS build versions: * 2101 5.0e HF1 (04/2019) * 2100 5.0e (02/2019) * 2066 5.0d HF2 (11/2018) * 2065 5.0d HF1 (08/2018) * 2063 5.0d (05/2018) * 2050 (intermediate version, not an offical HF) (04/2018) * 2049 (intermediate version, not an offical HF) (04/2018) * 2048 5.0c HF2 (02/2018) * 2046 (intermediate version, not an offical HF) (12/2017) * 2045 5.0c HF1 (11/2017) * 2041 (intermediate version, not an offical HF) (09/2017) * 2040 5.0c (08/2017) * 2034 5.0b HF2 (04/2017) * 2032 5.0b HF1 (04/2017) * 2033 (intermediate version, not an offical HF) (03/2017) * 2032 5.0b HF1 (03/2017) * 2030 5.0b (12/2016) * 2023 5.0a HF1 (09/2016) * 2022 5.0a (08/2016) * 2020 5.0a beta (not an HF) (06/2016) * 2015 (intermediate version, not an offical HF) (05/2016) * 2014 5.0 HF2 (04/2016) * 2013 5.0 HF1 (11/2015) Important notes since Build 2030 ================================ For the MS SQL Server and ORACLE databases, the Documents server customizes the database schema at startup. You need to perform this successfully one time. New Stored Procedures are created in the database. For this purpose, the user context that is used by the Documents server to log in to the database (Windows Authentication or database authentication) must have enough permissions. MS-SQL Server ------------- * Database role: db_ddladmin * Database role: db_executor (If the role db_executor does not exist, please create it in the documents5 schema with: CREATE ROLE db_executor GRANT EXECUTE TO db_executor ) ORACLE ------ * ORACLE permission: CREATE PROCEDURE If loading the Stored Procedures fails, the Documents server will write a corresponding error message in the server console or in the DocumentsServer_xxxx.log file and terminate after five minutes. After successful load, the "Stored procedures successfully imported" message is logged. Important notes to Build 2040 ============================= Updating the Tomcat to version 8.5 requires adjustments from the old server.xml to the new server.xml. Please notice that the configuration of the sslProtocol has changed. Important note to Build 2048 ============================ Documents using MySQL/MariaDB as a database: Some indices in the MySQL schema have changed from Documents 5.0b to Documents 5.0c. When initially installing Documents 5.0b (and newer), this is implicitly taken into consideration when loading the DB schema. When loading a patch or hotfix, the schema did not automatically migrate. The current version now checks the schema and, if necessary, customizes it. For this purpose, the Documents server creates new indices when initially starting the server unless they already exist. This may take some time. The server startup process may not be interrupted. Important note to Build 2066 ============================ Enhanced error handling with fatal database errors for the MS SQL Server and ORACLE databases: The Documents server now evaluates the error codes of the listed databases. With fatal errors (e.g. Tablespace is full, database can no longer expand because the storage medium is full) the server terminates with a provoked crash because the server might not continue working without loss of data. Prior to the crash, a lock file (serverlocked.txt) is written in the %PROGRAMDATA%\partnernet log. The Documents server independently terminates after each startup attempt as long as this lock file exists. The corresponding notes can be viewed in the Documents server log file. The last fatal database error message is stored in the file. The lock file can be deleted after troubleshooting issues in the database system and the Documents server can be restarted. The following database fields are currently considered fatal: MS SQL server: 566, 802, 808, 829, 945, 1101, 1105, 1478, 1814, 3257, 3958, 3967, 5128, 7151, 7622, 9002, 9901, 9902, 17258 ORACLE: 1536, 1647, 1650, 1651, 1652, 1653, 1654, 1655, 1658, 1659, 1680, 1683, 1688, 1691, 1692 Important note to Build 2100 ============================ On the server side, Documents requires a JAVA runtime. The Java Runtime Environment of Oracle is only liable to pay costs due to a license change from version 11 on for commercial use. Free support for Java version 8 expires in 2019. To provide a JAVA runtime, the following possibilities are available. * to remain on the last "free" Oracle Java 8 version without future Security updates (not recommended!) * to license the current Oracle Java 8 version (LTS) and receives at least March 2022 Updates * to switch to a freely available OpenJdk version 8 / version 11 (e.g. https://adoptopenjdk.net/) and continues to receive updates Starting with Documents version 5.0e, Java version 8 and Java version 11 (Oracle and OpenJdk) are supported. Client (Browser): Java as applet in the browser is currently only supported by IE11. and from version Java 11 is also finished for IE11. In the HTML5 client of Documents 5, parts of these applet functions (e.g. local editing) are now realized by an ActiveX component (IE11) or by WebExtensions (Chrome, Firefox). The Java-based Tiff viewer known from Documents 4 or the scan applet are no longer supported. Important note to Build 2101 ================================ Owing to an error in version 2100 when saving number values in the Gentable (Web client), the numeric values were not saved in the format defined in the Manager, but using "." as a decimal separator. From Build 2101, the affected Documents files are implicitly corrected when editing/saving them in the Web client. ---------- Build 2101 ---------- Important bugfixes in 2101 -------------------------- * Simple Archive client versions: The server-side wizard scripts for creating new stores were not signed, and could not be executed without a scripting license. Signed scripts now come with the product. * Portal Scripting: Document.moveToRegister() was possible even though a document of the same name existed on the tab. Now an error message appears. * Portal Scripting: In combination with HandleBlobWithAlreadyUsedNameAsNew=0, Register.uploadDocument() resulted in an error message if a document with the same name already existed on the tab. * Portal Scripting: With Documents files in edit mode, "Register.getFiles()" determined only newly created links for Documents files link tabs. Documents files already linked prior to the current editing stage were missing from the returned FileResultset. * Portal Scripting: context.returnType = "multipleAction" will now be ignored if context.errorMessage ! = "". * Portal Scripting: In DocFile.getCopy() the Read, Create, and Write rights are validated. To turn off validation, you have to set the CheckRightInGetCopy=0 property in Documents settings. * The gadgets in the margin column of file view are now also updated when calling the updateAllViews and updateFileView (client SDK) methods. * Gadget script lists in the dialog were truncated when adding buttons to the dialog using wrapper-addContainerButton(). * A user could not be logged out of SOAP if they had logged in using an alias. This bug has been fixed. * Recalling Documents files from delegates: In rare cases, a server crash could occur if Documents files were recalled from delegates. * If you had displayed a link tab in the monitor and this was changed by a script when saving, then monitor display was not refreshed after saving. * In case of F5 and switching languages, AutoLogout (autologout=true property) is no longer be performed via the dialog for switching languages. * In case of sending en e-mail message via an e-mail box, AutoLogout is no longer performed. * Documents could not be opened from document preview in the Documents file margin if DoubleView was open. * When turning on DoubleView, file view might be collapsed again. * In MonoView, the workflow navigation "current folder" did not work when the Documents file was in edit mode. * When you had only fields and a document tab for a file type, and "Maximum number of tabs"=0 was set, a file cover appeared when displaying the Documents file, but the corresponding tab was missing on the right of the tab display. When switching to the added tab, you could no longer switch to the file cover. * In some special cases, hit highlighting on the document tab did not work immediately. * Highlighting search hits did not work correctly in history fields. * The search box is no automatically focused when opening a Tabledata from Gentable. * Tabledata: Double-clicking resulted in executing the code in the detail.jsp file twice. * After you edited a Gentable field while displaying a document, and then scrolled to the next document, the previous input of the Gentable field was lost. * When saving NUMBER fields in the Gentable, the format under "Documents -> Settings -> Locale/format: Format settings" was not taken into consideration. * When closing a Tabledata that was opened from a Gentable, the Gentable is now focused again in such a manner that you can jump to other fields using Tab. * After you set saveAll=true and storeFormat=json in a Gentable definition file, an error occurred when a field was removed from the definition file and you then tried to edit an existing process, and save it again. * After you displayed a hit list as Compact view, in specific circumstances Documents files could no longer be represented when clicking an entry in the hit list. * Error messages of a workflow action are now also displayed correctly in the pop-up view of a Documents file. * Firefox: The values of DATE and TIMESTAMP fields are now also selectable in read mode. * Subsequent loading of Documents files in the multi-reference tab, field, and in the Add dialog now works. * Documents file link tabs partially allowed you to link Documents files multiple times, so the same link could be found multiple times in the database. This is now precluded for new links. To delete a link from legacy data, you currently have to repeat the common procedures (edit Documents file, remove link, save Documents file) according to the number of links. A maintenance operation may be able to remove the multiple entries at a later time. * When generating a personal subfolder from the Web, the settings of the parent folder's actions are included. * When right-clicking Documents files in the folder, the context menu could no longer be displayed if user-defined actions via "contextmenu"=true had a space in their identifier. * Special characters in the 'Operator' field now no longer result in that login can no longer be performed. * EBIS: When searching using the query of a Boolean field, the system only searched correctly for the value 0/false. When searching for 1/true, a check was erroneously also made for 0/false unless the effective search method setting for that query was "1" (exact search). * When displaying sublists, you might no longer be able to open entries if the parent list switched to a different view (compact or normal view). * PDF printing / showBlobAsPdf for HTML files did not support file names without extension. The html\html2pdf.bat converter has been extended accordingly. * EBIS connection: In conjunction with the "ShowHitTemplate" property, the Server could crash if you changed hit lists after advanced search. * Archive server configuration using SSL: The Documents server could crash when terminating if Archive servers were addressed via HTTPS (EAS/EBIS). * Typing errors in the documents.ini file: $coverFontFamiliy ArialUni must be $coverFontFamily ArialUni * EDA: Leading zeros were removed for values when the lowerCaseKeywordAnalzyer was used. * EDA: eas-bulkupdate could not retrieve the file for performing the update. Extensions to 2101: ------------------- * Portal Scripting: WorkflowStep.setNewExecutiveGroup() and WorkflowStep.setNewExecutiveUser() enable replacing the executing group (access profile) or the user in a workflow step regardless of which type the current executor is. * Document templates and DocFile.addDocumentFromFileSystem() for docx files: AutoTexts are now replaced via a more specific parser. When problems with this occur, you can switch back to the old parser via the UseOldDocxAutoTextParser=1 property in the Documents settings. * Documents file link tab: The countLinkFiles property is now also supported for this tab type. (Warning: performance-heavy) * File link: AutoComplete in Advanced Search now works. * File link: Searching in the Add dialog of Advanced Search now works. * File link: Unless a hit list is specified, the 'reference' view now only displays the file title. * Documents file link: The 'hitlistForSelection' property for the tab allows the use of hit lists in the Add dialog. * After sending an e-mail message via the "Send e-mail" dialog, the Documents file is now updated. * The "ignoreEmptyMonitor"=true property now allows you to turn off the monitor globally or for the file type in the bottom area of the Documents file if it does not contain any entries. * If you set the autoOpenDocMode property for a file type to the value external, a pop-up with the first document will automatically open when displaying a file of this type. * TableData: Support for MultiSelect. For detailed information, see HowTo. * Tooltips with action buttons can now be localized (de:..;en:...). * Tooltips now also work on checkbox fields. * The Visible=0 property for the file type tab can be used to hide a tab from the Web client. This property always applies to all Documents files of a file type. * If a Documents file is in workflow, attachments can no longer be edited by users other than the locking one. * Workflow: The Send signal E-mail lets you set via the IgnoreErrors=true property that the workflow continues and ignores this step with an invalid mail recipient. * The Archive client now allows searching hit lists. * Search: As with the classic EE.x connection, direct links to the archived attachments can be displayed for EBIS archives now. These links do not work in temporary archive files generated prior to the update. If deleting temporary archived files on server startup has been disabled, this should be performed once manually. * EDA: Extension to the eas-export tool v1.1.0: * Export will not be executed when the --batch-size limit is reached. * New --no-stop-limit option to overwrite the --batch-size limit. * Search queries for export can be specified in a file via the new --query-file option. * New structure of the export folder to avoid problems with the length restriction for file paths in Windows. * Extended error codes for improved error handling. See also eas/doc/eas-tools.pdf * EDA: The number of search hits is shown in the EAS Manager. The number of options for the maximum number of search hits have been increased. * EDA: Upgrade to Sqlite 3.27.2 * EDA: Upgrade to Apache Tika 1.20 (Linux only) ---------- Build 2100 ---------- Important bugfixes in 2100: --------------------------- * If the "documents.ini" file contained encrypted entries, the server crashed upon startup (error in version 2066). * A concurrency problem while accessing the repository was fixed. This bug could cause the server to crash. * When searching Documents files via the Oracle database, Documents produced SQL errors and an empty search result when the system filtered for a string field and at the same time sorted by the same field. * In version 2066, error messages were incorrectly written in the DocumentsServer.log: Fatal error in EasyXMLClient... This has been corrected. * When changing a file type via a custom action, the file cover label of the file cover is now also directly refreshed. * When logging in via Quickview, the correct archive instance is now also applied. * When enlarging the exterior workspace areas, the opposite exterior area is also reduced with a minimum width of the center area. * When clicking a folder in the navibar, the sort order of the columns was no longer restored. * In specific cases, the scroll position was restored incorrectly when starting to edit Documents files. * In some cases, the action drop-down list for folders exceeded the edge of the screen if file viewer was collapsed. * When clicking a document in the folder with "StaticFolderWithBlobInfo" turned on, the index of file navigation on top right was not displayed. * When using the search within a tree structure, the subnodes of the search hits are now also displayed. * In IE, no "change" exits were executed for auto-complete fields. This has now been fixed. * When opening AutoComplete in a field tab and then scrolling the tab, the open AutoComplete remained in the UI. * AutoComplete now also works for fields with special characters in their names. * When using a field with gadget user exit and the enabled "Refresh when event occurs" checkbox, the Documents file will now be synchronized prior to calling the gadget. * When selecting the send step type "Archive" or "Folder", the "Apply" button was disabled and could only be clicked after switching the folder/archive. * In a dialog, e.g. the Send dialog, you could execute shortcuts which, for example, caused execution of a CustomAction for the Documents file, or the Documents file was set to edit mode. This has now been fixed. * Double-clicking the "Create new Documents file" dialog now also starts a possibly existing workflow. * In certain circumstances, "For overview" did not work correctly in the workflow. * Operating enumeration fields via the Num pad did not work. This has now been fixed. * In the selection list field, the first entry starting with Alt was selected by hitting the Alt key. This has now been fixed, so Alt no longer impacts selecting the entries. * Parts of the input values of a double selection list were truncated when entered in ["n1","n2"] format and containing a colon. This has now been fixed. * Document preview now also shows the correct number of documents after deleting documents. * Document preview in the file tab bar is now centered. * The clipboard can now no longer be opened in archive files. * When you set "Max amount registers" ("Maximum number of tabs") for the file type, the first tab might then open automatically when opening the tab selection drop-down list. * In the Web client, the users could customize personal folders in the user settings which were defined as "not released" or invisible. These folders are now no longer displayed. * When you generated a summary row using "registerGridColumnAggregator", that row was not updated when editing cells. * When editing a field with a selected Gentable row and then jumping to another field, the selection of the row was lost. * When you set lastRowEditable=true and the first visible column in the Gentable showed editable=false, then the focus for creating a new row did not jump into the first row even though in this case it is editable. * With GentableConditions, the autotext plus accessprofile version is now supported. * The "STATICTEXT" field type was displayed multiline in Gentable even though the input is only single-line. * When creating new Gentable rows with existing columns using "group"=true, the selection of selected rows could shift. * Focus behavior when using the tab in the Gentable was overhauled. Prior to this, for example, a STATICTEXT field might not be jumped with the tab of a writable field in that field, and the current location of the focus was no longer visible. * The SDK function "documents.sdk.gentable.grid.GentableGridModel.addRow" did not work correctly when you passed a JSON with genuine Javascript "number" or "date" for the Gentable field types "NUMBER" and "DATE2". * PortalScripting: SystemUser.hasAccessProfile() returned the wrong result if the SystemUser was an editor newly added to/removed from the DocumentsManager for/from the queried AccessProfile. * The custom actions for Documents files are now hidden if the Documents files are located in the Recycle Bin. The OnDeletedFileAction=1 property allows you to show an action again for deleted Documents files. Actions with OnDeletedFileAction=1 are not displayed for active Documents files. * In the Firefox/Chrome extension for local file editing, automatic creation of a new work directory did not work with all drives. * When you selected rows multiple times in the folder using Shift + click, and then executed a custom action as a script, rows partially existed multiple times with context.selectedFiles. * PDF.js: An error message irrelevant to use in Documents was disabled. * Documents Manager: Uniqueness of the name is checked when creating a file type. This check is now case-insensitive. * Documents Manager: After some attributes (e.g. access profiles in the list of all user accounts) could no longer be filtered since version 5.0d. This has now been fixed. * Property system: Cross-references of a property entry in the global properties table through "<<=GlobalPropertyName" have more often than not caused the server to crash since version 5.0c. Only cross-references within a user account (from top to bottom properties tab in the DocumentsManager) were still resolved correctly. Read access to global properties with attribute notation "$CP.PropertyName" could also cause a crash. * Mail templates for the file type: The default sender was not overwritten with mail templates for "New file in inbox". * File search: The special setting $DocSearchDBTimeout for the MS SQL server was no longer working due to switching to bound parameters; it has now been re-enabled. * After deleting a Documents file via a PortalScript, you can navigate to the deleted Documents file via the file history. A view opens which refers to the non-existence of the Documents file. This view did not provide an option to return to the previous Documents files. This option has now been created. Moreover, the non-existent Document files is removed from the history after initially opening it. * Folder view: After using the search field, the filtered list, not the entire folder, is now exported, by default, with the "XML export (all)" and "CSV export (all)". To achieve the old behavior, you can enter a property value named "FilteredFolderExport=0" for the folder, or in the Documents settings. * Archiving via monitor: If archiving the monitor is defined for the file type and the Documents file was not in the workflow, a "blank" file named Monitor.html/pdf was previously created (the document contained only the column headings). Now a monitor document is no longer created for Documents files without workflow. If you want to continue using the previous behavior, you can set this via Documents settings property ArchiveMonitorOnlyWithContent=0. * When connecting multiple archive servers with the connection pool turned on (default for EDA and EBIS), requests were sometimes sent to the wrong server (host address + port). The error occurred when all connections to the target server that already existed were in use and the first (oldest) connection to the next server on the list was accidentally vacant. In case of the separate stores of an individual server this error was not critical. * EBIS connection: Through a hidden error, file class protection (even GACL) no longer worked correctly with EE.x 6.2. Hits in the full text search field were always listed completely regardless of file type and permission. Extensions to 2100: ---------------------- * Support JDK/JRE version 11 * Documents Manager: Improved design & layout The Manager has a new layout and color design: The following three documents.ini properties adjust the design: $DMSkin n n=0,2,3 3 = Modern Design (Default), 0 = Classic $DMSkinColor1 r,g,b rgb ~ {0-255} 76,130,184 (Default) Hightlight-Color $DMSkinColor2 r,g,b rgb ~ {0-255} 102,102,102 (Default) Basis-Color * Documents Manager: Improved design & layout The documents.ini property $DMSkin 0 switches back to the previous design * The Apache Struts2 Web app framework was removed from the application. * jQuery was updated to version 2.2.4. jQuery UI was updated to version 1.12. * PDFjs: Update to version 1.10.110 * Full text indexing: Update from Apache Tika to version 1.19.1 (JAVA 11 compatible). * New PDF generator for generating monitor.pdf and status.pdf: If the ArchiveMonitorAsPdf=1 or ArchiveStatusAsPdf=1 property is set for the file type to generate PDF files instead of HTML files during archiving, or the DocFile.createMonitorFile() or DocFile.createStatusFile() method is called, a new PDF generator will now be used. The PDFs were previously generated from an XHTML + XSLT transformation via FO generator. The PDFs are now directly generated via Javascript. This is significantly faster. The generated PDFs vary from the previous PDFs in terms of layout. If for this reason you want to use the previous PDF generation (FOP), this can be enforced via the ArchiveStatusAsPdfUseFop=1 or ArchiveMonitorAsPdfUseFop=1 properties. * Used for gadgets, the two JavaScript libraries FullCalendar (new version 3.10.0) and chart.js (new version: 2.7.3) were updated. An older version can be reverted to via the global property "clientLibConfiguration", when needed. * The web.xml file was extended with parameters for configuring the connection pool (analog D4). The following new parameters are available: ConnectionPoolMinSize, ConnectionPoolMaxSize, ConnectionPoolDelay, ConnectionPoolMaxWaiting * New security filter in the web.xml file can be commented in to set the X-Frame options header. For more details, see: https://tomcat.apache.org/tomcat-8.5-doc/config/filter.html * Constraints were added which limit the supported HTTP methods. These can be configured in the web.xml file. * No system information or stacktrace was output on the error page when Documents did not launch in Developer mode. * With custom actions for the folder, you can now set the contextmenu=true property in order to display them when right-clicking Documents files on the context menu. * With custom action while searching or with the document tab, you can now set the contextmenu=true property, so that the actions are displayed when right-clicking Documents files on the context menu. * Advanced search: Special characters in the technical name of a field are now no longer coded, so these can also be used by UserExits/Autocomplete. Date and timestamp fields no longer have a $AB/$AC (from/to) prefix, but the suffix -0/-1 (from/to). * The "Update" button for folders and hit lists now no longer disappears from MagicButton when resizing. * New Documents files in the Inbox are now also displayed in bold in the dashboard tile. * Security in the ActiveX extension for editing data files locally (for Internet Explorer) has been increased. When you have uploaded a Documents file to a directly executable program file (e.g. .com, .exe) as an attachment, it will now no longer be locally executed via the "Edit" action. * Check-in/check-out can now also be used in Internet Explorer via the ActiveX components. * The expansion state of the file monitor is now saved for the duration of a session. * The global property "addDoubleViewButton"=true now allows you to go to a double view mode via a button with the file actions. The global and/or file property "autoOpenDoubleView"=true allows you to automatically open Documents files using this view. * The "useSubSelectMenu" property now allows summarizing entries on the action selection list of Documents files and folders, using a separation icon. By hovering over a summarizing entry, the associated entries are then displayed at second level of the selection list. The separator can be set to any string, or it is set to the "|" character when enabling the property via the value "true" or "1". It is always separated only with the first occurrence of the separator. By default, this property is disabled. * The Documents settings property "allowResetPassword=true" enables a "Forget password" link in the login mask. This link can be used to send the user an e-mail message containing the reset URL. This functionality only exists when Documents performs password management (i.e. not with LDAP connectivity or EASYWARE Authentication). The Documents settings property ResetPassordLinkLifetime=n (n in hours) allows defining the lifetime of the reset URL(Default: 24h). * The "registerBarDropzoneTop"=true property (global or file type setting) can again be used to render the Dropzone sidebar above existing gadgets (Margingadgets). * The global property inboxShowNewFileCount can be used to enable displaying the number of new Documents files in the folder tree for the inbox folder. * The global property fulltextSearchDefault enables defining a default value for the full text search selection list. The following syntax is supported for the value of the property: filetype:* The "hitListBlobThumbnails"=true property allows you to cause displaying the BLOB entries as thumbnails with static/dynamic folders as well as hit lists. * The "sendEmailAsHTML" property, globally of for the file type, now provides an HTML field for editing the message when enabling "Send as e-mail". * Client V: The dialog for sending Documents files via e-mail now displays the file size of the attachments. * The global property "privateSearchesTree" is used to store all searches saved in the Advanced Search dialog as a separate entry in the private folder tree ("Stored searches"); they can directly be executed from there (without the intermediate step using a dialog). * "User-defined actions" are now shown for archive types in the simple Web client using scripting license. * HTML fields can now be searched * When you initiate a QuickView link using the "_tv=1" parameter, the first Documents file of the search result now again opens, analogous to the Classic client. * Hit highlighting now also works for fields linked with a document tab that is not released. * Double selection lists now support change events for user exits. * The setEditCell methods in the GentableContext are now public. * Scripts which are executed via user exits receive additional information about the current state of Documents such as active viewer, fileId, and folderId. * Documents Client SDK: The asynchronously executed functions FileContext.startFileEditMode(), FileContext.cancelFileEditMode(), and FileContext.commitFileEditMode() now immediately return a Promise object that allows you to very easily synchronize control flow of functions to be subsequently executed. The same applies for the newly added FileContext.updateFile() operation. For detailed documentation and examples, see Documents Client SDK API documentation. * Documents Client SDK: New toggleAction() function on the FileContext for disabling toolbar buttons for the Documents file. New toggleAction() function on the ExtendedSearchContext for disabling buttons for the Advanced Search dialog. * Documents Client SDK: The ExtendedSearchContext has been extended with the setSearchSourceVisibility function. This enables you to show or hide individual search sources. * Documents Client SDK: The new documents.sdk.utils.createDocumentsContext() function now allows generating a new DocumentsContext in any code (i.e. even outside of Exit callbacks) at any time. * The API method setNavibarEntry enables creating breadcrumb navigation entries for ScriptLists and gadgets. For details, see the respective API documentation. * The global property clientHeaderCode lets you specify a portal script. The return value of the script is integrated as HTML code in the header section () of the Web client. For details, see the HowTo document "Embedding HTML code into the header". * You can now set the size of the dialog for parameter input to be displayed, using the "dialogWidth" and "dialogHeight" properties, for scripts with defined script parameters. * The workflowstepName is now also passed as an additional parameter of the actionName name to the user exit "File.beforeFileWorkflowAction" in the Callback function options. * The TreeChart is now also available as a gadget; details are described in the Gadget API. * The ScriptList as subgrid in the folder now allows you to automatically customize the height of the list to the content, using setFitHeightOnGroupExpand and setFitHeightOnGroupCollapse when expanding the group. setFitGroups(false) allows you to display the sub-list initially only as high as the number of expanded rows. * When you page through hits in file view and the associated folder or the associated hit list is displayed at the same time, then the Documents files will be added to navigation when reloading the remaining hits. * For a more efficient search in double selection lists, Documents can now build a line index. For double selection lists, this new index type replaces the full text index option by default. When needed, you can switch explicitly between full text index and line index with the new field property "LineIndex" (value 0 or 1). Switching the index type requires reindexing inventory data using the maintenance operation "reindex fields". Technical notes: 255 characters are allowed per line in the line index. Longer lines are truncated, and not found as a search term. The search operator "~" or "contains" does not support any search methods for line index fields (==> always exact search). Line index and field full text index use the same database table. * For the DB SQL servers, a clustered index is used with full text tables so that the database can allocate less reserved hard disk space that is not used. The new index can be built for patched systems using the "reindex" maintenance method. * The ViewMassSelection, ArchiveMassSelection and FiletypeMassSelection properties are now supported in Documents 5. These properties serve to select all associated search sources in Advanced Search when selecting a node. Unlike in the Classic client, the FiletypeMassSelection property is used to set the default value to true. * The new hiddenFiletypesForTrash=fileTypeA,fileTypeb,... property lets you hide deleted Documents files from the selected file type in the Deleted folder for the Web client. This property is available to the global setting and the Deleted items folder. To obtain all Documents files in the Deleted items folder, you can use the scripting method Folder.getFiles(). * The properties for 'PartnerAccount', 'Fellow' or 'AccessProfile', created via the property system in the Documents Manager are transferred accordingly to all PartnerAccounts, Fellows, or AccessProfiles. * New maintenance operation to delete all user properties: deleteUserProperties {UserName} properties customproperties UserName: schreiber | schrei* | * | ap:Employees | ap:mit* | ap:* e.g.: deleteUserProperties ap:Employees properties deletes the properties for all members of the "Employees" access profile; deleteUserProperties schreiber customproperties deletes all custom properties associated with schreiber; deleteUserProperties * properties customproperties deletes the properties and custom properties of all users. * New maintenance operations for locking number ranges for individual file types: lockNumberRanges: filetype1, filetype2, ... | * unlockNumberRanges: filetype1, filetype2, ... | * The 'lockNumberRanges: *' and 'unlockNumberRanges: *' operations are equivalent to the already existing 'lockNumberRanges' or 'unlockNumberRanges' operations. * The deleteManagerProperties {UserName} maintenance operation deletes the Document Manager's GUI settings from the Documents Manager. * Advanced logging: Successfully executed maintenance operation can now be logged in the logbook via the new '$LogMaintenanceOp 1' directive from the documents.ini file. * Send e-mail: SMTP server including TLS without STARTTLS: When STARTTLS is stored in the SMTP server configuration for the principal and the TLS=1 property is set for the principal, the server will directly connect to the SMPT server via TLS. The complete certificate chain must reside in the CA Info file (SMTP server to Root CA). * Dynamic folder with query values %runscript:% or Documents API syntax: context.folder is now available in the executed script. * xlsx export of folders and search results: The "FolderExportSelectedAsXLSX=1" or "FolderExportAllAsXLSX=1" settings (global setting or setting for the folder) allow you to activate a menu entry in the folder action list that enables exporting hit lists or search results in xlsx file format. * The new notification type "progress" can be used to confirm to the user the progress of a task that takes a long time. For details, see the HowTo document "Progress Notification" and the ScriptExtentions API. * If a notification contains a title, this is now always displayed in the notification overview. * The addContainerButton() method in the Gadget API also allows registering dialog buttons for gadgets displayed in a dialog. For details on how to use it, see the Gadget API. * The PropertyGrid and the GadgetGentable can now be used in the definition via "autoHeight"=true to cause that the grid automatically adjusts its height when adding/removing lines. * PortalScripting: New method: util.convertDateToExcelDate(Date val) * PortalScripting: New Document.id property returns the unique ID of a document (attachment). * PortalScripting: context.getDocumentById(String idFile, String idDocument) returns the Document object specified via file ID and document ID. * PortalScripting: FileResultSet filter expressions: New comparison operator ">~" (has line) e.g. for searching in double selection lists (not applicable to archives). * PortalScripting: New DocFile.setReferenceFile(fieldName, referenceFile) method for setting which Documents file is referenced by the reference field. * PortalScripting: Excel files in xlsx format can now be generated from scripting (only new xlsx files can be generated, no import or modifying). New classes: XLSXWriter, XLSXWorksheet, XLSXChartsheet, XLSXFormat, XLSXChart, XLSXChartSeries, and XLSXChartAxis. For details see portalscripting.chm * PortalScripting: XMLHttpRequest now supports PATCH requests. * PortalScripting: Register.uploadDocument() now supports pathes with a length > 260 chars on Windows. * PortalScripting: New Context.reloadCurrentPrincipal() and Context.reloadPrincipal() methods invalidate or clear caches for the current or specified principal so that they are reloaded. Optionally you can reload the pem file for the respective principal. * PortalScripting: The Util.hash() and Document.hash() functions can be used to generate the hash value according to the specified hash function for a file or a document. * You can now also add password fields to the script dialog. This works analogous to password fields for the file type using the enumeration value="secure" and Type="String". * If the principal .pem has become invalid (expiration date), then the jobs for the client are no longer executed. PortalScripts can also be can no longer be executed. Logons via SOAP and docimport are rejected. A logon with the Documents Manager is still possible. * If the principal is set to the status "locked" in the Documents Manager, then login via SOAP or docimport will now be rejected. * PortalScripting: util.otrLogger: New version v1.5.0 with the following extensions: - Support require(): context.enableModules(); var otrLogger = require("util.otrLogger"); otrLogger.logDebug("Example", "Test"); - Functions can be passed as a value for the log message: otrLogger.logDebug("example", function() { return new FileResultset("ftFileType", "", "").first().getid() }); The advantage is that in this example the FileResultset only opens when the log level is set to DEBUG. In this way, the influence of logging on performance can be reduced. - Error/fatal messages are always written as an exception in the server log. The log message otrLogger.logError("Example", "Test"); generates the following output: 2018-12-21 12:30:45.850: ::ffff:192.168.7.233 Client 1530: xml: [T1530] ERROR Example Test Name: Error Script: sampleLogError Line: 645 Column: 6 Stacktrace: logAsException@sampleLogError:645 @sampleLogError:303 __Janus_0@sampleLogError:779 * The "commitEditMode"=true property can now be set for file actions in order to automatically save the Documents file prior to executing the action. * A new button named 'XML Export...' has been added for the Portalscript category dialog. This allows you to export the assigned scripts in one fell^swoop. * A new option named "Update XML" has been added to the dialog for XML export of a folder. This allows you to export a folder of the first level as "Update XML". * pdf-creation: To concat single pdf-files to an combined pdf-file, now pdftk.jar (pdftk-java) will be distributed. It can be activated in the documents.ini. * EDA connectivity: The new "EASDeleteMode" property for an archive server (store) or the new "easDeleteMode" parameter of the scripting operation "docFile.deleteFile()" can be used to enforce complete deletion of the archive file. For this purpose, the maintenance user account "eas_keeper" must be stored in the archive settings. * EDA: New tools for working with EDA: - eas-bulkupdate: Bulk changes of Documents files in a store - eas-check: Various tests for stores - eas-delete: Physically delete Documents files from a store - eas-export: Export Documents files from a store - eas-import: Import Documents files into a store - eas-migrate: Migrate Documents files between stores For details, see eas\doc\eas-tools.pdf * EDA: New dateTime analyzer, dateTime Sieving, and numberSieving, whose application can be set and enforced in the Ini file: [index] dateTimeAnalyzer=field1,field2 dateTimeSievingAnalyzer=field3,field4 numberSievingAnalyzer=field7,field8 These analyzers are used for fields that contain date values or numerical values. The "Sieve" variants filter out invalid values, so these will not be incorporated into the index. * EDA: Update up Sqlite 3.25.2 ---------- Build 2066 ---------- Important bugfixes in 2066: --------------------------- * Security fix: URL manipulation allowed you to view private folders of other users. The Documents files could only be viewed if you also had read rights to the Documents files. Access to foreign private folders is now prevented. * Check-in/Check-out: Read-only tabs allowed checking documents out, and then in again. * In the context of Documents file search using an API filter expression (e.g. via scripting or SOAP), the '%id%' string is now no longer replaced with an empty string. Filter expressions with an empty content are (diverging from the dominant search mask logic) no longer ignored here. * When you edit a decoupled Documents file, save it and then close the decoupled window, the Documents file will be reloaded in the main window. * In MonoView, the "Current folder" action did not work in the workflow. * With the timestamp field, the user exits were executed each time you set the time via spinner. * XML import: During XML import of file types, access rights no longer duplicate. * XML export of file types: The link to the allowed actions script on the tab was not exported. * Scripting documentation on the HitResultset has been corrected (in reality, lastErrorCode is called getLastErrorCode()). * PortalScripting: The hmac function has returned a string. However, because the return value may contain bytes with the value 0, a byte array is now returned. * PortalScripting: In some cases, the Folder.hasFiles() function returned false although the folder contained Documents files and Folder.getFiles().size() returned a value > 0. This bug has now been fixed. * PortalScripting: Script parameters specified as non-visible were passed to the PortalScript in the wrong locale (date, timestamp, numeric) * Change file type in the workflow: In rare instances, problems with internal caches might occur through concurrency effects. This has been corrected. * You were able to start a workflow using undefined routing steps. * Distribution lists: Ad hoc routing: Various troubleshooting issues in the GUI logic. * The properties system for file types, fields, etc. had not always been thread-safe. * Corrections to using the openssl library. * Linux version of Documents server: As of version 5.0d, pem files could no longer be transferred via the wizard for loading backup. * When you had set "Display monitor on tab"=false with a Documents file with Gentable, you could no longer switch to other tabs after viewing the monitor in the frame of the status tab. * When you edited a row in the Gentable and, in doing so, enlarged the monitor scope, your input of the current cell was then undone. * Internet Explorer allowed you to click buttons in the Gentable even though the user did not have write rights. * If you had set "Max. amount of registers" (Maximum number of tabs) and the displayed tab was a document tab and the drop-down list contained it, then the drop-down list might immediately close when opening it to select another tab. * The file property maxRegisterMode=0 and "Maximum number of tabs"=1 now allows you to cause all tabs to collapse after the file cover. Previously, two tabs were displayed. * Files with specific strings in the name could not be displayed. * Line break/Enter in an HTML field in a dialog window now no longer causes the dialog to close. * Terms that are too long in the task text of a Documents file are now wrapped. * EDA connectivity: When versioning attachments, changes to the comment field were withheld if the attachment otherwise remained unchanged and the compatibility switch "EASAttachmentRefs=0" was not set. * EE.x: The "Actions/General searches" for imported views was erroneously not considered. * EE.x: Switching languages did not work fully in the following scenarios. * In combination with SSO + EasyAuthentication + QuickView including language not equal to the first configured language. * In combination with switching the language in the Web client without re-login. The EE.x session then continued in the first or previous language, with only the Documents session being switched correctly. Depending on the situation, some data and labels were displayed correctly, and some in the wrong language. * After adding archive notes these were no longer displayed after switching tabs. * When locally editing documents for archived processes (all archive types) using the DropZone/LocalEditTool (Active-X-Add-on for Internet Explorer), the edited files could not be saved and uploaded correctly (HTTP 400 Error). * After checking in documents to be displayed in PDF format, the pdfjs viewer might, for caching reasons, still display the old version. This has been corrected. * If you had withdrawn the "Archive" right for a file type from a user and then selected that file type in a folder, and you executed the "Archive" action, then no error message appeared here indicating that you do not have the right to archive the Documents file. * As of Firefox version 62, browser extension for local editing could no longer be enabled. * The user will no longer be accidentally logged out when the AutoLogout feature (autologout=true") is enabled and a document of a Documents file is downloaded via DownloadViewer. This bug is a regression from 5.0d HF1. * With hit lists including HitlistWithBlobInfo, sorting columns was not saved if this was saved in the Web client. * If you had clicked the column of a field of the "Checkbox" type in a hit list, then no file was opened. * With static folders containing the "hitlist" property and "inboxHitList" for all inbox folders, sorting by a custom field did not work properly if it was of the "Numeric", "Date" or "Timestamp" type. The field value was then sorted as with strings. * The "scrollToLastPosition" property is now supported again; the default value is true. * If you had set thumbnailOpenDocMode=external, opening a document in pop-up via the preview, and then trying to open another document via preview with open pop-up, an empty pop-up window was then displayed. * The (optional) client-side compilation of LESS stylesheets works error-free again. * Documents Client SDK: documentsContext.executeScript() etc.: The "dispatch" option now also works correctly when the script is executed asynchronously. * When you had used the SDK function "updateFileView", the first field was always focused and the scroll position was not restored. * docx document templates in combination with showBlobAsPdf: There were problems with line breaks in text fields or with multiple values in double selection lists. The docx documents were created validly, and were also displayed correctly in Microsoft Word. The PDF converters, however, did not cope with the line breaks. Therefore, an alternative representation of line breaks has been implemented which in both cases is interpreted correctly. * EDA: Linebreak Analyzer (used with enumeration fields) removed leading zeros. Extensions to 2066: ------------------- * Enhanced error handling with fatal database errors for the MS SQL Server and ORACLE databases: The Documents server now evaluates the error codes of the listed databases. With fatal errors (e.g. Tablespace is full, database can no longer expand because the storage medium is full) the server terminates with a provoked crash because the server might not continue working without loss of data. Prior to the crash, a lock file (serverlocked.txt) is written in the %PROGRAMDATA%\partnernet directory. The Documents server independently terminates after each startup attempt as long as this lock file exists. The corresponding notes can be viewed in the Documents server log file. The last fatal database error message is stored in the file. The lock file can be deleted after troubleshooting issues in the database system and the Documents server can be restarted. The following database fields are currently considered fatal: MS SQL server: 566, 802, 808, 829, 945, 1101, 1105, 1478, 1814, 3257, 3958, 3967, 5128, 7151, 7622, 9002, 9901, 9902, 17258 ORACLE: 1536, 1647, 1650, 1651, 1652, 1653, 1654, 1655, 1658, 1659, 1680, 1683, 1688, 1691, 1692 * Documents Client SDK: Extending the toggleAction() function on the FileContext. In addition to toolbar buttons, you can now disable entries of a toolbar drop-down list for the Documents file. * Gadget: If a gadget configuration (gadgetConfig) is stored in a folder, the configured gadget will now open in any event. In some cases, list view has previously been opened. * The "hiddenRootNodes" property allows you to hide the root node from folder trees (public/private/combined). Values allowed for this are "public", "private", and "combined". These can be arbitrarily combined as a comma-separated list. * Script trees now allow you to subsequently load subtrees. For details, see documentation. * You can now specify a URL in the "helpFile" property that will open after you click the Help button. The color of the Help button has been customized so this matches the color of the other buttons. * The ignoreGentableDefError property is now supported again. * The script return value "refreshFolder" now also allows you to return the ID of a Documents file via selectedHit in order to select a specific Documents file in the displayed folder. * File type property: ModifyDoc=Rule As a rule, you can now also use AutoTexts to dock personalized PDF stamps, e.g. ModifyDoc=pdf;c:\tools\PDFStamper.exe %input %output text "Printed on %currentDate% by %userFullname%" * PortalScripting: The new constructor method XMLHTTPRequest.XMLHTTPRequest(bool useProxySettings) can be used to prevent the implicit use of proxies that have been defined system-wide (see also portalscripting.chm). * PortalScripting: Analogous to "decreaseSearchFileTypesScript" and "decreaseSearchArchivesScript" for Advanced Search, you can now specify "decreaseDirectSearchFileTypesScript" and "decreaseDirectSearchArchivesScript" to limit the search sources. * PortalScripting: util.base64Encode() can now also encode the "Base64URL" variant. The new function util.sign() computes digital signatures via OpenSSL. * New script exit: beforeFileViewScript (analog onFileViewScript) The stored script is executed once when displaying a Documents file before loading the values and contents of the Documents file. Another execution will only be performed if in the meantime another Documents file has been displayed. Only the Web client supports this exit, and currently no return values are evaluated. * The file type property "afterEditArchiveFileScript"='script name' can now be used to execute a script if the matching archive file for the file type is saved. * The fileMessageAutoSubscribe property allows you to disable the automatic subscription of the file comments when writing a comment. The property can be set globally, or for the user. * The "showErrorsAtFields" property now also works for enumeration errors, double selection lists, HTML fields, and on field tabs. * New maintenance method mailJob: Sends all e-mail messages that have not been sent yet, and already failed e-mail messages once again. Unlike the regular mail job, the maintenance method attempts to also send the e-mail messages with error code 7 (SENDFAILED_UNRECOVERABLE) once again. Error code 7 occurs with a wrong SMTP server, for example. * EDA: The eas-registry tool allows you to correct entries in the registry: --id> ID --file-version File version to be set --file-id File ID to be set --master-id Master ID to be set --next-id ID of next version to be set --previous-id ID of previous version to be set * EDA: Update to Apache HTTPD 2.4.37 * EDA: Update to Sqlite 3.25.2 * EDA: Update to OpenSSL 1.0.2p ---------- Build 2065 ---------- Important bugfixes in 2065: --------------------------- * When logging out the last client from the Documents server, a deadlock might occur if a PortalScript object had yet to be synchronized to the DB. * Documents server: The server was made more robust against inconsistencies in the database with regard to cached associations. * In the current Firefox browser (version >= 60.0.1), the first Documents page sometimes did not load correctly after login. This has now been fixed through a small change to the JSON formatter. * The ActiveX drop zone was not installed in IE when initially bringing it up. If a drop zone had already been installed, it was used. * User exits with single column layouts (e.g. document field tabs) now work correctly again. * Action links with authorization token: When the Documents file to be forwarded via the Action link was in edit mode (in which it cannot be forwarded), this resulted in an incorrect error message. * The sortedEnum=true property for the PortalScript parameter for enumeration values and double selection lists was not yet supported. * PortalScripting: When a script loaded via "#import cached" or "require()" itself integrated other script code using the classic "#import", the source text positioncould not be determined correctly in case of runtime errors. * PortalScripting: If a Documents file in PortalScripting was saved through DocFile.sync() and a full text indexed field was changed in the script, the full text was not updated. This bug did not occur when using a working copy (startEdit()+ commit()). * PortalScripting: The Context.getSystemUser() method no longer throws an exception when the user context is missing; instead, it returns NULL. * PortalScripting: Script parameters not to be displayed are now no longer displayed in the Web client. * PortalScripting: Out of memory: The Documents server could crash with out of memory (->JSMaxMemory). The server was made more robust against this. * The "hideRegisterOnFileViewScript" property for the file type is used to hide tabs. With "Send Documents file as mail" BLOBs from hidden tabs are now no longer displayed. * Administrative changes to file type fields or archive type fields were partially applied to the database even after clicking "Cancel", e.g. a change of the (multilingual) label. * Localization files in the server/locale directory: All localization files with the name format *_xx.properties are now always imported from the directory. The previous capability of defining additional properties files via the documents.ini file Directive $AdditionalPropertiesFiles is therefore then redundant and is no longer supported. * XML export: Tab access rights are now exported. * XML export: Workflow properties are now exported. * XML import: In rare instances, the access rights during XML import of fields, tabs and outbars were not updated but the file type or outbar had to be saved in the Documents Manager first. * XML export and XML import of tile types could result in an inconsistency that prevented correct jex import into systems where other principals already existed. * After creating a Documents file via SOAP or Docimport, the full text for possible full text indexed fields was not created. This prevented finding full text indexed fields. This has been corrected. * Simple archive users were able to see active Documents files via outbar using file plan. * When logging in via Quickview, the correct archive instance is now also applied. * Documents files can now only be decoupled in reading mode. * With decoupled Documents files, the Edit button had always been disabled for local editing. * If you have switched to another Documents file from a decoupled Documents file via a link tab, then that file did not allow you to download documents. * When you opened a link tab, then switching to another tab and back, in some instances, not all linked Documents files were displayed. * When moving Documents files, an error message will now appear if the user does not have the "move" right. * The clipboard can now no longer be used to move documents to tabs where the user does not have a right to create new documents. * When dragging and dropping documents in the QuickDropZone followed by displaying documents, entered file field values were lost. * Revived Documents files are now removed from the selected user's Deleted Items folder and the revival is also logged in the logbook if the global property 'LogBookRecovery" is set to 1. * Gentable: true now allows you to turn on, in the Gentable configuration, selecting text, even in reading mode and across multiple fields. * Gentable: The STATICTEXT field type with editable=true did not allow you to edit the field after adding a row without reloadRow. * Gentable: You can now hide columns again with a Gentable field usingand the global setting false . * Gentable: With visibility rules using invert=true, rows might also be describable in Gentable even though the comparison field was empty. * Gentable: Row buttons were disabled after copying a row. * In Gentable, the tooltips for Row buttons and columns did not work. * Reference fields could not be set if mandatory fields in the Gentable were not filled out. * When sorting the Gentable columns, the column width is customized in such a manner that the sort direction can be recognized. * If you had defined rules of the "INVISIBLE" type in Gentable, their associated fields were not writable in specific instances when adding a row without "reloadRow". * When invisible rows existed in the Gentable, the visible rows might no longer be selectable. * The Tabledata search mask was secured against SQL injection. The 'sqlparam' tag is now available within the table.jsp and detail.jsp files via which dynamic parameters can be secured. For in-depth information, see HowTo Tabledata. * If an Advanced Search returned too many hits, the dialog for Advanced Search opened again without displaying a note. * File search: With filter expressions in API syntax, the cross-field "OR" operator did not work correctly when querying both fields and file attributes (e.g. the modification date of a Documents file) in the expression. * If all of the following conditions were met, the search function for active Documents files could output invalid hits. 1. At least two file types were searched. 2. In the query a field was checked which had been created for a file type without full text index and, for another, with full text index. 3. A field of the same name existed in an uninvolved additional file type. 4. The searched file types had different file class protection/ACL settings, or a file type still used the old folder rights concept from DOCUMENTS 3.5. * The "FulltextMethod=0" setting was treated when selecting search hits like "FulltextMethod=2", so selections were frequently missing. * No scroll bars were displayed with HTML dialogs with too large a content. * The name of the document tab was truncated too much with a collapsed tab bar. * When updating a Documents file via a portal script exit, the position of a scroll bar of a Documents file in Internet Explorer was not always retained identical to the status prior to updating Behavior while updating has now been corrected. * Renewed opening of the HomeView via a shortcut is prevented when a HomeView is already displayed. * When editing locally, the correct document (original file format) is now loaded if "showBlobAsPdfInDocEditMode=0" is set. * When loading files via "Upload document", a "Busy icon" is now displayed during the upload. * When you had a list with document column (HitListWithBlobInfo) open in compact view and then expanded it, the document column was displayed too narrow, so you could not read the document names. * In rare instances, graphic annotations might not be displayed in the pdfjs viewer. * Various actions to decrease a memory leak in Internet Explorer when displaying pdfjs viewers (Microsoft will no longer provide a fix). * In TabletMode, script lists could not be displayed which open when clicking folders or the outbar. * The file comments implemented in version 5.0d can only now be read-accessed with archived files. * If a Microsoft Word file (.docx) was generated by the print template, this could not be opened if a field contained a TAB character. The TAB character is not replaced with three spaces in the generated Word file. * Absence management: If a mandatory delegate must be defined via the principal property: AgentMandatory=1, validation of the delegate was faulty. Detailed error messages are now also displayed when the delegate is out of the office. * Cloned session could not be ended correctly in certain cases, e.g. the feature "Save last search forms" was activated. In these cases, an error may have been indicated without justification that the maximum number of cloned sessions is reached. * Locking the principal: If the principal now has the status "locked", no web client, docimport or SOAP client can connect anymore. Existing web sessions are also terminated. * Phrase search in EDA was no longer working. * EDA: New option in section [registry]: [registry] initialSelect=yes/no With "yes", a SELECT is executed when the EDA server is started in order to execute the database connection immediately. With "no", the first is initialized during the first query, but this is not the case for installations of the version v1.1.10 of EDA could take a long time and the users therefore had to wait longer for an answer. * EDA: Prefix searches (e.g. ABC*) for words with hyphens returned not the right result. * EDA: New option in section [index]: [index] mixedKeywordAnalyzerFields=field1,field2 * Due to the change from Documents 4 to 5 it can happen that enumeration fields can be indexed with different analyzers (linebreak and keyword). Such fields must be specified in this list. This ensures that when searching for both variants are taken into account and all expected hits can be found. * At archiving with analyzer lowercasekeyword led to an incorrect error message. * Attachments with filenames with special characters led to an error, so that files could not be archived. Extensions to 2065: ------------------- * Web client V including advanced system information and support form: If the Documents settings property HasSupportFrom=1 is set, the capability of collecting a support ticket will be enabled on the About menu of Web Client V. The Documents settings property SupprtFormMailTo allows you to define the support recipient's e-mail. The information and default values for the form to be sent can be modified via scripting (see Scripting documentation: InfoDialogAddition*) * Log book: The Documents settings property LogBookArchiveDeleteFile=1 allows you to enable logging the delete action for archive files. * Archiving: The code (UTF-8) is now inserted when generating the Status.htm and Monitor.htm files. * PortalScripting: context.qsession returns the search session's ID. * Immediately display first document: From Documents 5 this property has always been evaluated by the file type. If this should be different for Documents files of a file type, the file type property and Documents settings property UseAutoOpenFirstDocumentFromFile=1 can be used to change behavior in such a manner that this will be evaluated by the individual Documents file. * The margin column of file view can now either be set in the Global settings with "marginal column width" or using the "dlcMarginWidth" property for the file type. In order for these properties to be used in Documents 5, you have to set the "useMargin Width=true" property. * QuickView now includes the dlcRegisterId=parameter for forwarding to a specific tab of a Documents file and dlcDocumentId= for forwarding to a specific document. * The "checkQVScratchCopies" property now also works in Documents 5. * Hit highlighting now also works from a hit list tree. * Documents server: Cleaning up temporarily created data files: Temporarily generated data files (through PDF printing, thumbnail creation, scripting methods like context.getTmpFilePath()) are now automatically deleted after 8 hours. The data files are located in the doc5_tmp subfolder of the user TEMP, e.g. C:\Users\{username}\AppData\Local\Temp\doc5_tmp * If you create or update a file type via XML import, the new fields are now directly available for the search functions. Previously, the file type had to be edited in the Manager or the server had to be restarted in order to update an internal cache. * The update() function of the detail.jsp file alternately allows you to pass a simple string (e.g. { ... data: "Jane Doe" ... }) instead of an object using { ... data: { key1: value1, ... } ... } as a value in case only the field from which the exit was originally started should be set. * New scripting methods Register.addFileLink() and Register.removeFileLink() to add or remove file links to or from a tab. * The default principal in the web.xml file was changed from dopaag to relations, because this is the new demo principal. * The file type property "ShowArchivedVersions=1" for the file type has not yet supported Client V (HTML5 client). * The new gadget type otris.gadget.gui.Gentable lets you configure a Gentable as a gadget within a Documents file. At the moment, however, not all functions are supported. For details, see GadgetAPI. * Specify document fields: Using the tab settings "Show document fields" you can specify to display all document attributes Author, Changed at, Version and Comment or to hide them together. If you only want individual attributes this can be done via a positive list. For this purpose, set the option "Show document fields" and set the property DocumentAttributes=Attr1, Attr2,...Attrn, adding the following attributes: * author * lastModified * version * comment * PortalScripting: New property: Document.comment contains the content of the comment of an attachment. * EDA: For unknown configuration switches in the store configuration an error message is now displayed when the server or eas.exe is started. * EDA: Upgrade to Apache HTTPD 2.4.34. * EDA: Upgrade to Sqlite 3.24.0. ---------- Build 2063 ---------- Important bugfixes in 2063: --------------------------- * Check-in/Check-out now also works with special characters in the user name * Select actions in the MagicButton, such as the folder action menu"Copy to...", sometimes incorrectly stayed open when clicking the action from the MagicButton pop-up. * Despite 'viewerAnnotationConfig' = true, some settings for annotations to PDFs could not be set. * The "SortLocalized" field property for enumerations and double selection lists only worked correctly when subsequently sorting a hit list. When sorting during the search, it might be ineffective. * When displaying the recently performed search, the radio buttons are displayed with the correct values. * When you submit an Advanced Search defined for the folder via "searchMask:", using Enter, the dialog reopened although hits were displayed. * Resorting columns in the Gentable was temporarily turned off. * When validating the required field in the Gentable, field could be left empty. This occurred when the allocation field was populated by a foreign system and that system omitted the corresponding date. * Gentable: In specific circumstances, a CSS class was added multiple times. * Gentable: With ReloadRow, not all conditions were evaluated, so specific visibility rules were applied only after saving the Documents file. * If in the Gentable a date field was erroneously populated, an error dialog now appears when saving. * The error of a timestamp overlay no longer opening after the focus is placed in a different row after entering a timestamp, has been removed. * With rows where the rowCondition "READONLY" was applied, checkboxes could be edited anyway. This became visible only after saving the Documents file. * When clicking the tab of the displayed tabbed page, the displayed tabbed page will be refreshed. * With "showBloblAsPdf"=1 and "downloadBlobAsPdf"=0 turned on, dragging data files from the document tab and dropping them into the Desktop in Internet Explorer did not work. * After refreshing a hit list, an empty Documents file always appeared with the "Next file" workflow navigation. * If the technical name for horizontal separators contained an underscore, its state was not saved when collapsing/expanding it. * If a time was entered for the timestamp and you then paged to a different year, the time was reset to 12:00 AM. * With document fields, field names might have exceeded the margin column with long field names. * A display error with the representation of double selection lists for EE.x archive files has been fixed. * With the "Text (fixed-font)" field, text formatting was lost if the text was highlighted by a previous search. * Documents can now also be used with disabled cookies in Chrome and Firefox. * With QuickView, the "nft" parameter for creating new Documents files did not work. * The comment when uploading checked-out data files is now correctly coded in UTF-8. * Rights were not evaluated with document versions. * A Documents file did not open in the main window when clicking a row in the uncoupled folder window. * If an error occurred when reactivating a Documents file, an empty error message was erroneously displayed. * When deleting documents from the tab, the Documents server could crash. * PortalScripting: An asynchronous ScriptCall could be canceled if the user had logged off at script runtime. * Scripting: The Documents files restored via DocFile.undeleteFile() are now removed from the user's Deleted folder. * The script is correctly executed in the Script Parameter dialog when you press the Enter key. * The script return type "hitTree" is now again fully and correctly supported. Search sources of the " " format now also work when these are not simultaneously selected as "isMainSearchSource='true'" (main search source). Hit list trees: The two properties "treeSort" and "treeSort_ " for file types now also work correctly with EDA archives. * FocusIn is not re-triggered after opening a dialog via a FocusIn and closing it again. * The user exits 'FocusIn' and 'FocusOut' were also executed in the reading mode of a Documents file. * The new Boolean property "EEXUnicodeOverBase64" on the archive server enables correct connections to an EE.x XML server whose JBoss service configuration contains the following parameter: wrapper.java.additional. =-Dfile.encoding=UTF-8 Without this cross-system configuration, some special characters (e.g. MSDOS text border characters) cannot be correctly transmitted between the services. * Searching in EAS: When filtering to two date or timestamp fields in "Field1 >= Date1 AND Field2 <= Date2" format, Documents erroneously generated a single range query that matches the "Field1 >= Date1 AND Field1 <= Date2" filter expression. * Distribution lists created via the Documents Manager could not always start after loading them in the "Send" dialog. * If during a query in the workflow you have set the Documents file to edit mode and then clicked "Forward", then the Documents file was still in edit mode after forwarding it. * Folders in the Documents Manager: After linking or separating file types or views you were allowed to change the folder type in an illegal way. With file type folders and view folders, the "Parent folder" control was active, even though such nestings do not work. * PDFjs: Long notes ensured that all notes in a PDF are no longer displayed. * The button for creating stamps is now no longer displayed in Read-Only mode. * "FilingPlanClearDefaultValuesOnDeselect" now also works in the Documents 5 Web client. * Greater memory consumption of the Documents server (> 4GB) could cause sporadic crashes through an error in memory freeing. Extension in 2063: ------------------ * You can now create REF files from hit lists in archives. * You can now move/copy documents between Documents files/tabs via a clipboard. * The number of documents on document tabs is now displayed right-aligned. When "countLinkFiles" is turned on, the number of links to link tabs is also displayed right-aligned. * Two new options, "By date" and Date descending", are now available for pre-sorting attachments on document tabs. The difference to the previous "Chronological" and "Inverted" options is illustrated, for example, when moving an older attachment to a different document tab. The new modes sort by the attachment's upload time. The existing modes consider moved attachments to be new. On the archive side, the new modes only work with EE.x and, with EAS configuration, with the "EASBlobStamp" property. In other archive configurations, Documents automatically resets to the old modes. * Searching in active processes: The "Owner/Creator" file attribute is no longer considered for general searches or the "Full text" search field. The Documents property "FullSearchWithOwner" (Value 1) property allows you to reset the old behavior. * Advanced search: Redundant search sources (e.g. the same file type in multiple file type folders) are now filtered out to avoid problems caused by duplicate IDs in the Web client ("jumping" items when collapsing/expanding folders). * All caches are now also deleted from the GenTable when calling the URL "...&cacheEvent=clearAll", so you do not have to restart Tomcat after making changes to the definition XML. * Gentable now contains the new Date2 and TIMESTAMP2 data types. Here, the date is saved in the default format set in the Manager. * JSON is now also available as storage format for the Gentable data (migrating existing data is not possible). * The multi-session feature familiar from the Classic client was reimplemented for the D5 Web client. The Feature Manager's "CloneSession" feature lets you optionally turn it off again. The maximum and current number of sessions can be found in the Documents Manager under the settings for the user under Documents / Archive Settings 1 / Other Settings. * The server-side Less compiler has been updated and overhauled. The result is that significantly less memory is needed during compilation. * A session timeout is now used to forward the user directly to the start page (previously, a dialog was displayed). The reason for log-out is displayed to the user on the login page. * The PDF.js viewer has been updated to the latest version. * PDF.js annotations: Dialogs are now fully translatable. * PDF.js: The pdfjsViewerButtonDownload and pdfjsViewerButtonPrint properties allow you to disable download and the Print button in the PDF.js. * The 'viewerAnnotationConfig' = false property now disables the standard configuration for annotations. * If the 'viewerAnnotationMode' = off property is set, annotations will no longer be incorrectly displayed on PDFs * The edit- and save-button in the fileview are now colored (red/green) This behaviour can be switched back with the Documents settings property buttonColorMode=false. * The global or file type property "hideFileEditButton" = "true" allows you to optionally completely hide the "Edit" button from a Documents file if the current user does not hare write permission for that Documents file. By default ("false"), the "Edit" button is still displayed in read-only style, and cannot be clicked. * In the FeatureConfig, you can now set the "FileNavigation" switch or the global property "enableFileNavigation" to turn on/off process navigation top right. * The "renderCompactListKeys"=false property now lets you hide the label in the data row of compact view globally or, in the folder. * The 'verifyExtendedSearchNotBlank', 'verifyFulltextSearchRegEx', 'verifyExtendedSearchRegEx' and 'verifyFulltextSearchNotBlank' can now be used. * The main search sources in Advanced Search are now marked in bold. * In the Gentable, "registerGridColumnAggregator" and "getCustomContainer " (Gentable SDK) now allow you to display a summary row and also HTML elements. * The icons for downloading a TreeChart have been updated and customized to the current design. * Links in HTML fields containing target="_blank" can now be opened. * The Web Mail dialog no longer lets you select attachments exceeding the allowed mail size. * When submitting the "Send e-mail" dialog, a throbber is now displayed to prevent sending e-mails through multiple clicking. * Dragging documents from the document tab in IE11 and dropping them on the desktop now also works with archive files. * Editing documents locally is now possible in Firefox and Chrome via an extension that comes with setup. * The editorConfig property allows you to pass a separate configuration to the CK editor. The CK editor is used for HTML fields in edit mode. The property can be defined globally or for the file field here. editorConfig = {ckEditor: { sampleKey: "sampleValue"}} * The HTML5 drop zone can now also be operated by clicking. When you click the drop zone, a dialog for file upload opens. * Daily system backup: The system parameter "Time of auto-backup" allows you to define an hour at which a system backup is performed. In doing so, a daily backup is written in the /backup directory, which contains all principals in an export. If you want to have a separate backup per principal as an alternative, this can now be activated via the documents.ini directive $BackupJobPerPrincipal 1. * If a user deletes resubmission of a Documents file, the Documents file will now be added again in the user's Inbox folder if it is still locked by the user. * Documents Client SDK: The openTableDataDialog method now supports the 'searchText', 'searchColumn and 'sortColumn' parameters. For more detailed information, please refer to Client SDK documentation. * Documents Client SDK: Adding user exits for Advanced Search using the new exitRegistry.registerSearchExitCallback() and exitRegistry.registerSearchFieldExitCallback() functions. For detailed information, see Client SDK API documentation. * Documents Client SDK: New functions for ExtendedSearchContext getSearchSourceNames(), getSelectedSearchSourceNames(), getSearchSources() and getSelectedSearchSources() get the new status of available and selected search sources. For detailed information, see Client SDK API documentation. * Client SDK: The 'openTableDataDialog' function now supports additional parameters that can be passed to the dialog. * Client SDK: Extending with various entry points (outbar and folder) for user exits. For more detailed information, see Client SDK documentation - exitRegistry. * Documents Client SDK: Extending with the openOutbar and openHomeView methods. For more detailed information, see Client SDK documentation. * Documents Client SDK: New method: 'toggleMonitorView'. For more detailed information, please refer to Client SDK documentation. * Documents Client SDK: New method: 'toggleRegistervarView'. For more detailed information, see Client SDK documentation. * Documents Client SDK: New user exits for full text search via the exit callbacks "DefaultSearch.beforeExecuteSearch" and "DefaultSearch.afterExecuteSearch". * Documents Client SDK: Adding user exits to script parameter dialogs including the new exitRegistry.registerScriptParameterExitCallback() and exitRegistry.registerScriptParameterFieldExitCallback() functions. For detailed information, see Client SDK API documentation. * A tooltip can now be displayed on the nodes of a ScriptTree (the ScriptExtensions API contains details). * AutoComplete can now be set up via a user exit. * Scripting extension: Context.enableModules() allows importing module scripts in Node.js style. * Scripting: The new HitResultset.getHitIds() methods returns an array with all hit IDs (the file ID or, with archive files, the archive file key). * Scripting: The new AccessProfile.setParentProfile() method allows you to set the parent profile of a profile. * Portal Scripting: New script exit: onConnectInboxScript, new properties Context.folder and Folder.systemUser (s.- portalscript.chm) * PortalScripting: With Enum scripts, the context.fileType property is now also set in Advanced Search. * PortalScripting: The afterArchiveScript did not reference the file to be archived as context.file, but instead its file type. This has been corrected. * PortalScripting: New method: ScriptCall.setFolder(Folder folder) * Scripting: The Fileresultset, ArchiveFileresultset and Hitresultset classes are now iterated, i.e. they can also be iterated through using for..of loops. With a Hitresultset in page mode you have to consider that only pages that have already been loaded are iterated through. * Script exit: afterDocimport, which can be executed directly after Docimport of a Documents file. For details, see portalscript.chm * The global properties can now be exported from the Documents Manager via the global operation XML export -> class name "CustomProperties" or "Documents". They can also be exported by using the new scripting method XMLExport.addCustomProperty(). * You can now create a drop zone (file upload) in script dialogs and in gadget forms. For details, see the HowTo "Script dialogs with drop zone" or the gadget API. * The allowMessageSendAll property allows you to define that the logged-in user can send a message to all logged-in users (@ALL). This property can be defined for the user and/or globally. By default, this function is disabled. * The new gadget type "Wizard" allows you to create step-by-step data input (for details, see the gadget API). * Gadget forms can be completely operated even when using two dialogs that are stacked on top of each other. * In gadget forms, you can now also create an HTML field. * The data of a form gadget is now also included when using the new newWindow parameter of the addGadgetActionButton() method. * The PropertyGrid is available as a new gadget type. (Details can be found in the gadget API). * For server settings/verbosity >= 12, BLOB indexing is logged in the DocumentsServer___.log. * New Gentable exit callback "Gentable.afterRowSelect". This will be triggered when you select or deselect one or more rows on a Gentable grid. * The AddOn otrTemplater for generating DOCX and PDF formats has been updated. * The following operations can also be logged in the logbook: - Delete to trash if the "Delete file" option is selected in the logbook under Documents settings. - Recovery from trash if the global property "LogBookRecovery" is set to "1". - Delete archive file if the global property "LogBookArchiveDeleteFile" is set to "1". *EBIS: Due to search/retrieval problems with date- and timestamp fields, all times are now transmitted via the local time zone of the server and no longer in Universal Time (UTC). Because date fields are now saved as 12 AM server time instead of 12 Am UTC, there may be a delay of one day in the past in the Eastern time zones when displaying previously archived date fields. For testing purposes, the old transfer mode can be enabled by setting the "EBIS_UTC" property for the archive server or under Documents/Settings to 1. * EDA: Upgrade to Apache HTTPD 2.4.33 * EDA: Upgrade to Sqlite 3.23.1 * EDA: Upgrade to OpenSSL 1.0.2o * EDA: Upgrade to Tika 1.18 (Linux only) ---------- Build 2051 ---------- Important bugfixes in 2051: -------------------------- * In rare conditions the sync to the database was late * After a server crash or an initial jex-import a document counter may temporary contains a wrong value * In rare conditions a server hang was possible at the disconnect of the last client * Action-Links using authorization tokens: if you have tried to forward a file unsing an action-link and the file was in edit-mode, a wrong error message returned. Extension to 2051: ------------------ * AutoOpenFirstDocument: Since DOCUMENTS 5 this property was read from the file type. If you want to have a different behaviour for files of the same file type, then you can realize this by setting the property UseAutoOpenFirstDocumentFromFile=1 at the file type or in documents-settings. ---------- Build 2049 ---------- Important bugfixes in 2049: --------------------------- * At higher memory consumption of the DocumentsServer (> 4GB) the server may crash because of an error in the memory management. * When deleting an attachment at the registry the DocumentsServer could sporadically crash. * PortalScripting: An asynchronous ScriptCall could abort if the user had logged during the script runtime Extension to 2049: ------------------ * The addOn otrTemplater for the creation of docx and pdfs was updated. ---------- Build 2048 ---------- Important bugfixes in 2048: -------------------------- * The Documents server could crash when deleting or overwriting large workflows (upload from VISIO). * In rare instances, crashes could occur in conjunction with an internal cache class (this was not thread-safe). * A Documents server crash could occur within the context of an "out of memory" in the scripting engine. * Documents using SQL server as a database: In rare instances, crashes could occur within the context of empty resultsets and auto-fetch (SQL_CO_FFO_AF) * An error with regard to using the libcurl as http client (e.g. as EAS / EBIS client) has been fixed. * Documents Manager license management: If more users of a license type (e.g. named) had been created than the license contained, the license type could no longer be modified to a valid one. This resulted in the error message "Unable to find a valid license on the portal server for this portal!...." The license type can now be switched and if the configuration again matches the license, this will be loaded as valid. * If the "Start workflow immediately on creating a new workflow" option was checked for a file type and you had created a Documents file of that file type using QuickView, then the workflow did not automatically start. * With some search types, an OnSearchScript was unable to specify Or expressions (with '|') for an enumeration field. This now works for all search types. The old, more restrictive behavior can be enforced by setting the new "SearchScriptMultiEnumVal" = 0 property (in the Documents settings) * If a script called via ScriptCall is returned a negative value, you can then use ScriptCall.getLastError() to query the value context.errorMessage of the called script. In this case, however, ScriptCall.waitForFinish() still returns true. The negative return value of the called script can still be queried via ScriptCall.getReturnValue(). * Enumeration fields in script parameter dialogs have now selected an empty option if no default value is predefined. * The out-of-the-office dialog did not display the timestamp in the correct location. * Permissioning document tabs: Deletion rights, rename rights and creation rights were not always correctly checked. If, for instance, a document was dropped in the global drop zone, it was automatically added to the first document tab even if no write permission existed for it. * If during auto-complete you had concurrently set a reference field, then the new label for the auto-complete field was not applied and the keyboard entry remained. * Select actions in the MagicButton, such as the folder action menu "Copy to...", sometimes incorrectly stayed open when clicking the action from the MagicButton pop-up. * When scrolling expandable lists horizontally, the columns are skidded. * When renaming the file name of a document, an error message appears if analogous illegal character is used. * The confirmation dialog no longer displays incorrect characters when changing the file type. The file type icon now immediately changes when changing the file type. * The dialog title appears with "Note" instead of "Error" if no hits have been found in a search. * After a full text search, the compact view now also displays the first three column values of the hit list. * The "Edit document" button in the tabs bar now returns an error message when the document is locked. * You could view a maximum of 25 different PDFs of a Documents file in Internet Explorer; every additional one was only displayed as a white page. * The tool tips with action buttons for user exits in file fields are again correctly displayed. * Check-out in the Classic client did not work with files containing Chinese characters in the file name. * An error was fixed when the user did not have a previous Documents file and did no longer have read permissions for their recently saved Documents file. * If the "openSingleHitResult"=true option was checked and you had another Documents file in edit mode with only a single hit when displaying the search result, the "File in edit mode" dialog was displayed. * For the global property "showErrorsAtFields", automatic display of the red background was fixed for multiple fields. * An error that highlighting for field type TEXT_FIXED did not work has been fixed. * The "fileSignalColor" property now accesses the correct principal. * When you open a folder, it will be displayed in full text search. When you opened overview again now, the previous folder was still selectable. An endless throbber was then displayed when searching in that folder. * When opening a folder list or hit list, sorting it and then opening a Documents file in it, file navigation was not displayed. * When sorting columns in hit lists, the hit list could scroll to the left. * When removing list entries, e.g. by deleting a Documents file, the number above the folder is now also updated. * When you re-click a folder containing only a single Documents file, "1/2" Documents files were still erroneously displayed in the process navigation if the folder contained two Documents files when opening it. * On link tabs with the "LinkRegisterWithBlobInfo" property set the document names were truncated. * When switching between documents that have been converted using showBlobAsPDF=1 and displayed via thumbnailOpenDocMode=external, the correct viewer is now used. * When searching in the reference dialog, the column order of the user has been lost when the user has previously resorted the columns. * In isolated cases, it could happen that no search fields were displayed with Advanced Search. * In specific circumstances, locally edited documents were displayed in a deprecated version after the upload. * A dialog named "Temporarily unable to perform the required action" was displayed when executing file actions in TabletMode. * Linux version of Documents: Warning messages occurred when reading the locale files and the *.map files. This did not affect functionality. * When saving Gentable data via "saveAll"=true, the order of the fields in the saved XML was lost. * The scroll bar in Internet Explorer jumped to and fro when focusing Gentable fields. * When resizableRows=true is set in the Gentable and you customize row height, the row height was reset for each ReloadRow. * The Gentable allowed you to save in spite of empty mandatory fields if the monitor was displayed when displaying the "Status" tab in the Gentableframe. * The client SDK Gentable now returns the correct arguments for the onChange after selecting a value from AutoComplete. * Client SDK: Write-protected fields can no longer be set via the client SDK. * Client SDK: Enumeration fields and double selection lists now directly show the correct value when setting via setFileFieldValue. * After sorting columns in the Gentable, you were no longer able to enlarge/reduce these. * When displaying TableData in Gentable using the new DocumentsContext.openTableDataDialog() method, the new window in Internet Explorer was not focused. * When editing the Gentable field types "SELECT", "DATE" and "TIMESTAMP", controls might hang up although another field had already been edited. * With user exits that trigger Documents file refresh, the scroll position is now retained also on field tabs. * The AutoText "fileLink" created URLs for EE.x archive files, including the | (pipe) character. The updated Tomcat version no longer supports this. The | character is now encoded. * An error dialog appeared when opening file plan fields in EAS archives. * A problem with transferring EE.x system fields such as "CREATE_DATE" to the hit list tree has been fixed. This problem chiefly occurred in the Classic client. * Advanced Search displayed an error dialog when opening file plan fields in EE.x archives. * After saving Advanced Search in the EE.x archive, the correct search mask was not always loaded during display. * In the simple archive client (Retrieval), in some cases, automatic forwarding to the Advanced Search dialog incorrectly occurred. * At the editing action ogf a file (e.g. by SOAP) it was possible that some folder caches (e.g. inbox) were not updated. * EDA: Rebuilding the index using the parameter --stop-at-time could causes a crash of the reindexing. * EDA: Performance optimization for archiving files. If a field-based storage strategy is used, attachments were read, even they should not be indexed. * EDA: Length restriction (minimalWordLength/maximalWordLength) were enforced, even if useWordLengthLimitsOnlyForAttachment was active. * EDA: Optimization of the performance monitor's file output. The file extension is presevered during the roll-over. * EDA: Improved error message in case of invalid licenses. * EDA: The Loggingserver was not started by default, but is necessary for operating EDA on Linux. * EDA: minimalWordLength was also applied while parsing search queries. As a consequence, files archived in the past could not be found, if the minimalWordLength was changed in the meantime. * EDA: Optimization of the status report for updating the index. * EDA: Performance improvements for non-empty field queries. Extensions to 2048: ---------------------- * The new "EEXLocaleMap" property allows modifying the locale codes sent to EE.x (via XML server), e.g. "de=de-CH;en=en-GB". ":" is also allowed as a separating character instead of "=". * Enumeration values can now also be directly cached in PortalScript. See portalscripting.chm ->How to use the property cache with enumval * PortalScripting: New function: SystemUser.setEasywareAuthentication(boolean) * PortalScripting: New functions: DocFile.AsJSON() und DocFile.FromJSON() * PortalScripting: So that the AccessProfile::getSystemUsers() method can take the two settings "Status" and "Display user in Documents lists", it has been extended with the following two parameters: - includeLockedUsers: Indicates that a locked user is really returned; - includeInvisibleUsers: Indicates that a user for whom the"Display "Display user in Documents lists" check is not set will also be returned. * New AutoTexts: %currentHour[{+|-}X]%, %currentMinute[{+|-}]X% * PortalScripting: New method named Context.hasPEMModule(Integer moduleConst) to check licensing modules in the pem file. * Update libcurl 7.54.1 -> 7.58.0 * When paging through documents on a document tab in edit mode, displayed fields may no longer be validated because paging blocked this. * Improved error handling with incorrectly specified file class protection * New wizard script for creating archive servers for EASY Archive * otrLogger: The various logging functions (logDebug() etc.) are now able to write an exception and its details to the log directly. Example: // #import [util.otrLogger] function fun() { throw new Error("An error message"); } try { fun(); } catch (e) { otrLogger.logError("Example", e); } // Output into the log of the DOCUMENTS server // [T27] ERROR Example An error message // Name: Error // Script: ExceptionScript // Line: 633 // Column: 4 // Stacktrace: // fun@ExceptionScript:633 // __Janus_0@ExceptionScript:637 * EDA: New tool eas-index for fixing corrupt entries in the index. --config-file [-c] Path to INI file Path to the configuration of a store whose index should be fixed. --delete-entry [-d] GUID Deletes an entry with the given GUID from the index. --make-to-newest-version [-n] GUID Marks the file with the given GUID as newest version. --make-to-old-version [-o] GUID Marks the file with the given GUID as old version. --no-atachments Ignores the attachments while executing the corresponding action. * EDA: New analyzer "lowercasekeyword". Works like the analyzer "keyword", but transform upper-case letters to lower-case letters. Can be enforced in the configuration of a store: [index] lowerCaseKeywordAnalyzer=Field1,Field2 overwriteAnalyzer=yes erzwungen werden. * EDA: Upgrade to Apache HTTPD 2.4.29. * EDA: Upgrade to OpenSSL 1.0.2n. * EDA: Upgrade to xpdf 4.0 (pdftotext). * EDA: Upgrade to SQLite 3.22.0. * EDA: Upgrade to Tika 1.17 (Linux only). ---------- Build 2046 ---------- Important bug fixes in 2046: ---------------------------- * MariaDB versions 10.x.y was not supported to get the correct UTF-8 (MySQL did not concern the problem) * In the connection pool to the archive system was a mistake that too big pool could have led * LDAP interface: Invalid queries due to incorrect use of wildcards could lead to a server crash * Client V: If a folder or hit list is opened, then sorted and last was opened on this one folder, so the map navigation not displayed * Client V: When clicking again on a folder with only one folder, if there were two folders in the folder when opening, in the process navigation incorrectly still displayed 1/2 folders. * Client SDK: Read-only fields can no longer be accessed through the client SDK be set. * Gentable: After sorting columns in Gentable you could not do this enlarge / reduce * After saving the Extended Search in the EEX archive, the display shows not always the right search mask loaded * In Advanced Search, when opening filing plan fields in EEX archives displayed an error dialog Extensions in 2046: ------------------- * Gallery view: With the property docRegisterGridType you can use the Define default view for document register (possible values: list, gallery). The property can be on the registry, the folder or global be set * PortalScripting: SystemUser.setAccessProfiles (val1, val2, ...) replaces the Access profiles at the user by the parameters passed in the parameters access profiles * PortalScripting: New method util.makeGACLValue (val1, val2, ...) created from several GACL values one common value in the standard GACL format ---------- Build 2045 ---------- Important bug fixes in 2045: -------------------------- * EASYWare Authentication and NewEASYUserWithDLC = 1: Regardless of the Default user settings was the option "User in Documents". Always show lists "for new users created by EASYWAre Auth been off. Now the setting of the default user accepted. Important bug fixes in 2045: --------------------------- * EASYWare Authentication and NewEASYUserWithDLC = 1: Regardless of the Default user settings was the option "Show user in Documents-list" for new users created by EASYWAre Auth. always been off. Now the setting of the default user will be used. Extensions in 2045: ---------------------- * PortalScripting: New Methods: Register.getFile() and Document.getRegister() * PortalScripting: New Methods: Register.getLocaleLabel(String locale) and Context.getLocaleValue(String value, String locale) * PortalScripting: New Method: PropertyCache.listProperties() * PortalScripting: For enumeration scripts, the property context.fieldName contains the name of the field for which the enumeration script is performed. * New AutoText% uuid%: Generated unique random id of 36 characters in length in the format of a Universally Unique Identifier (UUID) e.g. 550e8400-e29b-11d4-a716-446655440000 * New AutoTexts: % FieldName.raw% returns the complete value (for example, for reference fields) % principal.propCache. {element} returns the value of the property named {Element} from the global PropertyCache (see PortalScripting-> propCache) back % {User} .propCache. {Element} returns the value of the property named {element} from the propertyCache of the user {User} (see PortalScripting-> SystemUser.propCache). e.g. % CurrentUser.propCache.PropA% ---------- Build 2044 ---------- Important bug fixes in 2044: ---------------------------- * Client V: pdf.js Viewer: Applying graphic annotations in shape of a rectangular marking was no longer possible * Client V: For files with AdobeReader as Pdf viewer, the dialog for script parameter the enumeration list menu by the displayed document cut off. * The user's sessions went up when he closed the browser without logging out and re-registered * Client V: Ad-hoc distribution list configurator: Send type Sequential is not selectable if the type email or folder was previously visible * Client V: When displaying documents with version button and / or document fields did not display the marginGadget * Due to missing stylesheet for 'tabledata' 'tabledata.css' restored * The immediate opening of document templates did not work with showBlobAsPdf = 1 and showBlobAsPdfInDocEditMode = 0 * PortalScripting: the methods SystemUser.delegateFilesOfAbsentUser() and SystemUser.getBackDelegatedFiles() deleted a defined one absence period of the user * PortalScripting: The date fields were not included in EE.x archive folders read out scripting if format patterns are used in the EE.x. * When sorting columns in hit lists, the columns are in the hit list shrunken * Documents Manager: When creating a new user in the Documents Manager the settings "New Folder in the Inbox" and "Folder Back" were selected but when saving for the first time overwritten with the values of the standard user defined in Documents settings. This has been corrected. * Client V: At undocked file view the pdf print was not possible Extensions in 2044: ---------------------- * Client V: Ad-hoc distribution list configurator: So far you could have multiple parallel dispatch steps of the same type (e.g., parallel first user) do not create one after the other. These have always been combined into one step. This is now possible. * Setting the reference fields in autocomplete is now supported * PortalScripting: context.doMaintenance (String OperationsName) performs the specified maintenance method off. Analogue of the execution of maintenance methods in the Documents Manager, users should not actively work with the system. * New maintenance operation: clearStatusJournal nameFileType ActionId deletes defined status journal entries for the specified folder type e.g. clearStatusJournal lcmContract DlcStatusJournal_FileTypeChanged e.g. clearStatusJournal lcmContract * ActionIds: DlcStatusJour_FileTypeChanged DlcStatusJour_FileCreated DlcStatusJour_FileEdited DlcStatusJour_UploadNewFile DlcStatusJour_WorkflowCreated DlcStatusJour_StartWorkflow DlcStatusJour_ForwardFile DlcStatusJour_DecisionDone DlcStatusJour_CancelWorkflow DlcStatusJour_WorkflowFinished ---------- Build 2043 ---------- Important bug fixes in 2043: -------------------------- * When logging in a second time under SSO (auto-login, Quickview), the first session was ended and the second one not opened. Moreover, in this case, proper logout through ending the sessions in Documents and EE.x authentication (EasyWare) was not possible. * When clicking "Send" in the distribution list dialog, you could, if sending took long, still click buttons and thus take the transmission to an invalid state. * "Checkout & Download" now correctly locks the document. * The displayed document was not reloaded when reactivating document versions. * When displaying the script dialog in folders with user-defined actions, the folder was reloaded. * The scroll functionality (navigation top right) is now also available when you enter via the dashboard. * The user property fileLinkClassicClient for configuring the Documents file link URLs (Client V vs. Classic Client) in e-mails did not overwrite the global property of the same name in Documents settings. * If the field property "EASAnalyzer" is set to "text" or "linebreak", a warning will now no longer appear. * Data files converted using 'showBlobAsPdf" are now also correctly displayed in the external viewer. * The search mask in simple archive client mode with enabled MonoView is no longer half truncated when initially loading it. * In MonoView, in the case of a still unsaved working copy, the working copy appears instead of the folder list next time you log in. * In MonoView or KioskView, only the Documents file is now loaded to the view when you enter via the dashboard. * Client V: The Scan action was not hidden in the Web client. The Scan functionality is currently only supported in the Classic Client. * Client V: Dynamic folders: When you open and edit a Documents file from a dynamic folder, where the Documents file no longer matches the folder's filtering criterion, an automatic update is performed for the folder. * In the folder view of a static folder with the hitlist property, reference fields with display text from a string field that has been created in multiple languages have not yet been localized. The multilingual definition was erroneously displayed. * Switching between folder view, file view and script lists fully works again with the "monoView" enabled. * If the current Documents file has been deleted in the workflow step, the Documents server could crash. * Ad-hoc distribution lists can now also contain a "&", "<", or ">" in the name. * Creating archive notes now works again. * Enumeration and double selection list can now also be set via auto-complete. In JSON format, the values for double selection lists can optionally be String (for a single value) or String array. * When the user's first and last names are empty, the login is displayed in the status bar. * Dragging and dropping a data file directly onto a document tab now works again. * The Favorites button for Documents files has not always responded when adding it. * CheckIn/CheckOut now also works with special characters in the user name. * When "showBlobAsPdf" = 1 and "showBlobAsPdfInDocEditMode" = 0 was set, data files with existing conversion configuration could no longer be opened in local editing. * Gentable: Dynamic Select menus with dependencies for file fields now works correctly. * Gentable columns without specified width in the definition file caused rendering bugs with viewing. * Gentables with a wide range of columns could only be scrolled in IE11 and Edge after enlarging the monitor frame. * When you populated a Gentable Select field via script, the order of the displayed entries was random. * The defined width was not kept with Gentable columns with long column names. * When editing Gentable cells, you can now also use the "@" character. * If resizableRows = true was set in the Gentable definition file and you edited a cell, then the entered value was lost after enlarging the cell. * Workflow: Action links including authorization token: the generated link URL was incompatible with Tomcat 8 (illegal characters in the URL). * EBIS store: When an archive search was performed and the temporary search hit was updated after initial use, fields that the archive does not return (with empty field values) were hidden. This has been fixed. * Documents Manager: CSV export of decoupled lists (e.g. the fields for the file type) was no longer possible. This has been corrected, and extended with a wizard. * Documents Manager: Hide unnecessary notebook pages from the tab, depending on whether you open a file type or a Documents file. * Documents Manager: With EE.x schemas and EE.i archives, the notebook page "Scripting" was displayed twice. * Documents Server: The StatusJournal (Status tab for the Documents file) is now no longer delay-written. * EDA: If files were marked as deleted, searching for non-empty fields failed with an error message "bit out of range". * EDA: Updating a file referencing attachments of the previous version could not be found by serching, as they were not indexed. Extensions to 2043: ---------------------- * Scripting: new function named Folder.getHitResultset(). * Scripting: Context.createFile() has been extended for direct creation of archive files in EAS or EBIS. * Scripting: DBResultset.getString() now also supports SQL type SQL_GUID. * Returning tree.dropaction now also supports specifying a tab. * In the SOAP method getFileId() the Documents file is now searched in the archive that is specified in the archive key. When multiple archive servers were defined, this could cause problems. * SOAP with SSL now also works as a service. * Load backup: A feature was implemented in Documents 5.0c which causes automatically performing a reindex for the full text-based fields at the end of loading a backup. There was an error in implementation that caused deleting the full text index of the BLOBs for principals that already existed in the system and this had to be rebuilt using the maintenance operation "reindex blobs". * When using the XML export of a file type, user-defined actions for the tab are now also exported. * Full text filter: pdftotext: Update to version 4.0.0 * In conjunction with the update to Tomcat v8.5, some errors occurred with various, non-coded special characters ("{","}", and "|") in URLs. [Current Tomcat versions lately trigger an HTTP 400 (Bad Request) error here.] * The file type property "CheckACLOnOpenArchiveFile" is now also effective for EAS and EBIS stores. * AutoUpdateByRefFields: References that reference the file ID are now also supported (FileTypeName.idFile). In the AutoUpdateByRefFields property you have to specify "idFile" as the reference field name. * When attempting to create a file type with an already existing name, you will be displayed an error message and the Documents file will not be created. * In the dialog for script parameters, settings that are not available for the set type are dimmed. * Double selection lists in script parameter dialogs now support multiple default values. * In double selection lists, the system could not filter by special characters. * Maintenance operation: In the Documents Manager, the maintenance operation ScriptLog 1 or ScriptLog 0 can be used to set logging analogous to the documents.ini file at runtime. * Various enhancements to notes and stamps. For detailed information, see HowTo on request. * Annotations to archived documents are now also visible in PDF.js Viewer. * Some fonts are capable of loading an extended UTF-8 scope using the global property "enableExtendedFont" (default: false) (e.g. for language dependent special characters). * Automatic expansion of a (previously collapsed) file display after clicking a tree entry has now been disabled by default. * With script lists, setSelected(true) can now be performed for the Row object to select this row when viewing. * Documents Client SDK: GentableGridColumnModel now allows querying various additional attributes. A list and examples can be found in Client SDK documentation. * Documents Client SDK: The getFileFieldOptions method now allows outputting all options of a double selection list or a Select menu. * Documents Client SDK: New 'openTableDataDialog' method for simplified generation of Tabledata dialogs. For a more detailed definition, see Client SDK documentation. * Improved error handling for database access in the Gentable * EDA: A new analyzer "dateTime" is available for fields. This analyzer normalizes the datetime values according to ISO 8601. All values according to the English format and the German format are normalized. * EDA: Searching in a store via the Store Manager supports the specification of analyzer for the searched fields. The specification can be given in an additional field using the format "Fieldname1:Analyzer Fieldname2:Analyzer" This value is optional. * EDA: New parameter in the store configuration for overwriting the analyzer while indexing a file. [index] overwriteAnalyzer=yes/no With "yes" the analyzer given in the XML file will be ignored. Instead, the analyzers specified in the store configuration will be used. See also the parameters keywordAnalyer, textAnalyzer, dateTimeAnalyzer and linebreakAnalyzer. Default value is "no". * EDA: Like the parameters keywordAnalyer, dateTimeAnalyzer und textAnalyzer, the linebreakAnalyzer can be specified in the store configuration. [index] ; Linebreak analyzer shall be used for the fields Field3 and ; Field 4 linebreakAnalyzer=Field3,Field4 * EDA: Upgrade to Apache 2.4.28. * EDA: Upgrade to Sqlite 3.21.0. ---------- Build 2041 ---------- Important bug fixes in 2041: -------------------------- * LDAP interface: With large Microsoft AD systems containing large attribute values (e.g. members which must be read via Range query), it could happen that the LDAP job no longer terminated. * Load backup: jex files with a size in excess of 4 GB could not be loaded using the Documents Manager. This was only possible on the server side. * The recently used search masks of Advanced Search had previously always been saved regardless of current setting of the global property "Save recent search masks automatically". * The search source for full text search in Internet Explorer now displays the correct values. * In Windows 10, the Favorites drop-down list in IE and Edge was truncated when clicking the Favorites button of the Documents file when the tabs were collapsed. * PortalScripting: PortalScripts that return a Multiple Action now also support the return type "hitTree". * PortalScripting: With afterArchive scripts, the value of context.event was incorrect. * EBIS connection: The "ClosedRangeSearch" or "EEXClosedRangeSearch" properties are now supported. * Documents Manager: Editors can now select Documents settings only when they have the "Documents Administrator" option set. * If the save field for the data of the Gentable was write-protected and, in the next step, made re-editable, the positions of the Gentable were no longer editable. * Client SDK: executeScript() methods in any context now return the return value of a script correctly in case of { async : false } (default). * EDA: If Documents files in a store are flagged as deleted, the search could fail after a non-empty field, with an error saying "bit out of range". Extensions to 2041: ---------------------- * The left section with the menu bar and tree view is automatically collapsed, from a threshold value, when minimizing it. * The global property "quickDropZoneInEditMode" now allows preventing uploading documents via the QuickDropZone in edit mode. * EDA: A new analyzer named "dateTime" is available. This normalizes values to the format according to ISO 8601. This analyzer is only intended for specific use cases. Ordinarily, it need not be used within the context of Documents, because Documents itself ensures the correct format of date values. ---------- Build 2040 ---------- Important bugfixes in 2040: -------------------------- * Client V: Kiosk mode now works. * If multiple users edited, time and again, a Documents file each of the same type and saved it, never performing a new search or going to a different dynamic folder while doing so, then the data of a completely foreign Documents file sporadically appeared in the hit list after saving a Documents file. * After deleting a Document file via a file or folder action it was not removed from the view. * When deleting documents from the document tab, the number of existing documents was not refreshed. * Deletion following the "Archive and delete" action now behaves exactly as normal "deletion" of Documents files. The corresponding Documents file does not open here (lastFile or Nextfile). * The selection was lost when sorting, deleting and searching in lists on the client side. * When dragging and dropping lines in the overview of the folder tree, display and Java script errors occurred. * Hit highlighting now also works when changing the Documents files via arrow keys * After you confirm the link dialog, the associated field will be focused. * Listing PDFs in the PDF print dialog is now in two columns. * The pdfjs viewer is no longer reloaded after each document switch. * When starting distribution lists, the routing step actions might no long- er be displayed. * When starting edit mode, the cursor now also jumps to the first editable field on the document tab. * The tab type "early archived documents" now works again. * The set column width was lost when sorting reference lists. * The state of the horizontal separator is again persisted. * The edit button was not always disabled with the configured Access script. * When tabbing in to a date field, the entire field content is now selected. * When switching from field display to document view via the preview (thumbnail), field values are now correctly saved. * The last used search mask of the extended search was always stored independent from the global setting. * The Gentable was not always displayed on archived documents. * Advanced search for active Documents files: Operator characters were not evaluated in either "Owner" or "Last editor" search fields. Negations with "!" were ignored and multiple terms were always OR linked, whether they were appended with "&", "|", or only bookmarks. This has now been fixed. * If a QuickView-query does not return any hit, the dialog for the extended search will not be displayed anymore, if the feature "ExtendedSearch" has switched this off. * Immediate opening of a document when creating a document template did not work with a configured ActiveX in Internet Explorer. * Gentable lets you define the numberFormat tag for numbers in order to format numbers. Here, the value 0 was not assigned decimal places accordingly. * In Gentable is was not possible to modify the month in date- and timestamp- fields. * In Gentable some labels were not loaded in the correct language. * After a query in the Gentable the result was empty. * Gentable can customize their sizes in the XML file using the "width" and "height" attributes. * Database queries for Gentable Select fields are no longer discarded when executing "reloadRow" * The Gentable could not be scrolled in Tablet mode. * Switching from a register displaying a Gentable to a status register with the workflow monitor, previous entered data were not stored. * After switching the document- or field register sometimes a wrong attachment amount was displayed. * In specific cases, non-editable checkbox fields in the Gentable could still be edited at short notice. * Saving the table data (not displayed) via the
tag in the Gentable has been implemented. * With Gentable fields including configured autocomplete, the onChange Handler of the field was never executed when selecting entries. * Client SDK: If, through the fixed callback items "File.beforeFileEditCommit" or "Gentable.beforeStore", any field values of a Documents file are changed using, for example, the FileContext, these were incorrectly ignored through the changes made by the callback. * The callback "File.beforeFileEditCommit" will now also executed, if during editing of the file, a workflow button is pressed. * Client SDK: At a closed file the callbacks "File.beforeFileRender" and "File.afterFileRender" will not be executed anymore. * Gadgets that are also defined as custom action for public folders are now also executed in the folder context. * ActiveX component for local editing in IE: If the "Edit" command for a file type is not available on the client computer, an "Open" command will be alternatively sent to the desktop. Note: If you want to install the new ActiveX extension (1.7.0.2) via the browser, you will have to remove the pre-version 1.7.0.0 manually. An enforced update was left out. * CheckIn-CheckOut: The were problems with the case insensitivity of the login name at check-in. * PortalScripting: Script parameters with spaces or special characters in the name caused erratic behavior with Web Client V. The Documents Manager now refers to invalid script names in the name. * PortalScripting: The ReturnType multipleAction has not supported ReturnType "download:". * Due to an error in version 5.0b 2030, the specified number of unread Documents files in the Inbox folder on the Classic Client overview page was wrong. * The CSV export and XML export from the Tasks and Resubmission folders was corrupt if more than 100 Documents files were exported. In addition, the column heading for the resubmission comment was missing from the Resubmission folder's export. * Reference fields: The referenced fields were not deleted with a set "ReferenceFileClearDefaultValuesOnDeselect". * AutoText: The AutoText %loginAccessProfile% did not return any value since version 5.0b. This is fixed. * The file status entry "Archivmappe" was not multilingual. * In setup, various errors in the context of installation for the MySQL and Oracle databases was fixed. * Oracle version: The user created through the create_user.sql script did not have rights. (CREATE PROCEDURE, CREATE ANY INDEX, EXECUTE CTXSYS.CTX_DLL) * Documents Manager: The File type-> Actions-> Delete Documents file setting for hiding the delete action from the Web client was only considered for active Documents files but not for archive files (EDA/EBIS). * With EDA search queries using the OR operator in the filter expression, some parentheses were incorrectly set. This did not affect Or operators within a search field (e.g: "SETMETHOD(2)FieldName~'Value1'|'Value2'"). * EDA and EBIS file with script exit on file field caused an error message. * EE.x connection: If during a user login an automatic view import was performed the user was initially unable to access new and changed views. This was only possible after another re-login. * EE.x connection: The functionality "Add fields" at archive files was implemented. * If, in an imported EE.x schema, an horizontal separator was placed behind a group of fields with the "Visible number = 0" property, then in file view this separator erroneously appeared before these fields. * At multible archive server systems, that contains an EE.x naive archive server, which was not the main server, it was possible that there were problems with the version register at archive files. * EBIS-Interface: If attachments without a link to register were archived (e.g. monitor.html), newer versions if EBIS returns "_unnamed" as register name. This behaviour is now supported and the attachment will be added to the first documents register at displaying the archive file. * EDA: The --stop-at-time switch of the eas.exe tool continued to import Documents files, although the canceled time had already been reached. * EDA: During the archiving operation, values such as "10/0012/2008" were incorrectly normalized as date values. * EDA: Searching for empty fields did not work with fields to which the text analyzer is applied. * EDA: Length limitation with indexing (minimalWordLength/maximalWordLength) impacted on index fields, although useWordLengthLimitsOnlyForAttachment was active. Extensions in 2040: ---------------------- * PortalScripting: Support Visual Studio Code as development plat- form for PortalScripts. You can download the plug-in from https://marketplace.visualstudio.com/items?itemName=otris-software.vscode-janus-debug Initial features (more under development) - Download and upload scripts from/to Documents server (individually, or entire folders) - IntelliSense - Execute the scripts on the server - Read the server console * Client V: Support gallery view: By activating/configuring the two properties ($thumbnailsCMD, $thumbnailsAllowedExt) in the Documents.ini file, you can enable a gallery view for the document tab. The size of the preview images should be set to 300x300 (-resize 300x300 in the $thumbnailsCMD call). * Client V: The "monoView" property (global or user) enables a layout for Client V which is equivalent to that of the Classic client. Either the folder or file view is then represented, instead of both views next to each other. * In the Out-of-Office dialog, you can now specify out-of-office time. The user will then be automatically set to out of office/in the office. * Update of the EDraw-library for viewing Word/Excel documents in the Internet Explorer (OfficeViewer) to the newest version. * JSON files can now be displayed via a viewer. * The font Ionicon was updated to version 3. Some names were changed in the font. Therefore if the font was used some adjustments has to be done after update https://ionicframework.com/docs/ionicons/ (The name needs an "ion-" at the beginning) * After switching to edit mode, the pdf.js viewer is now no longer reloaded. * Choosing the position of annotations in the PDF viewer is now arbitrary. * The global property annotationbuttonPrimaryToolbar allows displaying the buttons for creating the annotations additionally in the primary toolbar. * The "DropZoneOpenDocumentAfterDrop" property now allows you to prevent opening documents immediately when dragging them over the DropZone. * In addition to Entypo, Ionicons were added. Instead of Entypo's "entypo:folder" for Ionicons is "ionicons:ion-folder". * Custom fields may have Entypo, Ionicons, and colors. Example of the value: entypo:folder;color:blue; * The "renderIconColumn" property turns on the icons of the file extensions that you can see on the document list. The icons of the file extensions are converted from SVG to font. This enables coloring the icons, which you can customize in the skin file (see base.less "@gridview-otris-icon-". Preferably, overwrite them in your own skin file). * The new global property "folderIconHeritage" was added to turn on/off the inheritances of the icons to the tree view. * TreeCharts now support again headers. * The Property "hasCheckInCheckOut" is now also available at the user * Double selection lists support the keyboard shortcut Ctrl+A to select all entries in a column. * Unless a (default) value is specified, the global property "showEmptyMandatoryOption" with the value "true" allows displaying and selecting an additional, empty entry in edit mode with mandatory enumeration fields. Once a non-blank entry has been saved, the blank entry from the drop-down list will no longer be displayed. * The image in the header pane now allows you to copy the Documents file to a folder, for example, using drag and drop. * A drag and drop functionality can be implemented for the tree nodes on script trees. For details, see ScriptExtension API. * The global property additionalSettingsScript lets you define a script that allows generating additional entries for the settings menu (call via the gear icon bottom right). (For details, see HowTo) * Script lists now enable evaluating a reloadRow event. This is performed using the addListener(event) and getScriptListEvent() methods. For details, see ScriptExtensions API. * Client V: The "DynamicFolderWithBlobInfo", "StaticFolderWithBlobInfo", "HitlistWithBlobInfo" and "LinkRegisterWithBlobInfo" properties for displaying the document column in hit lists are now supported. * The "PrintPdfOnlyAttachments" property now works correctly. * Script lists now allow displaying a group checkbox for selecting all entries of a group. * Documents files are removed from the viewer after they have been deleted. After that, the recently visited Documents file or an empty view is displayed. * Client V: Logging field changes: Modification comments as suggestions are now supported. * In a Gentable definition file, the resizeColumnsToContent tag can now be used to automatically customize column sizes to their content. maxColumnWidth enables defining a general column width and maxWidth a specific maximum width for a column. * All asynchronous exectueScript methods that exist in the Documents client SDK now optionally support parameters configured in a script through a script parameter dialog. For more detailed documentation, see Client SDK documentation. * Documents client SDK / TableData: Alternately to the previously familiar pop-up window, TableData can now also be displayed as a modal dialog. To do this, the dialog can be opened using the new "DocumentsContext.openFrameDialog(...)" function, which is documented in the API documentation, including an example. * Client SDK: The reload function for a Gentable row now returns a Promise. For more detailed information, see Client SDK documentation. * Client SDK API: The two fixed callback items "Gentable.beforeStore" and "Gentable.afterStore" are now also executed when resolving workflow actions. The following new fixed callback items to Documents files have been added: - "File.beforeFileCustomAction" (before custom action for Documents file) - "File.afterFileCustomAction" (after custom action for Documents file) - "File.beforeFileWorkflowAction" (before workflow action for Documents file) - "File.afterFileWorkflowAction" (after workflow action for Documents file) More details can be found in the client SDK API documentation. * Documents Client SDK: An interface for a browser-side location based on HTML5 that allows user dependent storage of almost any data was implemented. The data can be saved both per session (SessionStorage) and across sessions (LocalStorage). For detailed information, see client SDK API documentation. * Documents Client SDK: The behaviour of the get/setFileFieldValue(s) methods can now be influenced. For detailed information, see client SDK API documentation. * With reference fields in Documents files, you can optionally add a "Delete entry" button. The "fileReferenceClearButton" property can be configured in the Documents settings across principals (default: false). * Size and position of the Reference field dialog are now kept for the user on the same PC & browser. * Quickview for Archive: The global property openSingleHitResult=true was not supported. * The two new properties "fileEditCommitOnEnter" and "fileEditStartOnDoubleClick" in user and Documents settings (by default, respectively, "true") allow disabling the switch to edit mode by double-clicking and saving the Documents file by pressing the Enter key. * By setting the disableDisplayRegisterShortcut property, entering special characters via ALT + Code can now be enabled. * The status of the different trees is now locally saved for the duration of the browser session. * The width of the columns of hitlists will now be initial adjusted to width of of their content * The global property "addToFavoritesButton" now enables displaying a Favorites button on the file cover which adds the file to a Favorites folder when clicking it. * AutoComplete now allows setting multiple fields in advanced search. * Documents4 inherited the global property "openSingleHitResult". * Advanced search now directly opens again when no hits have been found. * Folders now allow configuring search sources for opening Advanced Search using "searchMask:" in the Context field. * Search: In addition to EE.x, the "SearchIndexSelectMode" property now also applies to active Documents files. This means that if a field is both primary and full text indexed, the user can precede the search term in the advanced search mask with an ID (Standard: '=') to use the index type of lower priority. * After importing backup / jex import, the full text index for full text indexed fields will now be automatically rebuilt (analogous to the maintenance operation "reindex fields"). The $ReindexFieldsAfterJexImport = 0 property allows turning this behavior off again. * With internal search, the special characters "%" and "_" were often not escaped in SQL-LIKE filter conditions, so primary index search for the "25%" string also inadvertently returned hits containing the text "25 meters". With MSSQL, even square brackets as well as the caret "^" could cause problems in this respect. Filter expressions in dynamic folders or scripts which have involuntarily used this error may now have to be corrected. The wildcard for arbitrary strings is "*", not "%". No wildcard is intended in Documents for individual characters. * Documents Manager: You can now define Favorites and the file type categories and scripting categories are newly sorted. * In the Documents Manager, the tree nodes "All scripts" and "Scripts" were combined. The same applies to "All file types" and "File types". When selecting the node, all items are displayed in the list on the right. When extending the node (if used) the categories are displayed first, and only below them the respective items. By setting the Documents property "OldCategoryStyle" to "1", the old representation can be re-enabled. This requires restarting the Manager. * Documents Manager: While inserting fields into named search masks or hit lists, the field selection list is now sorted by field names. * The Documents settings property AutoStartScript=Scriptname can be used to define a portal script which will be executed for the associated principal on server startup. * After canceling file editing via afterCancelEditScript, the Documents file was still in edit mode when returning an error in the script. * PortalSripting: Advanced configuration capabilities for fields in scripting dialogs (PortalScript parameter) * The scripting class XMLHTTPRequest now supports binary data and file transfer. * The scripting class XMLHTTPRequest now also supports Digest and NTLM as authentication procedures. * PortalScripting: The DomParser.write() method now has an additional optional parameter named "prettyPrint" that controls the more readable format of the generated XML file. * PortalScripting: The new ArchiveServer.submitChanges() method updates the changes to the connection pool for the archive. * PortalScripting: New method for DocFile: DocFile.getTitle(String locale), DocFile.getid(), DocFile.getCreator(bool asObject), DocFile.getLastModifier(), DocFile.getCreationDate(), DocFile.getLastModificationDate() * PortalSripting: The HitResultset constructor has received an additional optional parameter named withBlobInfo. That parameter specifies that the HitResultset contains information about the BLOBs of the hits. The DocHit.getBlobInfo() method allows querying an xml using BLOB information. * Script exit: The Documents settings property decreaseSearchStoresScript=Scriptname allows defining a script that limits the EDA and EBIS stores to be represented in advanced search. For details, see portalscripting.chm * Script exit: The Documents settings property decreaseSearchFileTypesScript=Scriptname allows defining a script that limits the filetypes to be represented in advanced search. For details, see portalscripting.chm * PortalScripting: SystemUser.getAllFolders() returns all private and public folders for which the user has read rights. * PortalScripting: New method DocFile.getFieldAutoText. For details, see portalscripting.chm * Return values in the afterSave script are now evaluated and executed to reload, for example, lists or trees when saving a Documents file. * Folder: The label of a folder can also be AutoText, e.g. %runscript:Scriptname% * At the AutoText "fileTypeTitle" you now can append the wanted locale "fileTypeTile.en", to get the file type title in the wished locale * The TabletMode now supports fulltext queries. * Portal-backup / jex-export: With the documents.ini property $ClearFilePoolAtExport 0 the clearing of the file pool can be switched off. * The Apache Tomcat Server has been updated to version 8.5.15. * EE.x: When a document search included multiple schemas and the search continued in the first search result, only the hits of a single schema initially appeared. The remaining hits only appeared after resorting the schema. * ArchiveXML.ini: Automatic ReLogin with session timeout: By default, a test for connection timeout of Documents to EE.x occurs every 600 seconds. This is not enough with lower timeout in EE.x. Therefore, the archiveXML.ini file in section [EEX] can be augmented as follows: ReLoginCheckInterval=n and n=Value in seconds; for n=60, a check is then made every 60 seconds. * EDA: New switches in Store configuration that allow setting the analyzers for file fields: [index] ; Keyword analyzer is used for Field1 & Field2 keywordAnalyer=Field1,Field2 ; Text analyzer is used for Field3 & Field4 textAnalyzer=Field3,Field4 ; DateTime analyzer is used for Field5 & Field6 dateTimeAnalyzer=Field5,Field6 The information will be overwritten if you specify a value in the EASAnalyzer property for a field in the Documents Manager. The switches are intended only for specific use cases where the analyzer will be explicitly defined in advance. Ordinarily, setting this is not necessary because Documents manages the use of analyzers. * EDA: New section [mirrorStorageSystem] in the Store configuration. Here you can set that the WORM section of a store is automatically mirrored. The switches are: - active=yes/no Enables the mirrored WORM. If active, archived files and attachments will be additionally written in the mirrored WORM section. The default value is "no". - root=/path/to/mirror Path to the mirrored WORM section. - type=filesystem|nas Indicates the type of the mirrored WORM. + filesystem: The mirrored WORM section is a file system. + nas: The mirrored WORM section resides on an NAS. Here, additional checks are made during archiving that the NAS is accessible. The default value is "filesystem". * EDA: Upgrade to Apache 2.4.27. * EDA: Upgrade to OpenSSL 1.0.2l. * EDA: Upgrade to Sqlite 3.19.3. * EDA: Upgrade to Tika 1.16 (Linux only). * util.otrLogger: New version 1.3.0 with the following extensions - New log level FATAL with the Logging function otrLogger.logFatal(). Messages of this level will be cached. For accessing the cache, the funtion otrLogger.addMessageToCache(), otrLogger.clearLastFatalLogMessages() and otrLogger.getLastFatalLogMessages() are provided. - The log level FATAL is the new default log level. If no log level is specified in the global property CustomJSLogLevel, only FATAL message will be written to the log. - New function otrLogger.setContextFilter(regex) and otrLogger.resetContextFilter() for setting a filter on the log messages. The filter can be also specified in the global property CustomJSContextFilter. As a value for the filter, a regular expression according to JavaScript can be provided. This expression will be applied on the context of a log message and if the regular expression matches, the log message will be written to the log. Example: CustomJSContextFilter=^otrTest All message with a context beginning with "otrTest" will be written to the log. If a filter is not specified, all messages will be written to the log. ---------- Build 2034 ---------- Important bugfixes in 2034: -------------------------- * Because of the vulnerability CVE-2017-5638 in the Apache Struts Framework, it was patched to Version 2.3.32 * The quickview feature now supports the automatic generation of the hittree by using the &_tv=1 parameter * The upload of files through the upload-dialogue had sometimes the complete filepath in the InternetExplorer * Annotations in the pdfjs-viewer now supports rights for special users * The option "next file" in Workflows is now supported in editmode * Workflow: Files cannot be send to users, which are blocked * Using the workflowstep-button in editmode, sometimes changed data or files weren't saved * The last search mask wasn't saved when the property autologuot="true" was used * The local editing now supports UTF-8 and special characters in filenames. * Changing the version of a file didn't refresh the view of the shown attributes of the file. * Client V: Now errors can be returned in the onUploadDocumentScript * The Dashboard is now able to show folders with brackets in the name * Userdefined actions at folders now show a title in the popup dialogue. * The passwort field did a recrypt of the value, so it couldn't be read in the scripting * Gentable: Checkboxes fired events, even if they weren't in editmode. * Gentable: It wasn't possible to use copy/paste shortkeys in the cell- editors. * Gentable: Checkboxes-events were fired twice * Gentable: fields now support the maxLength attribute. * Gentable: After save the shown value of a select-field was the key and not the label. * The tab type "Early archived documents" is now supported. * The order of a document tab was ignored. * The selection of documents at a document tab was wrong after sorting. * The filingplan didn't show entries with a & in the name, only "null" was shown. * ScriptTree - DropAction can now return an error with context.errorMessage. * Outbars are able to remove the root node of the displayed tree. * The license check of minor workflows needed to be corrected. * PortalScripting: the documents.ini property $DisablePortalScriptCache crash under load the server * PortalScripting: A cache flag at the Folder was not updated after using one of the following functions: - Folder.addSystemUser() - Folder.removeSystemUser() - Folder.addAccessProfile() - Folder.removeAccessProfile() As result the access right to the folder was wrong * PortalScripting: ScriptCalls will now run in an own search session to support the setSuperUser() functionality * Filetype-property: updateByRefField did not work for fulltext fields * Documents-Manager: users can now be assigned to an organisation * Documents Manager: changing files: this function could crash when multiple threads are used with only a few folders * In rare conditions it was possible that a file during the workflow was not delivered to the users inbox * The function AutoUpdateByRefFields didn' t refresh the fulltextindex for fields with this attribute. * The ClientSDK Method getFileFieldValue now returns the correct values for ch * The Client-SDK Methods setFileFieldBGColor and setFileFieldBorderColor now support select-fields * After the recovery of a data backup / jex-import now a "reindex fields" will be done by itself to rebuild the fulltext index for the fulltext indexed fields. The documents.ini property $ReindexFieldsAfterJexImport 0 disables this feature. * EDA: Sometimes the versioning of archive files could fail, if there were registers which include documents with the same name. * EDA: EDA now supports search highlighting * EBIS: numeric search with decimal point was corrected * EDA: It could not be search for empty fields. * EDA: The missing of an attachment was not appropriatly logged in the autit-trail. * EDA: In the modus with general annotations (personalAnnotations=no), other users' annotations could not be found, and delete neither. * EDA: Attachmetns with a space in the file name were not index on Linux systems. Extensions in 2034: ---------------------- * With the DOCUMENTS settings property FulltextMethod = 0 you can activate wildcard *word* searches for full fields on Documents and archives: Note: This setting can lead to high DB load / archive load. * Client SDK: The reload function for a Gentable line now gives a promise back. The promise is set to the state 'fulfilled' after the Data processing has been completed. * Client SDK: The new I18NContext now also allows access to over External resources provided with properties files Translations. This allows the client-side code in exits and GenTable easy internationalization. Examples are in the current client SDK API documentation under I18NContext. * Client SDK: Areas of the web interface can now use the methods Start / stopBusyPanel can be temporarily disabled for user input. Examples Are documented in the current Client SDK API documentation. * Client SDK API: The two fixed callback points "Gentable.beforeStore" and "Gentable.afterStore" is now also used when triggering workflow- Actions. The following new fixed callback points were added to folders: * "File.beforeFileCustomAction" (before custom action on folder) * "File.afterFileCustomAction" (after custom action on folder) * "File.beforeFileWorkflowAction" (before workflow action on folder) * "File.afterFileWorkflowAction" (after workflow action on folder) Refer to the Client SDK API documentation for further details. * Non-editable cells in the Gentable are now optically distinguishable * Custom actions on the folder can now have a property "useInEditMode" to perform actions only when the displayed file is not in the edit mode. * Documents.ini: Example entries supplemented for EASYView usage. * Mp4 files can now be viewed in a viewer. This must be for the time being In the viewer.xml are still activated. * Experimental implementation of CheckIn / CheckOut features by download- functionality. Disabling and sharing documents is possible management Of the files is done manually by the user. * PortalScripting: Until now the ScriptEnumCache (see portalscripting.chm) was not be used for enum values in hit lists and search masks. * For horizontal separators, the default setting is now taken into account. A 1 or true can be set for the open state.Conversely, the separator can be flipped with 0 or false. Astorage of the value per file type on the user will continue. * If a hit list contains no fields, an error dialog will now be displayed. * docfilter: Update of pdftotext to version 3.04 * EDA: It can be specified that a WORM is located on a NAS. The specification can be given with the parameter "type" in section [storageSystem] of a store configuration: [storeageSystem] type=NAS In case of NAS, EDA will check the availability of the NAS before archiving a file. * EDA: A verification of a file can be enforced before it is delivered to the user. If the file is not valid, then an error message will be presented to user. The verification can be enforced with [archive] strictVerify=yes/no "no" is the default. * EDA: The migration tool ecftoeas is able to convert two-digit years to four-digits years. The cutoff between 20th century and 21st century years is specified by --two-digit-year-cutoff 1970 I. e., "69" will be converted to "2069" and "70" to 1970. "1970" is the default. * EDA: Upgrade of Apache HTTPD to 2.4.25 * EDA: Upgradte of Sqlite to 3.18.0 * EDA: Upgrade of OpenSSL to 1.0.2k ---------- Build 2033 ---------- Important bugfixes in 2033: -------------------------- * At the improved fetching of data from the db, an error occured according too many bind parameters. After that error the server crashed. ---------- Build 2032 ---------- Important bugfixes in 2032: -------------------------- * EBIS archive: In the case of the EBIS connection, the search functionality for enumeration field was no longer correct. There were duplications of the search term. * Client V: Tooltips of custom actions were not displayed * Client V: The Property ReferenceFileClearDefaultValuesOnDeselect worked no more. * Client V: When renaming documents is also "CTRL + x" or "CTRL + v" cut, paste, copy possible * Client V: In the workflow the option "after forwarding show next file" is supported * Client V: Dropdown lists in the Gentable were covered by the native PDF viewer * When using the global DropZone, unreleased register were not ignored as possible destination registers. * Client V: Storage of table data (not displayed) via the tag in Gentable has been implemented * DOCUMENTS Manager: If a user profile has been assigned to an access profile, a Cache to the user holding the valid access profile is not updated. This was only done with the next login of the user. * DOCUMENTS Manager: When subfolders were moved to folders, the cache of the parent folder was not updated immediately, so it looked as if there are two subfolders. Extensions in 2032: ------------------- * Quickdropzone - Default tab: With the new property DefaultDropzoneRegister=register-name at the file type can be defined, on which a document is to be uploaded when using the global drop zone. * Comment display in the document register: On the register, file type and Documents-Settings can be done with the DocumentListWithComment = 1 property. The presentation of the document commentator is activated in the document list. * Client V: With AutoComplete, you can now have multiple fields in the advanced search be set * defaultFeatureConfig is now configurable via access profiles. * PortalScripting: with context.returnType = "showNewFile" can now also the register be specified, that is to be displayed: return docFile.getAutoText ("id") + "& registerId =" + registerId; ---------- Build 2031 ---------- Important bugfixes in 2031: -------------------------- * A bug in the LDAP implementation had forced a server crash if requesting big resultsets * If during an archive search a new login call was done by the same user, item was possible that the user was blocked by the DocumentsServer until the server was rebooted. The problem mainly occurred with SSO configurations. * Concurrency problem in storage management at server-side asynchronous ScriptCalls fixed * Scrolling of document fields revised: TAB usage corrected * When updating a folder via UserExit on the folder field in the document register, the focus has not jumped back to the previous field. * When changing field values ??in the Gentable by changing and focusing out, the display not always updated. * User exit buttons are now disabled for read-only fields (Not for fields that are only write-protected through the exit dialog). * For encrypted repositories, the "Local Edit" function (only in IE with installed ActiveX drop zone available) may crash the DocumentsServers. * It could happen, that HTML was unmasked into a hit list and thus parts of the hit list were not displayed. * With the extended search, the field types are listed, checkbox, bool and doublelist the correct default values ??are selected, if they have the correct script "FillSearchMask" from the PortalScript API. * Advanced search: The dialog did not open anymore if the last stored search (globally activated) had exactly one hit list entry. * File search: A query with more than 10 sorting columns could the DocumentsServer crashes in the default configuration. This is now fixed. The error occurred mainly with dynamic folders without archive participation in the MS-SQL version. * No multi-line comment was used when uploading documents become. * The download by clicking on an action in the document register worked not for files with special characters in the filename. * Corrections for AutoUpdateByRefField Extensions in 2031: ------------------- * The hit list can now be changed again during the display of the hits. * The GentableGridModel.addRow () operation now allows the position at which a new line should be inserted, as an optional parameter (For example, {index: 2}) - A new line can now be used as a simple object- literal (e.g., {unitprice: 339.90, itemtext: "leather chair, black"}) be handed over. * New field property "layoutFixedWidth" for date, time stamp, and bool to ignore the fixed widths in the map layout (default: true). If the value is false, these are set with a flexible width (like the other fields), as long as no fixed width (in pixels) was specified. * For file fields of the type date and timestamp has always been automatic the popup or the DatePicker been opened if the focus (for example, via tab Or mouse click) into the input field or automatically, if this field is also the first field in any field register. This behavior can now be changed using the "datepickerPopupMode" property Documents settings are turned off. As values ??are here "focus" (Default) and "button" can be configured. With "button" the popup is still only button. * Shortcuts can be disabled via the global property "disableShortcuts". * The Gentable definition can now be created using a script. The name of the script is set using the mapping property "gentableDefScriptName". * Using the tags and in content of a mail, will the server create a mail with the content text/html and text/ plain. * Performance optimizations for MySQL and large hit lists * EASY Wizard Scripts for EBIS / SmartArchive ---------- Build 2030 ---------- Important bugfixes in 2030: -------------------------- * The login mask displayed turned-off principal languages anyway. * The language displayed when opening the login mask now matches the first portal language * Nameless archive hits could not be opened. * A hit list tree could not be created for hit lists containing archive hits. * Open calendars for archive files were not closed after saving them. * An error was triggered while dragging and dropping archived documents. Dragging and dropping individual documents that have been archived is now prevented. * The DropZone now saves the fields (that may be displayed) of a Documents file without checking possible constraints (e.g. mandatory) while uploading. * In Internet Explorer (with ActiveX plug-in), downloading documents via drag and drop onto the desktop, etc. now works properly again. * No error message appeared when uploading empty documents. * The folder tree might have selected multiple corrupt entries. * If an error occurs in a configured workflow, although this was displayed, the Documents file was not updated to display the error on the monitor. * With Update Documents file with UserExit through Focusout, the Documents file might result in an undefined state when clicking Save. * After updating a Documents file via user exit, the file navigation feature on top right had vanished. * The "alwaysEnabled" property works again for user-defined actions with FileRegister. * In PDF.js viewer, the current language of the logged-in user was not used for the menus, etc. * PDF.js Viewer: Error HTTP 500 Error for file names with special characters has been fixed. Internal/external view and download now work. * HTML viewer did not have full height in the external window with Internet Explorer. * Password fields with the enumeration value secure are now supported again. * HTML field type: Saving the Documents file was possible even though the field was mandatory and with empty content. * When displaying a file plan in the outbar, the technical name of the outbar was displayed as a label for the root node of the file plan. The identifier of the outbar is now used as a label. The root node can therefore also be defined again in multiple languages. * A file plan field could not be set if this was a required field and other required fields of a Documents file were empty. * Icons for user-defined actions for FolderToolbar could not be displayed. * User-defined actions with FolderToolbar can also display Entypo instead of icons. * Outbar and margin can also display Entypo instead of icons. Example: entypo:folder * Deselecting Gentable rows via SDK-API no longer worked. * Conditions were not considered with ReloadRow in the Gentable. * An empty Gentable might be displayed when switching tabs even though the user did not have any read rights. * The Gentable was not displayed with document tabs for archive files. * When editing a text field in the Gentable, you had to press Tab twice in order to jump out of the field. * With the Gentable turned on, the monitor was no longer displayed unless it was explicitly configured as a separate tab. * In Gentables with a wide range of fields the fields at the back might not be editable and buttons might not be clickable. * Script lists can again be used to display images in compact view. * With execute script, script lists now support again the returnType "refreshScriptList" to reload the list. * Hit list trees did not allow opening archive files. * Following a user-defined action for an archive file, the corresponding hit vanished from the hit list. * Rows in compact view are now only as high as their content. * All document tabs now display thumbnails of documents on the file cover (Advanced setting "Preview" for file type) correctly again. * When the marginal column in document view was collapsed and then the Documents file was set to edit mode, the Edit button was not displayed. * Auto-complete fields are now also supported in gadget forms. You can look up the necessary configuration in the Gadget API. * Portal Scripting: The server could crash if a Documents file in PortalScripting was set to In progress using startEdit(), canceled with cancelEdit() and an afterCancelEdit script was defined. * Portal Scripting: A non-public operation of the Systemuser scripting class could, in specific conditions, cause the server to crash if the script wanted to generate a FielResultset or HitResultset in the further history. * Portal Scripting. CheckMandatoryOnSave=1 now ignores mandatory fields if these were write-protected or hidden via the DecreaseFieldRightScript field. The previous behavior can be enabled via CheckMandatoryOnSave=2. * PortalScripting: XMLHTTPRequest: PUT request was incorrectly supported. * In a workflow, only the initiator was previously able to cancel transmission. Now all users with the file type right for this action can do this. * The AutoTexts accessProfilesGACLFilter and accessProfilesGACLList also returned access profiles configured to not display Documents lists. This has been corrected. * Print templates containing umlauts in the rtf file name have displayed an error on submission after "Search template for replacement tags". * E-mail messages from Documents: leading or trailing spaces in an entered e-mail address were not removed, causing error messages * The monitor separator was not displayed in tablet mode. * After creating a Documents file from a folder, that file is also displayed in that folder. If editing that Documents file was canceled, the Documents file was not removed from the folder. * In the "Deleted items" folder, the user-defined actions are now also displayed in the drop-down list. * If an "after save" script deleted a Documents file in edit mode, you were unable to open a new Documents file from the list. * Some of the typing errors in the Documents Manager have been corrected. * Backup recovery wizard: Linux now also allows uploading the pem file. * The "Show in lists" property will now be set to false in Portal Scripting and in the Documents Manager if the user does not have Documents access. Otherwise, the settings of the default user or the default settings will be used. * Different errors were fixed in association with local editing of documents. Simultaneous local editing of multiple documents (via ActiveX Control or Java Applet) now works correctly again. After uploading the documents, these are also displayed correctly again in file view. * The labels for monitor and status in the (collapsed) RegisterBar are now displayed in the correct language. * EE.x: The result of setting the "precisionNumeric" property when archiving in EE.x was that fields that must be integers according to the schema definition were transmitted with decimal places. This particularly affected the EE.x system attribute "LIFESTATE". Through correction, a prior check feature for numeric values was built in. The attempt to write a fractional number in an EE.x integer field is now already recognized on the Documents side, and rejected. * Simple archive client including LDAP: The LDAP scripts (2.1.7) in Documents version 5.0a HF1 were not executed, owing to a missing signature. This error did not occur when a PortalScripting license was available. * EBIS interface: Fixes to support EBIS 1.6 * With documents located in the EBIS store, the "Add notice" menu item was hidden because this is technically impossible. * With EBIS files, the links in the versions tab did not work (error message: "Could not read file data"). * After renaming an attachment for an EBIS file, that attachment was missing from the new Documents file version. * When saving a text note in EDA, an empty error dialog opened even though no error had occurred. * Correction to verification with Workflows=999 and workflow users with simple archive client licenses * Fixing SQL error in the Oracle version: The DocFile.Key column is of the CLOB type; sorting by this type is not possible. Customizing some of the code. * EDA: Due to an access conflict on the files for the audit-trail, the migration via ecftoeas could not started, if the EDA server was running. ecftoeas has now a new parameter --autit-trail-path /path/to/audittrail.log This parameter allows to specifiy an additional audit-trail file that is used for the migration only. * EDA: Sorting a hit list of a search with a wildcard only ("*") crashed the EDA server. * EDA: Negated search with a wildcard only ("*") crashed the EDA server. * EDA: The characters "" and other special characters were not processed correctly in the EDA annotations of file. * EDA: The function "$ifnull()" for the field-based storage strategy did not handled missing values correctly, leading to storing files in the wrong folder within the WORM folder. * EDA: If a filed should be ignored during the migration, a name must be specified in the mapping file. This is not necessary anymore, i.e., 1001^ignore instead of 1001^ignore Name * EDA: Hit lists of date range queries with an open end had to many hits. All hits before the date range were included as well. * EDA: Not all EDA annotations of a file were delivered by EDA, if the personal annotation were deactivated by the corresponding INI parameter. Extensions to 2030: ---------------------- * Performance optimizations for the Documents server: - Advanced caching mechanisms - Using new stored procedures - Optimized saving and deleting files - Changing files is now executed by up to six threads - Optimized jex export (backup) * The monitor now also allows integrating gadgets. * The colors of the Save/Cancel buttons can be customized via the Skin file. * You can now set groupings for reference fields, and then display them in the reference field dialog. This is performed using the ReferenceListGroupBy property as the property in the reference field. Example: for grouping: 1,2,3 You can also specify whether a group will be expanded. Example: 1+.2+.3 The reference field also lets you specify a limit of the maximum number of rows to be loaded. Example: ReferenceListGroupByLimit: 1000 * Return support of JSON format in addition to AutoComplete as a return of the portal script (as JSON.stringify()). 1. Advanced format, with additional fields [ { value: 'Value_A', fields: [ { name: 'Field1', value: 'Value1_A' }, { name: 'Field2', value: 'Value2_A' } ] }, { value: 'Value_B', fields: [ { name: 'Field1', value: 'Value1_B' } ] } ] 2. Simple form [ { value: 'Value_A' }, { value: 'Value_B' } ] 3. Short form, alternative to 2. [ 'Value_A', 'Value_B', '...' ] * When updating user exit fields, you can now execute a portal script via runscript:scriptname. * When updating via user exit, the file navigation feature is lost. * When creating a new row, Gentable now again considers the default values of a column that have been stored via in the XML configuration. * The Gentable column type CHECKBOX now supports exit events. The focus, change and blur events are supported. * The Gentable plug-in now supports a new field type named "NUMBER", which is automatically represented localized but which is of the JavaScript type Number anyway for calculations. * The Gentable Select, Date and Timestamp fields now support the onChange event. * Gentable: The "clearExisting" feature is now supported in the Gentable. * Rendering the rows using text cells in the Gentable was optimized. * The Gentable now allows combining rows into groups, with sorting also working. * The Gentable now supports comparators for sorting groups and columns. * The buttons in the Gentable toolbar now support the accessKey attribute to populate shortcuts. * Client SDK API: The FileContext.getFileFieldFloatValue() and FileContext.getFileFieldIntValue() methods were replaced with FileContext.getFileFieldNumberValue(); GentableGridRowModel.getInt() and GentableGridRowModel.getFloat() with GentableGridRowModel.getNumber(). Both methods have optional parameters that allow specifying the decimal and thousand separators. If no separators are passed to a method, the separators set in the Documents Manager will be used. * Client SDK API: New method documents.sdk.utils.formatNumber. Formats a number with decimal and thousands separators. These can be passed to the method, or localized separators are used. The formatted number is returned as a string. * Client SDK API: New method documents.sdk.utils.parseNumber. Parses a string to a number. The decimal and thousands separators used can be passed to the method; otherwise localized separators are used. * Folders, file plans and script trees can now also be drag and drop targets of Documents files or script list elements. When dropping, the configured portal scripts are executed. In the case of the file plan you have to store the script name as dropActionScriptName property. For script trees, the configuration in the script extensions API (in the scriptlibs directory of the server installation) can be looked up. * HTML5 Image Viewer initially did not display images in full view. * The menubarGadgetConfigs property now allows showing another row with gadget buttons below the main menu bar. * Gadgets: The chart configuration of the Gadget charts can now also transfer functions. For example, this now allows also using chart.js library callbacks. * You can now store a globalGadgetConfig for adding a button in the main menu bar which opens a gadget. * The fontStyle attribute is now supported for the TreeCharts nodes. * By default, Internet Explorer uses an ActiveX plug-in to control local editing of documents. By setting the global property "localEditTypeIE=java", a Java applet is used instead for local editing. The two allowed values are "activex" (default) and "java". * By default, Internet Explorer uses an ActiveX plug-in to control the two DropZones(Quick and Register) to upload documents. By setting the global property "dropzoneTypeIE=html5" a new HTML5 component is used instead to upload documents. The two allowed values are "activex" (default) and "html5". The two previous "DropZone_HTML5" and "QuickDropZone_HTML5" properties are no longer valid for client V. * When logging in via SSO the user is now logged in the default language saved in the server. A personal settings dialog allows the user to set the language. * In tablet mode, a handle was added to enable moving the folder tree and to make folders visible. * Logging a header record in the status now works. * You can now set either globally or to the contrsolSheetFileCoverFields property to also print file cover fields in the header record. * Portal Scripting: The hmac() and sha256() functions were inserted. hmac currently supports only md4, md5 and the sha algorithms. The name of the desired algorithm must be passed as a string parameter. * ScriptExit: The file type allows specifying a script via the "afterArchiveScript" property which is executed after archiving. It contains the "archiveErrorCode" and "archiveErrorMessage" constants. * ScriptExit: The onReceiveWorkflowActionScript = scriptname property can be set for the file type. The script is executed directly prior to performing a workflow action. * Portal Scripting: The Folder.getFilterFiletypes() function was inserted. It returns a string array that contains the names of the corresponding file types * Portal Scripting: New PortalScript method context.convertStringToDate(dateString, localeString) * Portal Scripting: A new ReturnType named "updateFile" is now available for portal scripts; this type can be used to update file representation. * PortalScript parameters: The "sortedEnum=1" property allows defining that portal script parameters of the Enumeration and Double selection list data types are sorted alpha-numerically with regard to the registered locale. * The documents.ini: $DisablePortalScriptCache 1 setting is now also correctly supported on Documents 5. This setting turns off the cache; it makes working with #imports from the scriptlib directory easier for script developers * The globalScript property now enables showing a script button again in the main menu bar. * Script trees can now also be used as returning a user-defined action. You have to make sure that the returnType of the script matches the technical name of an outbar. The technical name of the outbar or the returnType of the script must have the following structure: "ScriptTree_[NUMBER]".(Example: Outbar name: ScriptTree_2, returnType of script: ScriptTree_2) * The new Boolean property "RetestFilterAfterEdit" in the Documents settings enables removing changed files immediately from the Web client's search result if they no longer match the filter expression owing to the change. File changes by other users are not considered here. Moreover, fast removal does not work with archive hits. The classic client does not generally support this. * Configure maximum age of pool files: The job for deleting pool files deletes all pool files that have not been used for a defined number of days. The documents.ini directive $FilePoolMaxAge n allows specifying the number, in days (Default=7), that the Documents files may be located unused in pool files before they are deleted. * Job for deleting the file pool: The job for deleting pool files that are no longer used is executed once every day. By default, this job is performed at 02:00 AM. The documents.ini directive $ClearFilePoolAt n (n: 0-23) allows defining a different time for the job. * PortalScripting: Job scripts with the "thread=1" property are processed through another PortalScript job on another JobThread (threadID=1); they therefore run regardless of the other JobThread. The PortalScript property frequency=n allows specifying a number, in minutes, at whose interval the PortalScript will be executed. This facilitates alternate intervals every 15 minutes, etc. * The jobs executed through the job thread can now also be transferred to the second job thread. This can be performed in the documents.ini file in the individual job configuration. $JobSchedulingDirective n[,0|1] n: Number of job iterations per hour 0: Job thread (default) 1: Job thread 1 e.g. $NumberSignalJobsPerHour 12,0 $NumberEscalationSignalJobsPerHour 4,1 * DocumentsServer, SOAPProxy: Updating openssl to 1.0.2h and removing dependence on VC9 runtime * Windows version with DB MySQL / MariaDB DocumentsServer is now connected to Maria DB and the corresponding libmysql.dll files comes with the product * EDA: New Ini parameter for interrupting a sorting search, if the maximum number of requested hits is reached: [archive] fullSorting=yes/no Default value is "yes". Usually, all hits were considered for the sorting to provide a fully sorted hitlist. But this requires more time. * EDA: During the migration of EE.i container new field with a constant value can be added to a migrated file. This can be specified in the mapping file: ^const=Value Filed name (Analyzer) Example: ^const=ABC ftExampleField1 ^const=123 ftExampleField2 keyword * EDA: The format of internal date fields in EE.i container can be specified in the mapping file. Two additional types can be used: iso8601-full: full timestamp according to ISO 8601 iso8601-date: date according to ISO 8601 only Example: 103^iso8601-full ArchiveDateTime 103^iso8601-date ArchiveDate * EDA: Upgrade of Sqlite to 3.15.1 * EDA: Upgrade of ICU to 58.2 ---------- Build 2023 ---------- Important bugfixes in 2023: --------------------------- * In build 2022 the AutoText %userAccesprofile% does not work anymore. * Deletion of archived files: If you have deleted an archive file with the dropdown list action in the file dialog, a defined "onDeleteScript" was executed twice. * Licence check: Only archive web client licences could throw an error according invald workflow clients * In the login page were also locales displayed, that were not switched "online" in the principal configuration. * EE.i: Using a combined ACL/GACL users with not any access profile are ableBeim to access archive files without access rights. * Tabledata: The parameter removeCRLF in Tabledata works now also with the value false independant from the escapeMode. * A mandatory HTML field was able to be stored with an empty value. * The ACL-cache was not refreshed for files, that were created by docimport or SOAP and have an ACL/GACL field with ACL-cache. * Portal backup / jex-export: memory-leak fixes * PortalScripting: The property Document.bytes returned an invalid value Extension to 2023: ---------------------- * PortalScript-Parameter: If you have defined a PortalalScript parameter of the datatype enumeration or double list, the property "sortedEnum=1" activates an alphanumeric order of the enumeration values. * pdf-print of a file cover (FOP): for the AutoText %value% the HTML conversion will not be done (instead of %%value%%). * DOCUMENTS for MySQL: Backup/jex-export: Big performance improvements at exporting a single principal * Company signature at e-mails: The body of a sending mail will now be checked for an already existing signature ("-- "). If this matches, then the company signature will not be added to the mail body. With the principal property AddMailSignatureAlways=1 the old behaviour can be switched on (always add the company signature). Build 2022 ---------- Important bugfixes in 2016-2022: -------------------------------- * Deleted archive servers were sometimes not removed from the Documents Manager tree view. Renewed collapse and expansion of the archive server list fixed this error. * When viewing and editing an EBIS archive file, empty timestamp fields could arbitrarily jump to a specific date from 2007. This has now been fixed. * For script dialogs, only the first parameter value was correctly imported as a global variable into the PortalScript. * Portal Scripting: XMLDom parser could crash with invalid characters (Transcoding) * PortalScripting parameters were incorrectly passed with afterForwadFile event * Dashboard: Completing translation * Client V: Fixing printing the TreeChart in the Edge * Client V: Hide "New file" dialog in EditMode * Client V: Overhauling dialog e-mail options * Client V: Field width changed in Chrome with MouseOver for some fields * Client V: The number of hits was not updated when searching in folders * Client V: Updating the search sources with archives in the search mask was implemented * Client V: The distribution list dialog in the D5 client had overwritten predefined auto comments in distribution lists * Client V: Field sof the data type checkbox were displayed wrong in hitlists and scriptlists. * Client V: The control for enum-fields didn't had the mandatory style in edit- mode * XML-export of active files: Numeric values had a wrong precision * Portalscripting: SystemUser.getUserdefinedInboxFolders() may crash if the folder was meanwhile deleted * Search fields in dynmaic folders and link registers (property "LinkRegisterSearch") did not work with EE.x-Views as data source. * The DocumentsServer is now more stable againtst losts of the connection to the xml-server during the schema or view import * At saving a user account the licence file was reloaded but it was cached * Portalscripting: If a file was set in edit mode with startEdit() and there was not a successful sync() or abort(), the scratch copy was automatically deleted at the scripts end. In combination with an afterCancelEditScript this fails with a crash. Now only a warning will be written to the log-file - no deletion of the scratch copy anymore. * If a PortalScript had modified content related permissions (e.g. ACL) then there could occour temporarely access problems to this file * If userdefined properties were added to doucments files (setAttribute("$..","..)) these properties were inherited into the file pool and therefore also on reused filed from the file pool. This was fixed. Note: Userdefined properties are only for use at the file types NOT on documents files. * After a query in EE.x with an empty hitlist as result, the DocumentsServer may crash after requesting the hit page again. * If a file type was not released it was possible to create and update files of the type by docimport / SOAP. * In rare conditions, the DocumentsServers may crash using the database MySQL. * EDA: Searching using an expression shorter than minimalWordLength in a field including text analyzer caused the archive server to crash. * EDA: Archive-side sorting did not work with fields including text analyzers. * EDA: Crawling a store failed when using MS SQL Server as a registry. * EDA: Archive server crashed in some cases of invalid file XML. * EDA: Annotations were stored for the last user who added an annotation. Extensions to 2016-2022: ------------------------ * Various performance optimizations through caches and sync optimization Removing indices not used * When searching for active Documents files, SQL generation can be modified using the new "$PreferSubqueryForFieldFilters" parameter in the "documents.ini" file. The value "1" or "true" is used to create field value filters in SQL, preferably as subqueries; otherwise, mostly using ordinary joins. Which version is faster depends on the database. * In the workflow add-in, you can now set the HideInMonitor =1 property in the node. This action will then no longer appear in the workflow monitor * Nagios monitoring using generic Documents server queries * Workflow: You can now also define cc and bcc for e-mail send signal * Workflow definition of a mail template or inbox mail template for the workflow action * The missing functionality was subsequently built in for EBIS searches: - And/Or operators for field value search - Search method application analogous to EDA - Search operator "starts with" * The PortalScripts (Wizards) for the Documents Manager were moved from the /manager directory to /server/scriptlib/manager and loaded only when accessing them. * Dashboard: The titles of the dashboard's system tiles were not multilingual when the cache was turned on. (dashboard.core.util.DashboardCallbacks) * Documents Manager: New wizards for backup and recovery * Documents Manager: XML export from folder: additional export options * Portal Scripting: New methods and properties SystemUser.addFileTypeAgent() SystemUser.addFileTypeAgentScript() SystemUser.removeFileTypeAgent() SystemUser.listFileTypeAgents() SystemUser.listAgentFileTypes() New parameters (from and until) for the method SystemUser.setAbsent() SystemUser.notifyNewFileInInbox() SystemUser.notifyFileReturnedFromSending() New Script-Exit allowedMailTemplatesScript on filetype New Script-Exit allowedPrintTemplatesScript on filetype New Script-Exit allowedDocumentTemplatesScript on register and filetype New property SystemUser.email DocFile.asJSON() / DocFile.fromJSON() Util.convertDateToString() und Util.convertStringToDate() npow supports the formats "@date", "@timestamp" + "@yyyymmdd" Util.getSourceLineInfo() Util.encodeUrlCompatible() Util.decodeUrlCompatible() see portalscript.chm * PortalScriting: A script parameter of the datatype "Checkbox" was not implemented as a boolean, but as string in the scripting engine. * PortalScripting: The class XMLServer was renamed to ArchiveConnection. XMLServerBlob and XMLServerBlobIterator were renamed also. Reason: The class not only provides access to the XML-Server, but also access to the EAS and EBIS Interface. New method: ArchiveConnection.sendEbisRequest(); * AutoUpdateByRefField now supports the Log-property at fields as well the AutoTitle * The classic file class protection did not work at EDA anymore without the explicit definition of the EASAnalyzer * Web client: DropZone can now be localized (error messages) * GACL are now also allowed with negative rights see documentation * New Enum AutoTexts for GACL see documentation * Benchmark server in the Documents Manager: Login as editor->Help * docimport: language neutral formats for date, numeric ->@ * Token-based workflow actions * Client V: The Documents properties allow turning off the "Decouple folders" function also by using the decoupleFolderView = false property * Client V: Property: editModeLogout is now supported * Client V: Search field now has a dynamic width * Gadget API was extended and switched to ChartIS2 * Auto-complete can also transmit the field values of other fields: "scriptParams": { "Param1": "%FILE_FIELD:Feld2%", * Client V: Adding Gentable module -Support STATICTEXT and CHECKBOX field types -Visibility support for columns and rows -Internationalization for "SELECT" column type -Support for index column -Support for button with images -"init" callback when displaying the table -Client-side search -AutoComplete support -Script support for "SELECT" column type -New field types DATE and TIMESTAMP -Support for Checkbox column -Support for constraints * Adding Documents ClientSDK (Exit API) * Client SDK: In Gentable currently the following Cacllbacks are supported: 1. "Gentable.beforeRender" 2. "Gentable.afterRender" (D4 ~ callbackDrawTablePost()) 3. "Gentable.beforeStore" (D4 ~ callbackSavePre() ) 4. "Gentable.afterStore" (D4 ~ callbackSavePost() ) The callbacks has to be registered in the GentableRegistry. Multiple definitions has to be separated by comma (,) and the "*" is as wildcard for all definitions ...gentableRegistry.registerCallback("erpInvoice", "Gentable.beforeStore", function(documentsContext, options) { ... }); With the parameter "options" you define the actual "gentableDefinitionName" and the "fileTypeName" * Client V: The Feature Manager has been completed -Feature: FullViewMode -Feature: LastFileNavigation and HistoryFileNavigation -Feature: allowFolderDecouple -Feature: DocumentsFields -Feature: ListMenuMoveTo -Feature: ListMenuCopyTo -Feature: ListMenuAction * Client V: HighlightMode is now supported * Client V: Scripts and gadgets are now supported on document tabs * Client V: Tooltips on workflow actions are supported * In the Gadget-API the classes otris.gadget.gui.ExtTable, otris.gadget.gui.ExtComponent, otris.gadget.gui.BarChart and otris.gadget.gui.PieChart are marked as deprecated markiert and should not used anymore. Please replace them by new new provided classes If you nevertheless want to use the Ext JS Framework because of compatibility problems, you have to add the property extJsLibMode=true to Documents- settings * New ScriptExit at the principal: EasyAuthScript=scriptname s. portalscript.chm * The app DOCUMENTS mobile (mobile.war) is now running with 5.0a * PDF-print for files: fields that are disabled by a decreaseFieldRightsOnFileView script, will not be printed anymore * PortalScripting: New methods: context.getFolderPosition(), context.setFolderPosition() * EDA: New options in the [registry] section are available to improve registry performance when you use MS SQL Server for this. optionRecompile=yes/no preparedStatements=yes/no It transpired with analyses that with large stores a query results in poor execution plans. optionRecompile=yes is used to trigger recalculation with each new execution. This was enough. Alternately or in addition, preparedStatements=no can be used to enforce that no prepared statements be used for a query. The default value for optionRecompile is "no"; for preparedStatements it is "yes". * EDA: The migration tool ecftoeas is also capable of migrating internal EE.i fields as file fields. You have to enable this via the --metadata-as-fields switch. Without mapping, the fields are added with the following name to the Documents files 101: File ID 102: Version number 103: Archiving time 104: Recent modification time 110: Documents file title 112: File type If instead of the three-digit numbers the fields are to be given different names, you will have to specify this in the mapping file (see chapter 3.8 in the Migration guide). * EDA: Upgrade to Apache HTTPD 2.4.20 * EDA: Upgrade to OpenSSL 1.0.2g * EDA: Upgrade to ICU 57.1 * EDA: Upgrade to Sqlite 3.13.0 * EDA: Upgrade to Tika 1.13 (Linux only) ---------- Build 2015 ---------- Important bugfixes in 2015: -------------------------- * With build 2014 the XML-export of files was changed to a locale independant format for the datatypes numeric, date, timestamp and filing plan. Due backward compatibility now this new behaviour can be switched off with the documents settings property FileXMLExportMode=4. ---------- Build 2014 ---------- Important bugfixes in 2014: -------------------------- * Corrections to the Web client V: - The throbber has not disappeared when creating text notes with archive files. - When adding notes to an archive file that already contained notes, two open tabs were displayed. - With hit lists, columns of the slim view have also slipped into normal view. - Document comments were not included when uploading via the HTML5 Quickdropzone. - Although the last Documents file was loaded after creating a new one and canceling it, parts of the old file were still active. This bug has been fixed. - Dialogs might have been moved outside the screen when changing window size. - Corrections with graphic annotations in otrisViewer - The Out of the office dialog appeared multiple times after re-login - Drag & drop from hit lists was not possible - With showBlobAsPdf turned on, attachments were downloaded also in PDF format when downloadBlobAsPdf=0 was set - Corrections to the distribution list dialog - The Delete/Del key deletes selected Documents files from lists without a query - When using Thinkpads with Touchzoom the pop-up for collapsed entries (e.g. with folder actions) could not be opened using the mouse. - Corrections in table mode - QuickView search for ID (->EE.x) did not work - When a Documents file was in edit mode, creating a new Documents file was not prevented - The default distribution list was incorrectly displayed in the Create new files dialog for Documents files - The "Archive" button was missing from Retrieval mode (EE.x) - The Inbox now automatically refreshes when editing Documents files in the workflow - Indicating archive hits in the hit list (gray bar) changed when displaying a hit - Client-side sort order for the document list was defective - Persistent saving of search masks - EE.x and DOCUMENTS: Allow continued search in the hit list * Units for numeric fields were not displayed in the list views on the Web. This has now been fixed. The new "ListNumUnitInVal" property in the Documents settings indicates whether the unit is written after each value (1/true) or only in the table head (0/false). * Not all read-only fields of a gadget format were read-only. Selection lists appeared inconsistently. * For the DOCUMENTS 5 Web client, the Documents server now removes deleted archive files directly from all internal hit lists of the same user. The new Boolean property "HLLiveRemove" under Documents/Settings controls this, as required, for both Web clients. Such hits are not removed from script hit lists and SOAP. Otherwise, there would be a risk of skipped Documents files when iterating through result sets. * EBIS connection: Range searches with only a limit (either minimum value or maximum value) were frequently not implemented correctly. The queries have now been formally corrected; however, they do not return any hits yet. EBIS does not yet seem to support this in combination with EE.x and the Adaptive Schema. With date searches, a temporary solution is the use of a replacement value for the missing limit. (Start of the Gregorian calendar as the start date or December 30, 2999 as the end date) This can be turned off in Documents settings by setting the new "EBISDateSurrogate" property to "0" or "false". * The QuickView search did not work yet with EBIS ("ft=Filetype@Store") * pdf. Viewer now also supports graphic annotations from the EDA, EE.x and EE.i archives * Sorting the resubmission folders after the resubmission comment caused an error with Oracle and an empty list in the Web client. * Search: Some earlier versions allowed placing asterisks as wildcards also immediately before or after a phrase expression instead of in the midst. Through the support of inverted commas and quotes as part of a word this capability was temporarily lost, and has now been revived. The new PhraseWildcardMode property (Documents settings) enables detailed control of this behavior. Value 0: Wildcards next to phrases are not explicitly supported. Behavior is the same as in DOCUMENTS 4.0d. Value 1: Wildcards next to a phrase are simply ignored. Value 2: Wildcards next to a phrase are evaluated with the primary index, but ignored with the full text index. Value 3: Wildcards next to a phrase are generally evaluated. However, the search method extension (method 3 to 5) is considered with current processes. The default setting of this property is 2. * For the permission to cancel a workflow, the file type permission "Start sending manually" instead of the permission "Cancel workflow/distribution list" was erroneously evaluated. This has been corrected. * Documents Manager: The file type folders were not displayed in the Documents Manager for the EDA-only licenses (without Documents user). * DocumentsManager: Hiding link tab for active processes * Documents Manager: Deleting status entries: The context menu entry was allowed to be active for file types only. Fixing encoding problems and allowing open deletion period * Correction in license verification with Documents user but missing Documents server module * XML export in the Documents Manager: XML export of folder content with encrypted repository was not possible * XML export: Bug fix for values containing the character sequence ]]> * XML import of a documents.xml file was not possible when the xml file contained outbars with sub-outbars * XML export of Documents files from the Documents Manager: Umlauts in the name of attachments were incorrectly exported * The documents.xml file could no longer be imported with sub-outbars * onSave scripts and concurrent deletion of a Documents file could cause a crash. * Correction when deleting temp. search hits / Documents files * Reject login if paralllel login exists and intends EE.x instance change. * Security fix: Defined file permissions could be partially sidestepped through URL manipulation. Since these "gaps" might be used for own functionality (exits), etc., the additional security checks can be turned off for compatibility reasons: documents.ini: $ExtendedSecurityChecks 0 * Reactivating archive files using GACL and ACLCache: When the associated file type was using a GACL with ACLCache, the cache was not updated during reactivation, but only next time the Documents file was saved * The Documents server could crash in console mode when the import or export button was pressed. * PortalScripting: Documents files could be deleted via scripting, even if the permission was missing * docimport: Word wraps were incorrectly converted for field values of the "Double selection lists" type * EDA: The third-party library ICU 56.1 was built with VC10 requiring the corresponding Visual C++ Runtime library installed. Now, the ICU 56.1 library files are build with VS11 like Documents 5. * EDA: The migration tool ecftoeas.exe did not support the Text analyzer in the mapping file. Now, the Text analyzer can be used by specifying "text" in the mapping file. Furthermore, the parameter --record-check-analyzer supports the Text analyzer as well. * EDA: Crawling the repository to rebuild the registry did not get the filename of the attachments. * EDA: Searching the annotations of a file was case-sensitive as well as considers diacritic marks inappropriatly. Now, searching the annotations behaves in the same way as the regular search. * EDA: The parameter --incremental was specified twice in the command-line tool eas.exe. Thus, this parameter could not be used. * EDA: The store configuration templates were added twice to the setup. They are now located at eas/config/templates. The paths in the batch files for creating the stores were adapted. Extensions to 2014: ---------------------- * DBSyncOptimization: A new mechanism has been introduced which checks, prior to saving in the DB whether the data to be saved differs from the current data set in the DB. Only if it is different will an update to the DB be performed. This reduces the number of write accesses. PortalScripting allows returning a statistic of the saved updates using the PDTools.getDBStats() method. * Documents search (SQL Server, ORACLE): Optionally, generate SQL with more bound parameters to ease the load on the database's execution plan cache. Parameter in the "documents.ini" file: $DocSearchBindParams 1 The additional option $DocSearchCheckLIKEBinding1 is used to disable within the first three characters the parameter binding for LIKE expressions using a wildcard in order for the database's query optimization to better estimate the costs of this filter. As a substitute, the query note "RECOMPILE" is used with MSSQL. * Documents search using MS SQLServer: The $DocSearchQueryHints parameter in the "documents.ini" file allows adding general query notes as a test to the search requests (SELECT .... OPTION( ). You have to specify multiple notes comma-separated, if necessary. The notes may not contain any other commas, e.g. not within parentheses either. * Various extensions to XML export: - In the Documents Manager, additional options were inserted for the folder for XML export. The following additional options are now available for exporting the Documents files: "With file IDs", "With owner and creation date" and "With last editor and modification date". - new export class: "PartnerAccount", "UserSystem" and "list" (list enumerates all available export classes) - PortalScripting: XMLExport.addSystemUser(), addPartnerAccount() * XML export of files: Fields of the Numeric, File plan, Date and Timestamp data types are exported in language neutral format and can be reimported via docimport * Tooltips for the fields support the derivation rule from the properties files "pf:" * PortalScripting: If a PortalScript is executed without a user context, the test user specified on the PortalScript will now be used by default. * PortalScripting: The Dialog script parameter now supports HTML fields * PortalScripting: Script exit decreaseFieldRightOnFileViewScript: New property Context.register * PortalScripting: Fields from a DocHit can now be read exactly as with DocFile properties. Inserting DocHit.asISON() * Script dialogs now support gadget fields * Client V: The alwaysShowTask=true property on a tab is used to display the task also in document view. * Client V: Dashboard: Represent any folders on the dashboard Prerequisite: Documents property dashboardReportMode = true; Properties of a folder named ְossibleTile = [false|true|0|1] Folder is displayed in the view in possible tiles tileProfile A comma-separated list (without spaces) including the profiles that select this folder as a tile and that can be viewed on the dashboard. Optional parameter tileHeadline An alternate heading for the tile instead of the folder name (Multilingual de:aa;en:bb;). Optional parameter tileDescription Information for selecting the tile ((Multilingual de:aa;en:bb;) tileRefresh Specify in seconds within which the tile refreshes (Caution: May affect server load), 0 = never. Optional parameter tileIcon = [path to icon] Path to use another icon in the right corner of the tile. Optional parameter. * The outbar now allows turning off the Favorites folder using the Feature Manager. * Cancel workflow/distribution list: When you check the file type or Documents settings property CancelWorkflowAccess=0, the "Cancel workflow" action will be removed from the Web client's action drop-down list. * docimport: When docimport directly generates an archive file (Filetype@ArchiveServer), the archive file created in the archive will not be re-read (performance gains). Previous behavior can be restored through the Documents settings property DocuimportReloadArchiveFile=1. * For an "EE.x native" connection, the new Documents property "EEXPreferDLCFormatting=1" can be used to determine that numerals and date values are only displayed with the formats from the Documents language settings. EE.x-side formats will then no longer be displayed. * If archive access must wait until a current request is complete due to exceeding the "Upper bounds of simultaneous requests", the corresponding notes are written in the Documents server log. The "$ArchiveSemaLogWaitstates" parameter in the "documents-ini" file allows you to explicitly turn on (value 1) or turn off (value 0) these notes. * png and svg export of the treeChart has been implemented * Full text filter: Updating from tika 1.0 to 1.12 * EDA: It is now possible to apply the index restrictions only on attachments. To specify the restriction, two parameters were added to the section [index] in the configuration file of a store: - useStopwordListOnlyForAttachment=yes/no If "yes" is specified, the stopword list is only applied on the attachments. The fields of the file will be indexed completely. - useWordLengthLimitsOnlyForAttachment=yes/no If "yes" is specified, the length restriction will be only applied on the attachments. The fields of the file will be indexed completely. * EDA: It is now possible to apply the stopword list only on selected fields of a file. To specify the restriction, a parameter was added to the section [index] in the configuration file of a store: - stopwordListFields=Name of fields spearated by comma The stopword list is only applied on the fields specified in the list. * EDA: If a store is created that uses MS SQL Server for the registry, the creation will fail, if a table "files" is already in the database. This was added to prevent accidental deletes of the table "files". * EDA: Upgrade of Sqlite to 3.11.1 ---------- Build 2013 ---------- Important bugfixes in 2013: -------------------------- * When canceling file editing, a crash could occur through concurrency problems. * The performance of the otrisViewer Java applets during the installation phase was significantly slower in Internet Explorer since Oracle JRE 1.8.0 Update 60. Customization has completely fixed this problem. otrisViewer startup is now usually even faster than it initially was. * When searching within a static folder (e.g. Inbox), file class protection, including ACL/GACL, did not work. * When you specified the filter condition in API syntax for a dynamic folder or link tab, the field value operators "!", "&", and the space did not work with enumeration fields. The cause of this problem was that Documents was as yet unable at a specific point to differentiate between a default filter and an API filter. For instance, the API filter expression "hrType~'!n*'" was interpreted as "hrType starts with '!n'", while the same expression in scripting or via the SOAP interface was correctly processed as "hrType does not start with 'n'". This has now been standardized. The same interpretation still applies with default filters. * PortalScripting: DOMParser: When using the DOM classes in scripts, the JavaScript memory cleanup feature could trigger a server crash. The following conditions had to be fulfilled for this purpose. - At the time of cleanup only DOMNodeLists or DOMNamedNodeMaps still existed as JavaScript variables, but no other DOMNodes. - The DOM document itself was either not assigned to a variable or that variable was never again accessed during the further history of the script. - Cleanup was followed by accessing a DOMNodeList or DOMNamedNodeMap. This was the point of crash. * PortalScripting: Folder.getFiles() did not return the Documents files of the folder for the private folder types "tasks" and "resubmission", but the Documents files of the current user's respective folder (context.currentUser) * Schema import for EE.x now adds a label to attributes with the "#any#" flag which specifies the attribute type. This is only a help for the Documents administrator. It does not have any influence on the Web view. * XML export: Schema import for EE.x now assigns attributes which are not fields (e.g. Blob, note) the Documents field type "User-defined". The XML export function of Documents otherwise may generate files that cannot be imported again. * XML export folder structure: The reference to the allowed action script was not exported. *EBIS: An archive-only user could not select any file types during advanced search if an EBIS Store, but not EDA, was set up. * With some archive functions, the archive server site was not inserted into the query URL when Documents was reusing an archive connection that was already open. * Nearly all functions with EE.i/x XML servers are compromised when you switch on the connection pool. It is, however, switched off by default for these systems. With EDA and EBIS, this error only occurs with an internal script operation for project solutions (sendDARequest()) . *Distribution list dialog: The list of reliable workflows was not considered for the distribution list dialog when the "Ad hoc workflow -> Allow all workflows" option was active. * With EDA and EBIS turning the "ArchiveDebug" log on/off often required restarting the server unless pool connection were turned off via property. This change now also succeeds for pool connections without reboot. * Corrections to the Web client V: - MagicButton: The actions for the Documents file were not moved to the pop-up. - When moving or resizing columns, the value could not be saved if specific requirements existed, e.g. when using a Retina display. - Decoupling the Documents file did not work in Firefox 40+. - Decoupling (external opening) of lists was defective. - E-mail: The subject line and the body text were not filled out correctly. The checkboxes were truncated. - E-mail: The sender was not incorporated for e-mail templates. - Send drop-down lists for Documents files and for search: When there were too many workflows/searches the drop-down list was truncated and was unscrollable. - Stylesheets for displaying ordinary HTML tables and the like were loaded last, which prevented overwriting them, for example, in the officeML. - The current date was not highlighted in the date dialog. - HTML fields had an overflow - Send Documents files dialog: Workflow steps with the recipient types User field, Group field and Alias field could not be displayed, and prevented opening the Send dialog afterwards. - Send Documents files dialog: Predefined workflows could not be selected via the distribution list dialog - The navigation area displayed the technical names instead of the ergonomic names for tabs. - Folders were not displayed in the navigation area. - In the folder, Documents files were not immediately marked as read when displaying them. - When navigating keys in folders the selection jumped back to previous entries if these required a longer time for loading. - Some dialogs could not be submitted via Enter. - Collapsed tabs could not take documents on to the tab using drag and drop. - Return values and errors with scripts run via drag and drop (tree view) were not considered. - Folder navigation was no longer displayed after collapsing the file view and clicking a Documents file in the folder. - When refreshing the folder view the display pane of the number of files disappeared behind the folder name - When new documents (via document template) were added to a tab, then the tab did not refresh. - Throbbers (hourglass) are now displayed when searching and during action for Documents files - Tooltips were partially missing from fields - An empty history field contained the following as a value: _$$$_ * Client V: Files containing special characters could not be displayed or downloaded. * Client V: The dashboard did not display any data for user-defined inboxes. Branching to the folder did not work either. * Client V: QuickView links no longer works after login failure. * Client V: The fields of a Documents file were not saved when executing them with user-defined script actions that had been alwaysEnabled. * Client V: Distribution lists: When sending via the WebClient, wrong response data might have been set. * Client V: When the user session expired, multiple error messages were displayed one above the other. * Client V: Automatic relogin is now performed after a session timeout. * Client V: EE.x: A drop zone was displayed even though the document schema did not have a file attribute * Client V: The search sources for a simple archive license did not exist in Advanced Search * Client V: showBlobAsPdf: A PDF is downloaded on editing even though showBlobAsPdfInDocEditMode was set to 0. * When a Documents file was being edited and sent to a workflow step rejected by a guard, the interface displayed that Documents file while it was still being edited. * When a Documents file was being edited, the editing user could delete it from the folder list. * Simple archive users may not view folder outbars * PDF printing did not work with spaces in the installation path * Client V: A Documents file in edit mode could be deleted from the adjoining folder. Afterwards, the "Documents file does not exist" message did not appear for the Documents file still in edit mode when saving or canceling it * EDA: The job for cleaning the temporary folder for caching Documents files that are stored in a FastLTA Cube was also running when nothing was saved at all in a FastLTA Cube. This could cause a crash. * EDA: When referencing attachments of the previous version while updating Documents files, the file name saved in the Documents file was overwritten if at the same time a new attachment was added or multiple attachments were referenced. * EDA: Duplicate creation of stores via the Store Manager caused the EDA server to crash. * EDA: Documents files from various EE.i archives could not migrate to a single file type because some fields and version numbers were not correctly considered during validation. * EDA: When migrating various EE.i archives to a store too many Documents files could be deleted through the Delete Files of an EE.i archive because the destination file type was not considered when deleting. * EDA: Search queries in the Store Manager were not escaped. Search queries containing special characters could not be provided via the Store Manager. * EDA: Fonts for the Store Manager were installed to the wrong directory. * EDA: Errors in the configuration files of the EDA server have been fixed under Linux. Extensions to 2013: ---------------------- * Number range: An advanced rule definition lets you reset the number range daily, monthly, or annually. For details see the Documents Manager Help (F1) in the number range * PortalScripting: New method XMLExport.addDocumentsSetting() adds the Documents settings to the XML export. * PortalScripting: Document.bytes returns the file size of an attachment in bytes * PortalScripting: Load new sample project for dll in PortalScript linked to Visual Studio 2012 in portalscript.chm. * PortalScripting: Caching EnumScripts via the field property EnumScriptCache for the file type. For details see portalscripting.chm * PortalScripting: DocFile.asJSON() returns the field values of a Documents file as a JSON string. DocFile.fromJSON updates the field values of a Documents file (experimentel) * DOCUMENTS Manager: The XML export class DlcGlobalOptions exports the DOCUMENTS settings to an XML file. * EE.x schemas / archive types: Only an "Allowed actions script" can be defined. * File status: When an escalation e-mail message was generated from a workflow and the routing step referred to a delegate, a not to the delegate is now displayed in the status. * XML export of PortalScripts can only be created downward compatible for DOCUMENTS 4. ELC 3.60 is no longer supported. * Client V: Hierarchical outbars are now supported. For this purpose you need to set the Documents settings property SubOutbars=1 Outbars can be defined as onlySuboutbars * Documents settings and file type property CheckMandatoryOnSave=1 In edit mode of a Documents file mandatory fields are checked, by default, for content only for the currently displayed tab. This property is used to force that when saving a Documents file not only the currently displayed mandatory fields are checked, but all mandatory fields of the Documents file. * When a single-language field label ended with a colon and the multiple language option was turned on under Documents/Settings/Locale, the technical name of the field was displayed on the Web. Documents expected a multi-lingual specification here because of the colon; however, it could not find a specification for the current language. Inasmuch as only a single colon is found at the very end of the label, it is accepted as a uniform label for all languages for once. If the colon is located elsewhere, a separate will be required for each language. * %TEMP%\documents5 is now used as the temp directory; it is deleted at server startup, and periodically * Search suggestions were partially also determined from the data of other tenants. This has now been fixed. Increased security may cause a slightly increased database load. Which is why the old behavior can be enforced using a parameter in the "documents.ini" file; $PrincipalSafeSuggestions 0 * Client V: QuickView now supports simple searching for file types. * Client V: The internal PDF.js Viewer was updated to version 1.2.109. The printing functionality was mainly improved. Performance issues with IE were solved. * Documents 4 Legacy Support for the AutoComplete-functionality -> Properties "extendedSearchAutoComplete" at Documents settings and the file type. * EDA: Clearing the temporary folder for caching Documents files that are stored in a FastLTA Cube now also generates a CSV report file. For this purpose, two new settings options are available in the INI section [archive]: tempMonitorType= The following types are available: File: The report is saved in a file. Null: The report is not written. Null is the default value. tempMonitorOutputPath= * EDA: The delete flag and the next version are collected directly while crawling the store, and entered in the registry. * EDA: Store-specific buttons in the Store Manager are hidden when you log in without store. * EDA: Verifying the store using --verify now includes a progress indicator. * EDA: Extensions of the Shell scripts under Linux for migrating stores from EDA 1.0 to EDA 1.1. * EDA: Upgrading Apache to 2.4.17 * EDA: Upgrading from OpenSSL to 1.0.2 * EDA: Upgrading Sqlite to 3.9.1 * EDA: Upgrading log4cplus to 1.1.2 * EDA: Upgrading ICU to 56.1 * EDA: Upgrading Rapidjson to 1.0.2 * EDA: Upgrading from Tika to 1.11 (under Linux)