Tuesday, June 24, 2014

Orbeon Forms 4.6

Today we released Orbeon Forms 4.6!

Major features and enhancements
  • Lower memory usage for compiled forms. Orbeon Forms has a sophisticated system of caches, including for compiled form definitions. In previous versions, several compiled form definition were created for different modes of the same form (creation, edition, view, PDF, email, noscript). In this version, we create a single compiled form definition for creation and edition on one hand, and view, PDF and email on the other hand. When the wizard view is not used, a single form definition is created for all those modes. The benefit is that less memory is used per form you create, and that the first access to a given mode of a form can be faster. (#1143)
  • Faster large forms. This version fixes a bottleneck which slowed down very large forms, sometimes by a factor of two. (#1737)
  • SQL Server support. In addition to Oracle, DB2, and MySQL, Orbeon Forms can now store form definitions and data in SQL Server. (#697) (blog post)
  • Improved Form Runner Home page. The Form Runner Home page is now faster, in particular with relational databases, and supports paging. (blog post)
  • Improved versioning options when publishing. When versioning is enabled, publishing a form now gives the form author the option to create a new form version or to override the previous version. (#1669)
  • Upgrade form definitions. Form Builder, when loading forms from older versions of Orbeon Forms, has a mechanism to upgrade the form definition to the new version. Until now, you had to open all those forms in Form Builder and republish them, which could be time consuming. You can  now do this as a batch operation from the Form Runner Home page with the new "Upgrade form definitions" function. (#1695)

This version introduces the following new languages:
  • Portuguese (Form Runner and Form Builder)
  • Dutch (Form Runner)
In addition, the Finnish resources have been brought up to date (Form Runner and Form Builder).

See Localizing Orbeon Forms for the latest localization support. Localization depends on volunteers, so please let us know if you want to help!

Other new features and bug-fixes

Including the major features and enhancements above, we closed about 60 issues since Orbeon Forms 4.5.1 (over 70 since 4.5). We should mention these notable bug-fixes and features:
  • Form Builder
    • You can configure whether services/actions are present in toolbox (#1722), which Publish dialog actions are available (#1721), and which buttons and processes are used in Form Builder (#1416)
  • Form Runner
    • URLs in text fields and textareas are automatically hyperlinked (#1694)
    • The "navigate" action properties can be XPath value templates (#1226) (doc)
    • Attached images are properly resized in PDF files (#872)
    • Focusing out of all fields dispatches a DOMFocusOut event (the Form Runner error summary show errors as expected when this happens) (#619)
    • When paging in the Summary or Home pages, full updates are used and increase UI responsiveness (#1685)
    • The Dynamic Data Dropdown can now be hidden if its itemset is empty (#1621)
    • The min and max attributes on fr:grid are now AVTs (#1665)
  • XForms
    • Required and type MIPs now count as failed validations (#1533)
    • xf:case supports AVT on the selected attribute (#1683)
    • The recalculate and revalidate actions are now unified (#1650)
  • Other
    • Properties support inline values for enhanced readability (#1257) (blog post)
    • Orbeon now uses jQuery version 1.10.2 (#1349)
Current browser support

This is unchanged since Orbeon Forms 4.5:
  • Form Builder (creating forms):
    • Chrome (latest versions, both in the stable and dev channels)
    • Firefox (latest released version and current Firefox ESR)
    • IE10 and IE11
    • Additional support for Form Runner (accessing form):
      • IE7 (deprecated), IE8, and IE9
      • Safari Mobile on iOS 6 and iOS 7
      • Chrome for Android (stable channel)
    Compatibility notes
    • If you use Oracle, MySQL or DB2, you need to upgrade your database schemas. (doc)
    • With XForms, the xxf:sequence element child of xf:var is deprecated. Instead, use xxf:value. (#1710)
    • The default is for forms created with Form Builder is to have noscript support disabled. To enable noscript support, add xxf:noscript-support="true" to the main <xf:model> element of the form, via Edit Source.
    You can download the latest version of Orbeon Forms from the downloads page.
      Don't forget to grab a trial license for the PE version.

      Please send feedback:
      We hope you enjoy this release!

      Monday, June 16, 2014

      The Form Builder summary page and Form Runner home page

      We often get questions that result from a confusion between the roles of the Form Builder Summary page, and the Form Runner Home page. The confusion comes from both pages listing forms you've created with Form Builder. To put it simply:
      • The Form Builder Summary page shows form you can edit.
        • This page is for form authors. It is the place to go to if you want to see what forms you can currently edit, or want to create a new form.
      • The Form Runner Home page shows form that have been published.
        • It can be useful to end users who want to see which forms they have access to. From there, they could fill out a new form (e.g. fill out a new "Child registration" form), and see what forms they have filled out in the past (e.g. all the previously filed out "Child registration" forms). Of course, whether end users can access that page is subject to how you configured the system.
        • It can be useful to administrators who want to perform management tasks on published forms. For instance, they can set whether a form is available to end users, or move published forms between servers, for instance push published forms from an integration server to a production server.
      Finally, keep in mind that both pages don't necessary display the same set of forms:
      • Obviously, forms a form author is currently working on, but that haven't been published yet will show on the Form Builder Summary page, but not the Form Runner Home page.
      • Maybe more surprisingly, the opposite is also possible: you can have, on a given Orbeon Forms server, published forms that are not available on the Form Builder Summary page. This can happen in a number of situations, for instance when you have multiple environments, say a development and test server. If form authors always edit forms on the development server, publish them locally, and then publish them to the test server for testing, on the test server, those forms will only be available in the "published state", and won't be available for editing. Thus, on the test server, they will show on the Form Runner Home page, but not the Form Builder Summary page.

      Monday, June 9, 2014

      Improved Form Runner Home page usability

      Orbeon Forms 4.6 improves the performance and usability of the Form Runner Home page.

      The Form Runner Home page
      The Form Runner Home page

      As a reminder, the Form Runner home page has two purposes:

      • For regular users, it is a start page which lists the forms available to the user and allows navigation to the Summary or New page.
      • For administrators, it provides a range of administrative functions such as publish/unpublish, moving forms to a remote server, and more.

      Recently, while using the Home Page with databases containing large numbers of published forms, we noticed performance issues, especially when loading form definition metadata from both a local and a remote server. So we fixed the following for Orbeon Forms 4.6:

      • We made joining local and remote form metadata much faster.
      • We addressed a few inefficiencies common to all databases.
      • We made retrieval of form metadata much faster with the Oracle database (which should help with other relational databases as well).
      • We added paged navigation to make the HTML page smaller and faster.

      With these changes, the Home page shows good responsiveness even with hundreds or a few thousands of published form definitions!

      Monday, June 2, 2014

      Automated database testing with RDS

      Starting with version 4.6, Orbeon Forms will support SQL Server, in addition to Oracle, MySQL, and DB2. That's a lot of databases to test for. To make testing easier, we've started using Amazon RDS.

      RDS does for databases what Sauce did for browsers: it allows us to run on every commit all our tests against different databases, and this without us having to worry about maintaining servers running all the different databases we want to support.

      Since RDS doesn't (yet?) support DB2, at this point we're running automated tests on every commit against Oracle, MySQL, and SQL Server, but not DB2. For DB2, we're planning to do this by leveraging an EC2 instance.