Sunday, December 31, 2017

Orbeon Forms 2017.2

Today we released Orbeon Forms 2017.2, the second and last major release of Orbeon Forms in 2017! This release introduces several major features and enhancements which should help form authors and form users be more productive!

Major features and enhancement

    More flexible form layout

    With Form Builder, all form controls in Form Builder are placed within grids. Until now, each grid could only have from 1 to 4 columns (with the option, by configuration, to extend that number at the risk of having funny-looking layouts). Spanning rows in a grid was possible, but spanning columns was not.

    With Orbeon Forms 2017.2, we are introducing a fixed 12-column layout for wider displays. This is backward-compatible with the previous 1-4 column system, but also allows cells that span columns. (doc)

    Grid layout with cells spanning rows and columns

    Drag and drop of controls

    You can now drag and drop controls between grid cells to easily move or copy controls. (doc)

    Undo and redo

    Instead of asking for confirmations, Form Builder now has undo and redo functions. The top of the toolbox now shows familiar undo and redo icons. (docblog)

    Updated toolbox layout

    The Form Builder toolbox now includes at the top, in a non-scrollable area, the Form Settings icon, clipboard icons, and undo/redo icons. The rest of the toolbox got split into 2 tabs: Controls, and Advanced. The latter includes Actions and Services, but also access to the Edit Source and Permissions functions.

    Top of the improved toolbox

    Cut/copy/paste of grids and sections

    Grids or sections can be copied or cut to the clipboard and pasted once or multiple times. (doc)

    Merge of section templates

    Section templates included in the form can now be individually merged into the form. This allows you to modify the resulting section and its content. (doc)

    Updating of control names when merging a section template

    Replication

    The purpose of replication is to provide high-availability of Orbeon Forms with as little disruption as possible to users currently filling out forms. This is achieved by replicating state between servers. So if a server goes down, the load balancer can redirect users with active sessions to other servers, and because the state was replicated there, users can continue their work. This is an Orbeon Forms PE feature. (doc)

    Document leases

    Document leases allow a user to update a document exclusively, with the assurance that another user will not overwrite it inadvertently. This is an Orbeon Forms PE feature. (doc, blog)

    Message shown when another user owns a lease

    Virus scanner API

    When a user uploads files via one of the Form Runner attachment controls, a virus scanner can verify the file before it gets attached to the current form. Orbeon Forms now provides a simple Java API which allows implementors to integrate with virus scanning solutions. This is an Orbeon Forms PE feature.  (doc)

    Form publish API

    With Form Runner, you cannot simply take a form definition and store it in the database via the persistence REST API, because publishing requires adding some information to the form definition. This new API allows you to take a raw form definition, such as one you would see via the Form Builder's "Edit  Source" function, and publish it properly. This is an Orbeon Forms PE feature. (doc)

    Run form in background API

    The purpose of this API is to run a form definition in the background, that is without a user interface, and to allow optionally running one or more processes in addition to the regular execution of the form. This allows scenarios such as:
    • creating new form data in the database
    • reading, modifying and updating existing form data
    For more details, see the documentation.

    Other features and enhancements

      Form Builder

      • Ability to edit control label and hint in the Control Settings dialog. (doc)

      Form Runner

      • Improved accessibility of controls within repeated grids
      • Ability to include custom dialogs in forms (doc)
      • Support custom captcha XBL components (doc)
      • Wizard status is persisted (doc)
      • JavaScript API to find controls by name (doc)

      XForms engine

      • Label, hint an help can refer to controls within repeated content (doc)
      • Subset of XPath 3.1 Map functions (doc)
      • Subset of XPath 3.1 Array functions (doc)

        Other new features and bug-fixes

        Including the features and enhancements above, we closed over 60 issues since Orbeon Forms 2017.1.

        Internationalization

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

        Browser support

        • Form Builder (creating forms)
          • Chrome 63 (latest stable version)
          • Firefox 57 (latest stable version) and the current Firefox ESR
          • Microsoft Edge 16 (latest stable release)
          • Safari 11 (latest stable version)
        • Form Runner (accessing form)
          • All browsers supported by Form Builder (see above)
          • IE9 (deprecated), IE10, IE11, Edge 15
          • Safari Mobile on iOS 10 and iOS 11
          • Chrome for Android (stable channel)

        Compatibility notes

        Internet Explorer support in Form Builder

        This version of Orbeon Forms drops Internet Explorer support in Form Builder. If you require a Microsoft browser, you can, however, use Microsoft Edge 16 or newer. Internet Explorer is still supported by Form Runner, as listed above.

        Orbeon still recommends using Chrome, Firefox or Safari for Form Builder for the best Form Builder experience.

        Processors removal

        The following XML processors are removed as they depended on outdated versions of libraries with security vulnerabilities and had very little use:
        • oxf:svg-converter and oxf:svg-serializer
        • oxf:xslfo-converter, oxf:xslfo-serializer, and oxf:pdf-serializer

        Download and feedback

        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!

        Thursday, December 14, 2017

        New Orbeon Forms 2017.2 feature: undo and redo

        Some Form Builder actions can have important consequences. For example, you can delete an entire section, or delete a control with carefully crafted validations.

        Up until Orbeon Forms 2017.1, Form Builder asks you to confirm certain big operations, but not all. Further, even once you have accepted the operation, the changes are committed to the form. If you made a mistake, then your only option, if you haven't saved your form yet, is to give up all your changes since the last save and to reload the form.

        The obvious solution to this problem is a classic undo/redo function, and this is exactly what we implemented in Orbeon Forms 2017.2. The toolbox now shows familiar undo and redo icons.


        When hovering over the icons, a tooltip tells you which operation is undone or redone. You can undo most operations which change important aspects of the form:
        • control, grid, grid row, section and section template insertion and deletion
        • section template merging (new in 2017.2)
        • control renaming
        • control move via drag and drop (new in 2017.2)
        • section move up/down/right/left
        • control settings, including itemsets, labels, hint, and validations
        See also the documentation.

        We hope you will enjoy this new feature!

        NOTE: In this initial version, it is not yet possible to undo changes to the form definition's source code with Edit Source, or changes to actions, services, and other global form settings. We hope to support undoing these operations in the future.

        Thursday, December 7, 2017

        Lease on documents


        When two users have permission to edit the same instance of form data (also known as a document), there is a chance that they might inadvertently overwrite and lose changes done by another user.

        This situation is illustrated by the diagram on the right. Say a first user, Homer, loads a document that contains "1" as the value of a field. Then say a second user, Marge, loads the same document. At that point, both Homer and Marge have the same document with the value "1" loaded in their browser. Now Homer can change the value from "1" to "2" and save. On her side, Marge can change the value from "1" to "3" and save. As result, Marge will overwrite the change done by Homer, and this without Homer or Marge knowing about it.

        Orbeon Forms, starting with version 2017.2, provides a solution to this problem:
        • lease on a document is assigned to the first user, say Homer, who loads that document. The lease is given to Homer for 10 minutes, so if he lets it sit in his browser, after 10 minutes another user will, in turn, be able to edit the document. The lease is automatically extended when Homer makes changes to the document. Should he want to, he can also extend the lease explicitly by clicking on a "Renew lease" button. 2 minutes before the expiration of the lease, a dialog asks Homer if he wants to extend the lease so he can continue to edit the document. Finally, Homer can also explicitly relinquish the lease so to give other users a chance to immediately edit that document.
        • On the other hand, if a second user, say Marge, tries to edit the document while a lease was granted to Homer, then Marge is told Homer currently has the lease on the document, and is prevented from editing the document - this until the lease expires, or Homer explicitly relinquishes the lease.
        Of course, the lease system is optionally enabled, and all the durations mentioned earlier are defaults, and you can change them if needed. With the new lease mechanism in place, you can easily avoid situations when multiple users edit the same document, making your form solution using Orbeon Forms safer and more reliable. For more on this, see the documentation on the lease feature.

        Tuesday, September 12, 2017

        Orbeon Forms 2017.1.1 PE

        Today we released Orbeon Forms 2017.1.1 PE. This update to Orbeon Forms 2017.1 PE contains bug-fixes and security enhancements and is recommended for all Orbeon Forms 2017.1 PE users.

        This release addresses the following issues:
          • Form Builder
            • Fix for label in repeated grid showing above control and in table header
            • FB includes both orbeon-form-runner.js and orbeon-form-builder.js (#3334)
          • Form Runner
            • Upload fails when large text fields are present (#3329)
            • Remove BBCode TinyMCE plugin (#3325)
          The upload issue, in particular, is a regression since Orbeon Forms 2016.3 and justifies the upgrade from 2017.1.

          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!

            Thursday, June 22, 2017

            Orbeon Forms 2017.1

            Today we released Orbeon Forms 2017.1, the first major release of Orbeon Forms in 2017! This release introduces several important features and enhancements.

            Major features and enhancement

              Liferay 7/DXP support

              This version introduces initial Liferay 7/DXP support for the Form Runner proxy portlet. See the documentation for details.

              Orbeon Forms Running in Liferay 7/DXP

              Datasets

              Datasets are a flexible way to retrieve data from services and to use it in your form. For more information, see the blog post and documentation.

              New Save to Dataset Action Response

              Improved actions editor

              The actions editor is reorganized in 3 tabs:
              • General Settings
              • Service Request Actions
              • Service Response Actions
              In addition, request and response actions can be easily reordered. The new layout makes it clearer when actions run and under what conditions. It also allows for handling datasets (see above).

              Improved Actions Editor

              Upload improvements

              You can now control much better the maximum size and file types of attachments globally, per application, or per form. In the latter case, the configuration can be done directly in Form Builder's Form Options tab. For more information, see the blog post.

              New Form Options

              Other features and enhancements

                Form Builder

                • You can now use the value of fields to set email senders and "carbon copy" recipients. See the blog post for more.
                  New Email Options

                Form Runner

                • Grids and grid rows which are empty due to hidden fields no longer take vertical space. (#2414)
                • Field sizes in automatic PDF mode are now correct. (#3105)
                • Incorrect page breaks before sections no longer appear. (#3111)
                • Non-relevant data is now annotated as such in the database when saving. (#3065)
                • It is possible to store form data in the database using the latest Form Runner data format. (#3110)
                • There is a new option to empty non-relevant data with the send action. (#1179)
                • Accessibility: HTML labels are no longer present in view mode (#3089)

                XForms engine

                • Submissions have a new option to empty non-relevant data. (#1179)
                • The xf:textarea control supports the minimal (placeholder) appearance for label and hint. (#2836)

                Other platform enhancements

                We continually maintain the Orbeon Forms source code base. This release includes a lot of refactoring as well as better tools for client-side (web browser) programming (#1600). We hope that these changes will allow us to move faster in the future.

                  Other new features and bug-fixes

                  Including the features and enhancements above, we closed over 130 issues since Orbeon Forms 2016.3.

                  Internationalization

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

                  Browser support

                  • Form Builder (creating forms)
                    • Chrome 59 (latest stable version)
                    • Firefox 54 (latest stable version) and the current Firefox ESR
                    • IE 11 or Edge
                    • Safari 8, 9 or 10
                  • Form Runner (accessing form)
                    • All browsers supported by Form Builder (see above)
                    • IE9 and IE10
                    • Safari Mobile on iOS 8, iOS 9 and iOS 10
                    • Chrome for Android (stable channel)

                  Compatibility notes

                  Callback for PDF

                  • PDFs generated from the Form Runner detail page are no longer available via an HTTP GET call. External applications which rely on this as part of a form submission must use instead the pdf or pdf-url content methods.

                  Internals

                  • If you have custom XForms code using instance('fr-service-response-instance'), make sure to replace this with xxf:instance('fr-service-response-instance') instead. The same applies to other service instances.

                  Removals

                  • As of Orbeon Forms 2017.1, Internet Explorer 8 (IE8) is no longer supported.
                  • The following components are removed:
                    • fr:fusion-charts component
                    • oxf:chart processor

                  Download and feedback

                  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!

                  Thursday, May 18, 2017

                  Orbeon Forms 2016.3.1 PE

                  Today we released Orbeon Forms 2016.3.1 PE. This update to Orbeon Forms 2016.3 PE contains bug-fixes and is recommended for all Orbeon Forms 2016.3 PE users.

                  This release addresses the following issues:
                    • Form Builder
                      • Image Annotation listed twice in the Form Builder sidebar (#3181)
                      • Explanatory text overwrites rich text (#3161)
                    • Form Runner
                      • Fixes to controls
                        • Date and Time control set to current-dateTime() shows unformatted time when time is changed (#3066)
                        • Output control does not escape script element (#3115)
                        • Date-time control with gibberish not considered invalid (#3123)
                        • "Apply Initial Value Formulas when Adding Iterations" only works if you use the (+)Insert Below link (#3134)
                        • Date initially non-relevant not properly initialized on iOS (#3155)
                        • Explicit validation: issue with incremental character counter (#3164)
                      • Fixes to PDF output
                        • Incorrect input fields size width in automatic PDF (#3105)
                        • Incorrect page breaks before sections (#3111)
                        • PDF: fr:fields-date not readonly when service is called upon xforms-enabled (#3113)
                      • Other fixes
                        • No credentials used when no container role is listed (#3099)
                        • Embedding and Liferay: org.slf4j.helpers.MessageFormatter cannot be cast to org.orbeon.private.apache.http.HttpRequestInterceptor (#3154)
                        • Values in repeated grid are not shown on the summary page (#3174)
                        • JNDI lookup error on WildFly (7433a79953)
                        • Add debug logging for authentication (1c43ab56ef)
                      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!

                        Thursday, May 4, 2017

                        More flexible email senders and recipients

                        Orbeon Forms allows you to send email, typically as part of a simple form data submission process: the user activates a "Submit" button, the data is saved or delivered to a service, and a confirmation email is sent to the user, a third-party, or both.

                        Email recipients are determined either by a configuration property, or by the content of form fields. Using form fields makes recipients dynamic: for example email addresses can be typed by the user directly, or selected via a dropdown, radio buttons or checkboxes. You can even use hidden form fields to load email addresses from services or internal HTTP headers.

                        Until now you could only control the actual email recipient (the "To:" email header). With Orbeon Forms 2017.1, you can in addition control the  Carbon Copy ("Cc:"), Blind Carbon Copy ("Bcc:"), and even the sender ("From:") email fields. For the latter, only one sender is used, since that's that most email software expects.

                        Like with "To:", you use properties or form fields selected directly in Form Builder:


                        We hope you'll like this enhancement, which will be available in Orbeon Forms 2017.1