Data privacy notice

 

When this content is loaded, usage information is transmitted to Vimeo and may be processed there.

 

             

8.0.0

Modified on Thu, 8 Feb at 4:16 PM

We recommend you use at least version 8.0.2, which contains several bug fixes. All current versions can be found in the release notes.


Download formcycle | frontend server | frontend server (inbox) | Checksums


Please also see the migration guide with helpful tips for the update to version 8 of formcycle.


Issues with the Java 11+ that were present in formcycle 7 have been resolved. We recommend that you use the latest long term support version of Java, which is currently Java 17. 


Starting with version 8, you cannot create new forms with the old workflow (V6 workflow) engine anymore. Existing forms still work, but we highly recommend that you migrate forms to the new workflow engine. Support for the old workflow will be removed in a later version


New features


New user management

We completely reworked the user management for version 8 of formcycle . You can now connect users from external identity providers (IDP) everywhere, including frontend forms, but also all backend pages .


Futhermore, you can now also customize the login screen for the backend, similar to login screen for frontend forms. You can select between different layouts and choose which login services should be available.


The new user filters let you fine-tune the permissions for frontend forms. You can limit access to certain groups of of people, and also make form elements available only for certain user groups imported from external identity providers. This works the same way as before, just go to the form designer and select one of the new external user groups for a form element.  


Finally, starting with version 8, you can also restrict access to a submitted form to the applicant, so that only the user who submitted the form can open the form again and possibly make changes.




Cross-client users

Users are not restricted to a single client anymore. When you add users directly or import users from login services, you always do so globally in the system scope. You then grant users access to the one or more clients, by sending them an invitation mail.


Each user is associated with a user profile. Users can login either with their password or via an account from an external login service. In additional, users can also associate multiple logins from different login services with the same user profile.


When you grant a user access to a client, you can either grant access to an individual user, or to a set of multiple users via custom user filters.


Permissions, user groups, and roles are assigned individually for each client. This means that you can grant users different permissions for different clients.


Finally, if you want to view an overview with all known users, you can go to the users system page.  That page also lets you grant administrative permissions to individual users.




Automatic plugin update

Formcycle now automatically checks for available plugins updates. This is supported for all official formcycle plugins developed by us.


When an update is available, a message pops up in the backend, in the status bar at the top. You can then go to the plugin page and install the update after reviewing the release notes. All available plugin updates are marked with a little yellow info icon.


In additional, you can also opt-in to automatic plugin updates in the system and database update menu. If enabled, formcycle checks for updates when the application is started and installs all available updates automatically. Additionally, you can also trigger an automatic update manually from the system and database update menu.



Plugin store 

If you do not have a plugins installed yet, the you can go to the plugin store, which contains all available plugins. This includes freely available plugins and all plugins for which you have a valid license.


To open the plugin store, go the plugin menu and click on the store button at the bottom left.


Before you install a plugin, you can also read the release notes and view other details by clicking on the more button of a plugin card.


Two-factor authentication (2FA)

Two-factor authentication protects the profile of a formcycle user.

A two-factor authentication is an authentication method that improves security by requiring a user to present two different pieces of evidence (the so-called factors), before they are granted access to the formcycle backend.


This is an opt-in feature that users can enable if they wish to protect their user profile against unauthorized access.


For the second factor, formcycle support the primary email address of the user as well as a smart phone, using an authenticator app.



Double opt-in confirmation page

You can now show an additional confirmation page with a confirmation button when the user click on the confirmation link in the double opt-in email.


Previously, when the double opt-in was enabled, users were sent an email with a confirmation link. Once a user clicked on that link, the double opt-in was confirmed. This approach was problematic, as some email servers and mail programs automatically click on links in emails to ensure that the link is safe. As a result, the double opt-in was confirmed before the user ever got the email.


As such, we recommend that you always use a confirmation page if possible. To enable the page, check the corresponding option in the Send double opt-in email workflow action.



Global closing days for appointments

Previously all closing days for appointments were limited to that appointment. For global closing days, such as national holidays, you can now add a separate list of closing days that are applied to all appointments.


If you open the appointment management page in the backend, you have two lists, one list for global closing days, and one list for local closing days.


Also, the list of closing days was updated and now supports copy & paste of multiple rows.



Download log files

Go to the system page logging and click on the download link next to one of the configured log files. This lets you download the log file directly via your browser, which can be helpful when you need to analyze an issue but do not have access to the server directly.


You can either download the latest log file or a ZIP file with all log files.



Form widget: Map integration

The freely available map widget plugin offers a new form element with a map. The user can scroll and zoom the map, and select either some points on the map, or a line or an area.  When the user submits the form, the selected points, line or area is saved and shown again when you open the form in the inbox.


if you want to include your own or custom map data, you can connect the widget with an online map service. Currently, the widget supports the commonly used protocols WMTS, WMS, and TMS.


