IP Library Granted Patent US 8,756,489
Granted Patent B2
US 8,756,489 · App. 12/561,817 · Granted Jun 17, 2014

Method and system for dynamic assembly of form fragments

Inventors: Jocelyn Richardt (River Falls, WI); John P. Brinkman (Ontario, CA); Donald R. Walling, Jr. (San Francisco, CA)
Assignee: Adobe Systems Incorporated
G06F17/2229G06F17/248G06F17/243
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,756,489
App. No.
12/561,817
Granted
Jun 17, 2014
Kind
B2
Abstract

A system for dynamic assembly of form fragments is provided. The system may reside on a computer system hosting a computing application and may include a request processor be configured to receive a request to generate an electronic form based on a host template and a document description, an insertion points processor, a stitching module, and an output module. The insertion points processor may be configured to parse the host template to determine an insertion point and determine a form fragment to be referenced in the host template at a location designated by the insertion point, based on information present in the document description. The stitching module may be configured to insert a reference to the form fragment into the host template at the location indicated by the insertion point. The output module may be configured to generate a result electronic form, utilizing the host template and the form fragment.

Claims (62)

1. A computer-implemented method comprising:

receiving, at a computer system hosting an assembler module, a request to generate an electronic form based on a host template and a document description, the host template including a host form field capable of receiving input;

parsing the host template to determine an insertion point;

determining a form fragment to be referenced by the host template at a location designated by the insertion point, based on information present in the document description, the form fragment including a fragment form field capable of receiving input;

inserting a reference to the form fragment into the host template at the location indicated by the insertion point;

accessing the form fragment;

parsing the form fragment to determine a nested insertion point in the form fragment;

parsing the document description to identify a nested form fragment associated with the nested insertion point, the nested form fragment including a nested form field capable of receiving input;

inserting a reference to the nested form fragment into the host template at the location indicated by the nested insertion point; and

generating a result electronic form that includes the host form field, the nested form field from the nested form fragment, and the fragment form field.

2. The method of claim 1 , comprising rendering the result electronic form for presentation to a user.

3. The method of claim 1 , wherein the insertion point is one of a plurality of insertion points included in the host template.

4. The method of claim 1 , comprising:

determining that pagination of the result electronic form differs from pagination of the host template; and

adjusting page numbering in the result electronic form.

5. The method of claim 1 , wherein the request to generate the electronic form is associated with a workflow event.

6. The method of claim 1 , wherein the document description includes a process variable that designates the form fragment.

7. The method of claim 1 , comprising:

receiving custom data,

wherein the determining of the form fragment to be inserted into the host template comprises evaluating the custom data.

8. The method of claim 1 , comprising:

determining an unused insertion point in the host template; and

removing the unused insertion point from the host template prior to the generation of the result electronic form.

9. A system comprising:

one or more processors configured to:

receive a request to generate an electronic form based on a host template and a document description, the host template including a host form field capable of receiving input;

parse the host template to determine an insertion point;

determine a form fragment to be referenced in the host template at a location designated by the insertion point, based on information present in the document description, the form fragment including a form field capable of receiving input;

insert a reference to the form fragment into the host template at the location indicated by the insertion point;

access the form fragment;

determine a nested insertion point in the form fragment;

determine a nested form fragment associated with the nested insertion point based on information present in the document description, the nested form fragment including a nested form field capable of receiving input;

insert a reference to the nested form fragment into the host template at the location indicated by the nested insertion point; and

generate a result electronic form that includes the host form field, the form field from the form fragment, and the nested form field from the nested form fragment.

10. The system of claim 9 , wherein the output module is further configured to render the result electronic form for presentation to a user on a display device.

11. The system of claim 9 , comprising a pagination module to:

determine that pagination of the result electronic form differs from pagination of the host template; and

adjust page numbering in the result electronic form.

12. The system of claim 9 , wherein the request to generate the electronic form is associated with a workflow event.

13. The system of claim 9 , wherein the insertion point processor is further configured to determine the form fragment based on a process variable from the document description.

14. The system of claim 9 , wherein:

the request processor is further configured to receive custom data; and

the insertion point processor is further configured to determine the form fragment to be inserted into the host template based on the custom data.

15. The system of claim 9 , wherein the insertion point processor is further configured to:

determine an unused insertion point in the host template; and

remove the unused insertion point from the host template prior to the generation of the result electronic form.

16. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

generating a host template that includes an insertion point that designates a location for inserting a form fragment that includes a form field capable of receiving input;

generating a document description that identifies the form fragment to be inserted into the host template at the location indicated by the insertion point;

detecting a workflow event indicating a request to generate an electronic form based on the host template and the document description;

parsing the host template to determine the insertion point;

determining, from the document description, the form fragment to be referenced in the host template at the location designated by the insertion point;

inserting a reference to the form fragment into the host template at the location indicated by the insertion point;

accessing the form fragment;

parsing the form fragment to determine a nested insertion point in the form fragment;

parsing the document description to identify a nested form fragment associated with the nested insertion point, the nested form fragment including a nested form field capable of receiving input;

inserting a reference to the nested form fragment into the host template at the location indicated by the nested insertion point;

generating a result electronic form, the result electronic form including the host form field, the form field from the form fragment and the nested form field from the nested form fragment; and

presenting the result electronic form to a user.

17. The non-transitory machine-readable storage medium of claim 16 , the operations further comprising:

determining an unused insertion point in the host template; and

removing the unused insertion point from the host template prior to the generation of the result electronic form.

Assignments (2)
CHANGE OF NAME Recorded Apr 8, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048867/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2010
From: RICHARDT, JOCELYN; BRINKMAN, JOHN P.; WALLING, DONALD R.
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 023863/0928 →
Continuity (1)
Related Publication 20140033010A1 · Jan 30, 2014