v8.1

Formulize and AI: connect an AI assistant to Formulize!

Local development: set up Formulize in Docker

Discuss this release in the forum

Changes since 8.02…

For users - people who fill in forms, search lists, view reports, etc

  • New form screens will have a Close button in addition to a Save button, by default. The Close button returns you to the prior page, without saving.
  • Clean error reporting. A simple statement of an error will appear on screen, with the option of reporting details about it to the webmaster.
  • AI assistants can now create or update multiple entries at once. Previously, they had to perform one operation per entry, which was slow. See the docs for how to connect an AI assistant to Formulize.
  • You will be warned when your session is about to timeout. (As long as your site is using the default theme.)
  • There is a new Formulize logo and icon!
  • Eliminated rare cases of random logouts

For creators - people who make forms, configure lists and reports, etc

  • Comprehensive AI integration for creating forms and updating their configuration. See the docs for how to connect an AI assistant to Formulize.
  • Major improvements and changes to adding and managing elements in forms. More element types, with fewer options in each, to make everything much easier to use.
  • For new forms, it’s now possible to create the principal identifier as part of saving the form, all in one step.

For app developers - people who build applications, use the API, etc

  • Backwards incompatible changes!
    • If you have any custom element classes, you will need to update the signature of the loadValue method:
      // old:
      function loadValue($value, $ele_value, $element) {
          
      // new:
      function loadValue($element, $value, $entry_id) {
          $ele_value = $element->getVar('ele_value');
          
      // See modules/formulize/class/textElement.php for an example.
      
    • If you have any On Before Save or On After Save code that checked for the old {WRITEASNULL} flag, you may need to update the code. The {WRITEASNULL} flag is no longer used, and such values are literally null.
  • Streamlined error reporting from end users. They are automatically given the option of sending you error reports via email, that will include the full details, including a backtrace, and any notes they care to have written as well.
  • Reorganized top level menus on the admin side, now with quick links to Formulize admin pages and documentation
  • Setting/changing the entry owner is now part of an ‘Office use only’ section at the bottom of forms.
  • When a page in a form screen references another screen, conditions on the display of pages within that other screen are now properly respected
  • A new button is available for all form screens: Close. This button closes the form without saving and returns the user to the prior page. It is turned on by default for all new form screens.
  • Importing data will now trigger On Before Save and On After Save events, which is useful and important for consistency.
  • If you are using the Import/Export Forms and Apps feature, it now handles most element references cleanly across sites, meaning you can export from one system and import into another. The feature is still not complete and only handles forms and elements, and some element references may not be ported cleanly yet. Further updates to come.

For core developers - people who work on the Formulize code base

  • Massive refactoring of code related to form elements, so that almost all elements have their own class file now, allowing for multiple sub-types of elements to inherit from parents
  • A new option to force synchronous queue processing. See docs for details.
  • A complete test suite that makes the Museum Demo application!
  • New setup for local Docker integration, to avoid any possible database corruption/misinterpretation between different operating systems
  • Moved anti CSRF tokens out of session and into files, which creates a new folder that must be writable by the server: /tokens

And many more little fixes and improvements!


Don't want to miss the next one? Join the mailing list.