This application relates to a method and system to facilitate workflow data submission.
The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Some existing products offer a comprehensive architecture for electronic document creation, collaboration, and process management. In the context of such architecture, a user may initiate a workflow by distributing an electronic form to a group of participants and then be able to collect the filled out forms from the participants. The participants, in turn, may fill out the form and submit the filled-out form to the initiator of the workflow. In order to access and fill out an electronic form, a participant may utilize an authoring application or a viewing application, such as Adobe® Reader® software.
Over time, newer versions of authoring and viewing applications may include enhanced or supplemental features and capabilities. When a document created for use with a later version of a viewing application is opened, by a workflow participant, with an earlier version of the viewing application, the participant may be asked to upgrade the viewing application to the latest version in order to be able to contribute to the workflow.
Embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
A workflow of an electronic form may begin when an “initiator” (e.g., a person or an automated process) distributes an original electronic form (e.g., a blank electronic form) to workflow participants, e.g., people who need to fill out the form. It will be noted, that, for the purposes of this description, the terms “form” and “electronic form” may be used interchangeably. A participant, upon receiving the form, may open it using a viewer application (e.g., Adobe® Acrobat® or Adobe® Reader® software). A later version of an example viewer application may have a forms workflow capability that is not provided with earlier versions of the viewer application.
In one example embodiment, the forms workflow capability includes a “Submit” visual control presented by the viewer application. Supplying a “Submit” button for a distributed form inside the chrome of the viewer application may alleviate the need to author such control inside the electronic form such that as the author of an electronic form is spared the complication of having to understand the details of the underlying infrastructure needed for the distribution and return of the forms.
A method and system to facilitate workflow data submission may be utilized to create a so-called adaptive electronic form. An adaptive electronic form, in one example embodiment, may be configured to automatically adapt to the version of the viewer application used to open the form and, when lack of workflow capability in the viewer application is detected, provide an alternative way to complete the workflow. In one example embodiment, an authoring application, e.g., Adobe® Acrobat®, may be used to include intelligence, in the form of a JavaScript, into the electronic form to detect that the form is being opened with an older version of the viewer application, and respond by displaying a previously hidden visual control, referred to as an adaptive visual control, and activating the associated functionality. One example of an adaptive visual control that may be provided utilizing a method and system to facilitate workflow data submission is a “Submit” button. The visual control, in one embodiment, may be configured to provide equivalent functionality to what a recipient with a newer version would have experienced.
In one example embodiment, where functionality triggered by an adaptive visual control is achieved by different methods in an earlier and a later versions of the viewer application, an adaptive electronic form may be configured to choose a method that is appropriate to the version of the viewer application in response to a user activating the adaptive visual control. For example, in a scenario where submit functionality uses a server-based approach in a later version of the viewer application and relies on an email-based approach in an earlier version of the viewer application, the “Submit” button provided with the adaptive electronic form may be used to permit a workflow participant to complete the workflow and return the form to the initiator using an email-based approach. A method and system to facilitate workflow data submission may be implemented and utilized in the context of a network environment illustrated in
As shown in
A workflow module 114 may be configured to permit a user to initiate a form workflow, e.g., by automatically distributing an electronic form to participants. The form authoring system 112 and the workflow module 114, may be implemented as a form processing application, such as, for example, Adobe® Acrobat®. It will be noted, that the workflow module 114 and the form authoring system 112 may reside at the same computer system or may be distributed among different computer systems. Furthermore, the authoring stage may not always be followed by a workflow initiation, and the author of an electronic form does not have to be the same user as the initiator of the associated workflow.
The initiator system 110 may be used to distribute an adaptive electronic form to the viewer systems 120 and 140 associated with respective workflow participants and also to collect the filled out forms from participants. As shown in
As mentioned above, the form authoring system 112 may be used to author adaptive electronic forms, which, in turn, facilitates workflow data submission. Adaptive electronic forms may be created, according to one embodiment, in a Portable Document Format (PDF). An example of such authoring system may be described with reference to
The compatibility module 230, in one example embodiment, includes a version detector generator 232 to provide an adaptive electronic form with an ability to determine the version of a viewer application, a visual control creator to configure the form to include an adaptive visual control, and a functional feature generator to incorporate functionality associated with the visual control into the adaptive electronic form. Example operations performed by the system 200 may be described with reference to
As shown in
If it is determined, at operation 307, that the functional feature is not associated with any visual controls, the method 300 proceeds to operation 310. At operation 310, the generated adaptive electronic form is saved for future use, e.g., for distributing as part of a workflow. An example method of using an adaptive electronic form may be described with reference to
As shown in
If it is determined, at operation 404, that the viewer application is a later version of the viewer application, the adaptive electronic form suppresses the display of the adaptive visual control at operation 410 and suppresses the associated functionality at operation 412. The method 400 then proceeds to operation 414 to continue with the viewing session.
As shown in
It will be noted that the techniques described herein may be utilized advantageously with a variety of applications related to providing electronic forms to users. Method and system to facilitate workflow data submission may be implemented in a variety of ways, utilizing a variety of equipment components and programmatic techniques. In one example embodiment, a machine-readable medium may be provided having instruction data to cause a machine to receive a request to generate an electronic form, the electronic form being suitable for viewing with a later version of a viewer application and to respond to the request by configuring the electronic form to include a functional feature that is with the later version of the viewer application and being not available with an earlier version of the viewer application.
A further machine-readable medium may be provided having instruction data to cause a machine to detect that an electronic form was opened with an earlier version of a viewer application, the earlier version of the viewer application lacking a functional feature associated with a later version of the viewer application; and activate the functional feature, the functional feature being included in the electronic form.
It will be noted that, while the techniques to configure an electronic form with an alternative UI functionality have been described with reference to an earlier and a later version of a viewer application, these techniques may be utilized advantageously to provide functionality that may not be available with any particular version of a viewer application. For example, an earlier version may include certain functionality and an associated visual control, while a later version may not have it. An electronic form may still be configured, utilizing the techniques described herein, to provide users with functionality that may not be available with every version of the viewer application.
The example computer system 700 includes a processor 702 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 704 and a static memory 706, which communicate with each other via a bus 708. The computer system 700 may further include a video display unit 710 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 700 also includes an alphanumeric input device 712 (e.g., a keyboard), a user interface (UI) navigation device 714 (e.g., a mouse), a disk drive unit 716, a signal generation device 718 (e.g., a speaker) and a network interface device 720.
The disk drive unit 716 includes a machine-readable medium 722 on which is stored one or more sets of instructions and data structures (e.g., software 724) embodying or utilized by any one or more of the methodologies or functions described herein. The software 724 may also reside, completely or at least partially, within the main memory 704 and/or within the processor 702 during execution thereof by the computer system 700, the main memory 704 and the processor 702 also constituting machine-readable media.
The software 724 may further be transmitted or received over a network 726 via the network interface device 720 utilizing any one of a number of well-known transfer protocols (e.g., HTTP).
While the machine-readable medium 722 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such a set of instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals. Such medium may also include, without limitation, hard disks, floppy disks, flash memory cards, digital video disks, random access memory (RAMs), read only memory (ROMs), and the like.
The embodiments described herein may be implemented in an operating environment comprising software installed on a computer, in hardware, or in a combination of software and hardware.
Although embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
5552806 | Lenchik | Sep 1996 | A |
5600780 | Hiraga et al. | Feb 1997 | A |
5838315 | Craycroft et al. | Nov 1998 | A |
5907326 | Atkin et al. | May 1999 | A |
6100885 | Donnelly et al. | Aug 2000 | A |
6275225 | Rangarajan et al. | Aug 2001 | B1 |
6342907 | Petty et al. | Jan 2002 | B1 |
6507833 | Hichwa et al. | Jan 2003 | B1 |
6629635 | Akamine | Oct 2003 | B1 |
7007231 | Dang | Feb 2006 | B2 |
7278168 | Chaudhury et al. | Oct 2007 | B1 |
7299403 | Cleasby et al. | Nov 2007 | B1 |
7613696 | Morgan | Nov 2009 | B2 |
20020023053 | Szoc et al. | Feb 2002 | A1 |
20030177140 | Debard et al. | Sep 2003 | A1 |
20060036465 | O'Donnell | Feb 2006 | A1 |
20060195781 | Jatavallabha et al. | Aug 2006 | A1 |
20070118391 | Malaney et al. | May 2007 | A1 |
20070180380 | Khavari et al. | Aug 2007 | A1 |
20080072334 | Bailey et al. | Mar 2008 | A1 |
20080172239 | Henderson et al. | Jul 2008 | A1 |
20080307298 | Matveief et al. | Dec 2008 | A1 |
20100011280 | Cheeniyil et al. | Jan 2010 | A1 |
20100179962 | Schuster | Jul 2010 | A1 |