The widget is available free of charge and can be installed from the plugin store. It requires at least version 8 of formcycle.



More small features

Plugins

  • For official plugins connected to a plugin repository, you can now view a description and a changelog in the plugin menu.
  • It is now possible to edit the settings of a plugin even when the plugin is disabled. This is required because plugins with an invalid configuration cannot be enabled anymore.


Form designer

  • For text input fields, you can now enter a custom error message regardless of the selected data type. When you do so, that custom error message is used instead of the default message. Previously, this was only possible when the data type was set to regular expression.


Workflow designer

  • The workflow action of type Send double-opt in email now lets you configure whether form records should be locked in the inbox while the double opt-in is pending.
  • The workflow action of type Redirect now also supports relative URLs. Previously, any attempt to use a relative URL resulted in an error. Relative URLs are relative to the URL against which the form was submitted, e.g. https://example.com/formcycle/form/process/5406/current/?lang=en-US&frid=486597a8-3e3c-4fc2-b732-8af9e98ceb0b. In case you want to redirect the user to a URL within the formcycle application, you can use the placeholder [%$APPLICATION_CONTEXT%]. For example, if you want to redirect to a form with the ID, you can enter the following relative URL: [%$APPLICATION_CONTEXT%]/form/provide/1234


Inbox

  • When you open a form record in the inbox that uses an old form version and you want to migrate the form record to the current form version, you can now choose whether the form data should be validated against the new form version. Previously, the form data always got validated, so that you could, for example, not migrate form records that were missing data for newly added required fields, unless you first entered the missing data.


Backend

  • The status page of the frontend server can now be disabled via the application property fs.settings.statuspage.type.
  • The identifier for the duplicate form records check now also supports user placeholders such as [%$USER.displayName%].
  • The new role permission named Move form records lets you control whether inbox agents should be able to move form records to other inboxes. Previously, that was always possible for users who had access to the inbox. 
  • The system administrator sadmin can now change the role permission for client administrators directly, without the need for having been granted access to the client. You can do so via the backend page System -> Clients. Previously, the client admin had to explicitly grant the sadmin access to their client, before the sadmin could edit the role permissions for the client administrator role.


Changes

Form designer

  • The check for duplicate names and aliases is now case-insensitive and does not distinguish between upper and lower case anymore. In particular, it is now not possible anymore to have two different form fields with aliases that only differs in capitalization.
  • In the property panel to the right of the form designer, you can set an initial default value for form elements. Default values containing special characters are now supported by using a JSON array instead of a plain text string. For example, you can use ["Doe, John", "Anderson, Mary"] for a multi select form field where two values should be preselected. Previously, the entered text was always split on commas, so that values containing commas were not supported. Additionally, you can now also use placeholders that return a JSON array, such as [%$USER.groups%].  In very rare cases, incompatibilities may arise when an existing form uses a select element that contains an option with a value that is also a valid JSON array.


Workflow designer

  • The workflow action of type Email now results in a hard error with the error code NO_SENDER, when no sender address was configured; or when a placeholder was used that resolved to an empty piece of text.


Inbox

  • Inbox tables and data tables now use the character encoding  UTF8MB4. Previously, formcycle used the encoding UTF8MB3 which did not support some special Unicode characters. You need to ensure that the database supports UTF8MB4. All recent database management systems support it.


Backend

  • NTLM is not supported anymore for user authentication. Use Kerberos instead.
  • When protcol entries are created for newly booked appointments, the time zone of the server is now used for printing dates and times.
  • All uploaded files are now scanned for malware, without exception, when a malware scanner is installed. This may affect for example custom plugins that provide custom UI pages. Uploaded files were not scanned for malware unless the plugin developer explicitly enabled that feature.


Fixes

Web forms

  • A bug was fixed in regards to upload fields that had the automatic upload feature enabled. If a file was selected, the upload was then cancelled and the form was submitted immediately afterwards, it could happen in rare cases that the loading dialog with unfinished automatic uploads appeared and never disappeared. As a result, the form could no longer be submitted.
  • Line breaks no longer occur for input fields with a unit, even when the text of the unit is longer.
  • For input fields with data type set to Date, the page no longer scrolls to the beginning when switching to the last or next month in the date selector via the arrow icons.
  • The must-equal condition now works correctly even if the form fields are repeated or are located inside a repeated container.
  • When an input field has a numeric data type and a minimum value was set, and then the data type is changed to regular expression, the minimum value is not validated anymore, only the entered regular expression. There was a bug that still applied the check for the minimum value in this case.
  • Improved BITV (Germany Digital Accessibility Laws) compliance for the appointment finder.
  • A layout issue with repeated invisible containers was fixed. There was no spacing between the elements in the container, which resulted in collisions with the elements of the following repetition.
  • Text within a label that was marked with bold formatting in the editor is now also displayed with a bold font in the finished form. The default layout provided by formcycle had overridden the formatting so that such labels were never displayed in bold.


