Features
- Support for WebDAV.
- This feature requires an appropriate license.
- The new backend menu Data, WebDAV connection lets you set up connections to a WebDAV server.
- The new workflow action Save to WebDAV server lets you transmit files to another system via the WebDAV protocol.
- 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 selHobby, you can use the switch condition to test the value against the possible options reading, sports, collecting, etc.
- 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
- The backend menu External users (authenticators) now lets you retrieve users from an 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 addrsses 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 only had a filter for recently modified form records. This filter was replaced by a new filter that lets you filter for any arbitrary date 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
- The actions Create text file and Export as XML now let you access the content of the created files via variables.
- The POST request of the old workflow now lets you add custom headers as well.
Frontend forms
- JQuery and JQuery UI were updated to their respective latest versions.
- 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
- For each form field, the form designer lets you configure when that field should be available, depending on the state of the current form record as well as the user's user group. When a form field is not available, its values are now not shown in the data table view 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
- The variable dialog button of the rich text editor now also works in full screen mode.
- When you download a file in the backend, now a new tab is always opened. This prevents issues that some browsers that always display the downloaded file instead of saving it to the disk, which would destroy the current page you are editing.
- Several minor UI fixes.
Inbox
- Improved conformity of the inbox to the Web Content Accessibility Guidelines (WCAG).
- When multiple values exist for a form field, all such values are now shown in the data table view of the inbox.
Workflow
- When an unhandled exception occurs in the new workflow, the error response page is now always shown, even when a previously executed action set a different response page.
- LDAP workflow actions which make use of an existing LDAP qury are executed correctly again.
- Fixed an issue that resulted in some form fields of a Word document not getting filled in sometimes.
Frontend forms
- The form session ID is preserved correctly when a form is saved. Previously users had to sign in again when saving a form with restricted access.
- Improved the conformity of web forms to the German accessibility guidelines (Verordnung zur Schaffung barrierefreier Informationstechnik).
Form designer
- The Word and PDF export feature now generates the correct Word function for creating checkboxes when 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.
- Custom HTML that was entered in the source code view of the rich text editor is now preserved to the extent that is possible.
- Lowered the detection rate for false positives when checking for bots via the hidden bot field.
For plugin developers
- PrimeFaces was update to version 11.
- 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 center of 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.
- IPluginFormElementWidget#getCssData must return only the CSS required for the form layout.
- IPluginFormElementWidget#getCssDataForDesignerUi must return only the CSS required for the designer layout, such as for custom property editors.
- In addition, due to the shadow root, it is not possible anymore to select elements within the form directly, 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.
- You can use the function IFormDesigner.getFormDesignPanel() to get access to the parent element within the shadow root that contains the form preview. Within that element you can search for elements as usual. For example:
- As a consequence, widget plugins now also need to separate their CSS.
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");
}
function main() {
// Instead of selecting elements directly from the global scope
$(".XTextField");
// Select elements starting from the form design panel
instance().getFormDesignPanel().find(".XTextField");
}