Monday, November 4, 2013

Orbeon Forms 4.4

Today we released Orbeon Forms 4.4!

This release includes the following new features and major enhancements:
  • Oracle support for autosave and owner/group-based permission. These two features were timidly introduced in 4.3 for MySQL and DB2 only, and required two properties to be set to be enabled. With 4.4, they are available on all the relational databases supported by Orbeon Forms (Oracle, MySQL, and DB2), and are enabled by default (doc for autosave, doc for owner/group-based permissions).
  • Publish to production. This feature allows you to configure access to a remote server and to publish, unpublish, and transfer forms between the local and remote server (doc).
  • Form Runner can use the current Liferay language. When enabled, the user's language set in Liferay is propagated to Form Runner and influences the Form Runner language. This is available for the Form Runner proxy portlet only (doc).
  • Form Runner can use Liferay user, group and roles. When enabled, the Form Runner proxy portlet propagates headers with user, group and roles information to Form Runner, which can then use that information for access control (doc).
  • Form Runner is more extensible. Form Runner now supports adding custom XForms model logic (doc), simple processes (doc) support sending custom events, and you can specify your own JavaScript code (doc). The combination of these features enables custom behaviors without changing Form Runner itself.
  • Memory improvements for compiled forms. We have worked on reducing the memory footprint of compiled form definitions. This is important for users with possibly hundreds of forms deployed. In a large form scenario, we have measured 20% less memory consumed (blog post).
But that's not all: there are over 80 closed issues since Orbeon Forms 4.3. For convenience, here is the list of the most relevant changes:
  • Form Builder
    • "Set Response Selection Control Items" only updates current language (#691)
    • Removing FB JAR causes FR Summary page not found (#1265)
    • Dynamic bindings by type (#1264)
    • Enter key in Control Settings must save and close (#1189)
    • Rename Grid Details to Grid Settings (#1163)
    • FB: Test mode crashes with wizard and inner buttons (#1313)
    • Tooltip for HTML checkbox is incorrectly placed (#1362)
    • XML Schema types is not set (#1372)
    • Grid in section template empty in review and at design time (#1370)
    • FB Summary page: title and description remain in English (#1376)
  • Form Runner
    • Way to run custom XForms when Form Runner button is pressed (#1040)
    • FR: Publish to production (#1055)
    • Red star isn't shown next to labels for required fields in repeat headers (#1176)
    • Image annotation image doesn't show in PDF (#1076)
    • Allow send properties to be AVTs (#1213)
    • Property to include custom content added to the fr-form-model (#1141) (doc)
    • fr-mode doesn't update form upon save (#1232)
    • Noscript doesn't honor oxf.xforms.format.input.date (#1154)
    • Conditionals in the simple process syntax (#1144)
    • Property to add custom JavaScript to Form Runner pages (#1262)
    • Paging not working on DB2 (#1263)
    • New page missing summary, PDF, and review buttons (#1269)
    • fr:section with open="false" is closed in PDF (#1287)
    • Ability to specify fr-language on PDF URL (#1290)
    • Readonly fr:grid first column is too narrow (#1296)
    • XML Schema service: NPE if section id ends with "-section" (#1297)
    • Edit page incorrectly showing 403 when users don't have update permissions and drafts exist (#1278)
    • Page allowing selection a drafts shows drafts we can't edit (#1279)
    • Autosave: prevent users editing a draft they only have read access to (#1277)
    • Oracle support for owner/group permissions and auto-save (#1237)
    • Regression: $fr-roles returns a single string (#1243)
    • Use Liferay language as requested Form Runner language (#1122)
    • Proxy portlet doesn't forward user/role information (#946)
    • Regression: Rich Text control output in PDF is incorrect (#1288)
    • Error Summary doesn't update when FR language changes (#1291)
    • Schema generator does not support attachment controls (#1336)
    • Document REST API changes if any (#1338)
    • Autosave is enabled by default but does not work with eXist when user logged in (#1333)
    • Add a property listing the active persistence API implementations (#1186)
    • fr:currency control doesn't update in repeat iteration (#1348)
    • Summary and Home page use shorter date formats (9fbe1deddb)
    • Summary page shows "23:44 pm" (#1355)
    • IE7: Created/Modified columns too narrow (#1356)
    • More links to FR Home page (#1196)
    • Schema generator to produce XForms namespace on root element (#1366)
    • Can't authorize XML Schema Generator Service (#1367)
    • eXist: Summary page lists form data for user with only "new" permission (#1381)
    • FR: Summary: Handle persistence without permissions support (#1384)
    • Home: "Select All" also selects rows w/o checkboxes (#1380)
    • FR Home: don't link if form is not available (#1389)
    • FR Home: no link if user can only create (#1388)
    • Wizard: click on error in error summary does not switch section (#1394)
    • Regression: Summary page shows "Search returned123of200documents." (#1401)
    • Regression: Import says validation import were canceled (#1398)
  • XForms engine
    • Add CSS class for LHHA appearances when present (#1203)
    • fr:tinymce not showing if in a Bootstrap tab (#1205)
    • Implement support for data: in xf:output mediatype="image/*" (#1065)
    • XForms LocationData takes a lot of memory (#1247)
    • XPath function to access basic image metadata (#1253)
    • JSESSIONID cookie not forwarded to service when xxf:username="" is specified (#1267)
    • A submission with echo: expires the session (#1268)
    • Upgrade to Bootstrap 2.3 (#1202)
    • fr:tinymce doesn't show in table if missing label/help (#1283)
    • Box select too wide on Firefox (#1293)
    • xforms-value-changed: context info for current value (#1295)
    • Incorrect repeat layout in Liferay (#984)
    • Don't proxy Set-Cookie header in response (#1188)
    • Readonly image attachment has upload file chooser (#1240)
    • Strip unneeded whitespace in XForms processing (#1252)
    • Non-relevant textarea can get the focus (#1387)
  • Other
    • Add a feature to delete documents stored by the scope serializer (#1251)
    • In logs, display whole exception message instead of truncating it (#626)
    • Upgrade to Scala 2.10.3 (#1064)
Compatibility notes:
  • If you're using Form Builder / Form Runner with Oracle or MySQL, you need to update your database tables; see the DDL for Oracle and the DDL for MySQL. These changes to the database were necessary to support autosave and owner/group-based permissions on Oracle and MySQL.
  • Form Builder is not supported on Safari 7 at this time (see #1399).
    • UPDATE: Form Builder works with Safari 7.0.1.
  • If you're implementing the REST API, you should now also support the following:
    • in CRUD requests, draft in path in addition to data, used by the autosave mechanism;
    • in search requests,
      • support the new drafts element in the search request;
      • for every document you return, specify the draft="true|false" attribute, used by the autosave mechanism.
    • both CRUD and search requests 
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!

    No comments:

    Post a Comment