Form designer

  • Placeholders in the default value of form variables with the Server-Only option enabled are now also replaced.
  • When using the PDF importer to import an image from a PDF document, the image is now also added to the list of all available images.
  • If the option Use visible form placeholders is enabled when using the Word export feature in the form designer, no invisible help text is generated any longer. Previously, the placeholder was added to the value and the help text in the Word document. When editing the Word document manually, it is easy to forget to change the placeholder both places, resulting in broken Word documents that do not work as intended anymore
  • Due to security constraints, various HTML attributes that potentially allow JavaScript to be executed are blocked in the form designer in within the form preview. Some attributes that are definitely safe are now no longer blocked any longer, such as border or width. This improves the appearance of the form in the form designer so that it more closely resembles the form as seen by users


Workflow designer

  • When saving the workflows, the modification date of the form is now incremented.
  • For the workflow event of type date and time, the option UNIX timestamp is now saved and applied correctly.
  • Scheduled jobs jobs created by the workflow are now executed correctly even when the process ID of a form record was changed via the workflow action Create new process ID.
  • For the workflow actions actions of type database query and LDAP query that use parameters with question marks, the configured values for the parameters are now passed to the query in the order they are entered in the workflow. If a query contained more than 9 parameters, then, for example, the 10th parameter was passed between the 1st and 2nd parameter due to an incorrect sorting.
  • Fixed an issue with the workflow action workflow action of type Fill PDF where some Unicode characters such as accents or other characters could not be inserted into the PDF. This is now possible again if the used font supports those characters.
  • The word fill functions rmr(), rmtp(), rmp() and rmt() now also delete the surrounding row, paragraph, or table when no argument is given and the value to be checked is empty.
  • The state of a form record is now set correctly when a PDF document is created via the Print Service plugin. Placeholders such as [%$STATUS_NAME%] now return the expected value again. Similarly, the state is now also set correctly for the submit no save popup button action.
  • For forms with the option Use option text for conditions referencing an autocomplete element enabled, there were problems when creating PDF documents via the Print Service plugin, if conditions such as hidden-if or required-if were used with a selection form element with autocomplete enabled. This issue has been fixed.


Inbox

  • Inbox filters with dates can now be cleared again via the clear button.
  • When selecting the form page to display when opening a form record in the inbox, the pages are now displayed in the same order as they appear in the form designer.
  • When a scheduled workflow event (Date and time, After state change) is disabled, no scheduled execution is shown in the history of a form record the inbox anymore. This could cause confusion. However, note that even in previous versions of formcycle, the event was never actually executed, as the workflow engine checks whether an event is disabled before it starts to execute the workflow.
  • The permission check for a form record in the inbox is now always re-evaluated after changes were made to a form record. For example, if a form record was moved to another mailbox or its state was changed, the form record was still visible for a short period of time, even if the inbox user was not allowed to see the form record in the new inbox or state. Only when the inbox was refreshed or the form record was reloaded, did it disappear from the list of available form records.


Backend

  • Forms are displayed as offline if they are inactive due to a configured availability period.
  • An error when updating a form with another form containing form files has been fixed. If form files are still used in the workflow, then these files are no longer deleted. In addition, a minor issue with the mapping of existing states has been fixed.
  • Forms with tags can now be correctly updated again with a form export file that contains one of the existing tags.
  • When submitting many forms with an appointment finder at the same time, there was a small chance that several appointments with the same date were booked. This has been adjusted so that duplicate booked appointments are no longer possible.
  • In the publish dialog, the base URL of the selected server is now used for all publishing methods. When a frontend server was selected, some methods incorrectly used the URL of the master server.
  • Placeholders are now resolved correctly even if the value of the placeholder is identical to the name of the placeholder. Previously, in such cases it was assumed that no value was available for the placeholder, resulting in the placeholder being replaced with an empty piece of text.
  • If formcycle is used in a cluster with multiple master servers; and a database and system update is started on one cluster node, the other cluster nodes are now notified about this event. Previously it was necessary to trigger a check for updates on all cluster nodes manually, this is not required anymore.
  • For the login service of type Microsoft Entra ID, all available user groups are now read from the active directory (AD). Previously, only the first 20 entries were found due to a limitation in the query that was used to read the data from the AD.


For plugin developers

  • All plugins must now define a unique ID in their MANIFEST.MF.
  • Depending on the plugin, adjustments may be required due to the changes in the user management and due to updated Maven dependencies. Also, small changes were made to the FC server Maven plugin and to the deploy Maven plugin. For more details, please see the plugin section in the migration guide.
  • A new method IFCPlugin#validateConfigurationData was added that is available for all plugins. It allows a plugin to validate its configuration when it is saved. When the configuration is invalid, the plugin cannot be saved and an error message is shown to the user.
  • Plugins of type IPluginServletAction can now access more request details such as the context path of the web application and the request URL via the provided parameters object.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article