FORMCYCLE 7.1.0


Aug 18 2022

This blog post is not published yet.

Download 7.1.0 TODO

Features

  • Support for WebDAV.
  • New switch condition added to the workflow.
    • Use the switch action to check a value against many multiple cases. For each case, you can then run different actions. Compared with existing yes/no conditions, the switch makes your workflow easier to read, especially when you have many cases. For example, if you have a  select field selMartialStatus, you can use the switch condition to test the value against the possible options single, married, divorced, widowed, in a partnership.
  • Automatic database and system updates when launching Xima® Formcycle
    • Xima® Formcycle can now run all requires updates when it is started, so that you do not have to run a manual update anymore via the backend. This reduces the time it takes to update the system, and helps to avoid down times.
    • For new installations, this feature is enabled by default.
    • For existing installations, you can enable this feature in the backend via the menu System, Database.
  • Login via Azure AD
  • URL for monitoring the frontend server status
    • Use the URL https://<domain>/<context>/monitor/fs/connection?name=MyFrontendServer to check whether the master is connected to a certain frontend server. You can also trigger a reconnection when the server is not connected.
    • Due to security concerns, this URL is disabled by default. To enable it, you need to configure the application properties monitoring.enabled and monitoring.allowed.hosts.
  • Support for internationalized email addresses and UTF-8 headers
    • Xima® Formcycle can now send emails to internationalized email addresses such as 山田太郎@株式.会社, provided the email server supports it.
    • To enable support for internationalized email addresses, go to the system or client mail server settings and enable the option Server suppports UTF-8 message headers (RFC6532).

Changes

Backend

  • To avoid issues when migrating data between different database systems, Xima® Formcycle now always treats all names case insensitiv. For example, when you have a client file named demo.txt, you cannot create a new file named Demo.txt anymore, even if your database supports it. No migration is required for existing systems that make use of such names. However, on the long term, we recommend you avoid these kind of name conflicts.
  • Fixes issues with downloading forms from password protected form stores. Also, the form store is now always displayed in the correct language.
  • If the hardware ID of a server has changed, when you attempt to update the license via the license menu page, a dialog shows up that lets you choose whether you want to register a new hardware ID or overwrite an existing one.
  • You can now use callback links with URL parameters for external users (authenticator). This may be necessary when the identity provider does not allow URL parameters in the callback URL.

Inbox

  • Previously, the inbox had only a predefined filter to display form records that arrived latest. It is now possible to filter form records to any modification range. 
  • The appointment view of the inbox now displays appointments faded out, when they belong to form records that are either saved or are waiting for a double opt-in.
  • Improved the syntax of word fill functions. Parameters should now be enclosed in quotation marks. This lets you use arbitrary characters, including special characters. For example: selTrainPass.cb("1. class") oder selBookTitle.cb("The Final Odyssey is \"Comet Cowboy\"")

Workflow

Frontend forms

  • JQuery and JQuery UI were updated to the current version.
  • The function $.xutil._load now also restores the number of element repetitions as well as the values of repeated elements.
  • The data type email for input fields does not allow a dot at the end of email addresses anymore. Domain names may end on a dot to indicate that it is a fully qualified domain name. However, in practice, many common email providers do not allow such email addresses.

Form designer

  • In the form designer it is possible to define for each form field in which status and for which user groups it should be available. If a form field is not available, the values are no longer displayed in the data table of the inbox anymore.
  • You can now select the number of print export columns for select elements. You can find this option in the form designer in the tab Advanced (at the bottom in the panel Word and PDF export). When the number of columns is set to a value greater than 1, the select options are placed next to each other in columns when you create a Word or PDF export.

Fixes

Backend

  • In full screen mode of the rich text editor, the button for the placeholder dialogue now works again.
  • When you download a file in the backend, now always in a new browser tab to avoid losing the currently opened page.
  • Several minor UI fixes.

Inbox

  • Web Content Accessibility Guidelines (WCAG) conformity in the inbox has been improved. 
  • If there are multiple values for a form field, that values are all displayed in the data table of the inbox.

Workflow

  • If an unhandled exception occurs in the new workflow, the error page now always appears. It doesn't matter that another response page has been defined in an action that has already been executed. 
  • LDAP workflow actions that use an existingLDAP query are executed correctly again. 
  • Fixed an issue where filling a form field in a Word document filling a form field in a Word document  was sometimes not possible.  

Frontend forms

  • The session ID is now correctly forwarded when saving temporarily. In the case of forms with login, it was previously necessary to log in again after saving the form.
  • The conformity of web forms to the German accessibility guidelines (Verordnung zur Schaffung barrierefreier Informationstechnik) has been improved..

Form designer

  • The Word and PDF export feature now generates the correct Word function for creating checkboxes if used within repeated containers.
  • Form fields can have conditions that control whether they are visible, required, or editable. Such a condition may also reference a hidden variable field. Server validation now validates such conditions correctly as well.
  • If own HTML is entered in the rich text editor via the source code view in the form designer, this is now kept as far as possible and no longer cleaned up. 
  • Improvement regarding false positives in relation to bot detection. 

For plugin developers

  • PrimeFaces was update to version 11.
    • Adjustments may be required for plugin with a custom UI.
    • See the PrimeFaces migration guide for more details: 8   10, 10   11
    • Some changes have been made especially to the Datatable component.
  • Updated pac4j. Plugins that provide custom authenticators should be checked and may required adjustments.
  • The builtin class PluginServletActionRetVal for the return value of servlet action plugin now contains constructors for all available parameters. Use of a custom implemenation of IPluginServletActionRetVal should be avoided, since these custom classes may not be available when communicating with a frontend server.
  • The form preview in the form designer is now placed inside a shadow root. This improves the encapsulation of the designer CSS and the form CSS, and prevents custom form CSS from affecting the layout of the designer.
    • As a consequence, widget plugins now also need to separate their CSS.
    • In addition, due to the shadow root, it is no longer possible to directly select elements in the form, starting at document context. If a widget plugin contains custom JavaScript for the designer that selects elements within the form preview, the JavaScript needs to be adjusted.
      • The function IFormDesigner.getFormDesignPanel() can be used to access the element in which the form is located. Inside this element, it is now possible to search for child elements in the form. For example:
import { instance } from "@de-xima/fc-form-designer";

function main() {
 // Instead of selecting elements directly from the global scope
 $(".XTextField");

 // Select elements starting from the form design panel
 instance().getFormDesignPanel().find(".XTextField");
}

Checksummen