IP Library Granted Patent US 11,210,460
Granted Patent B2
US 11,210,460 · App. 16/696,782 · Granted Dec 28, 2021

Templating process for a multi-page formatted document

Inventors: Stephen Paul Willcock (Harrogate, GB); Bradley West Slater (Leeds, GB)
Assignee: FinancialForce.com, Inc.
G06F40/186G06F40/106G06F40/177
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 11,210,460
App. No.
16/696,782
Granted
Dec 28, 2021
Kind
B2
Abstract

The disclosed embodiments include a method performed by computer system. The method can include retrieving a layout object including layout information, receiving an indication of a request for a formatted document, and determining that the formatted document should have multiple pages with a common layout feature. The method can further include dynamically generating a template for the formatted document based on the layout information of the layout object and generating the formatted document by using the template to create the multiple pages of the formatted document with the common layout feature.

Claims (50)

1. A computer-implemented method comprising:

retrieving, by a processor, a layout object including layout information, the layout object being selected using input received from a graphical user interface, the layout object also being configured to identify a layout of a formatted document, the formatted document being a template report configured to be rendered in the graphical user interface when layout data is extracted from the layout object, data being populated in the template report in response to other data being sent to a cloud platform to request the data to be populated in the template report by a data insertion module in data communication with the processor using the cloud platform;

receiving, by the processor, an indication of a request for the formatted document;

determining, by the processor, that the formatted document should have multiple pages with a common layout feature;

dynamically generating, by the processor, a template for the formatted document based on the layout information of the layout object the template including one or more tokens configured to be inserted into one or more low level document components at one or more positions, each of the one or more positions corresponding to at least one of the one or more tokens and configured to receive data to be inserted into the template at one of the one or more positions, the data being retrieved from a location identified using information included with the one or more tokens, the one or more tokens being read by a process to obtain the information; and

generating, by the processor, the formatted document by using the template to create the multiple pages of the formatted document with the common layout feature.

2. The method of claim 1 , wherein generating the template comprises:

extracting the layout information from the layout object;

generating document components based on the extracted layout information; and

combining the document components into a single text object, the template including the single text object.

3. The method of claim 1 , wherein the layout information includes a layout shape of the formatted document.

4. The method of claim 1 , wherein the template comprises a combination of document components, the method further comprising:

inserting tokens to the document components, the tokens representing locations in the template where data items are to be inserted for the formatted document.

5. The method of claim 4 , wherein the tokens include keys identifying the data items in a database.

6. The method of claim 1 , wherein generating the formatted document comprises:

generating the multiple pages by using only a single page of the template.

7. The method of claim 1 , wherein the formatted document includes a webpage written in a markup language.

8. The method of claim 1 further comprising:

expanding a table that includes one template row of the template to include a plurality of template rows.

9. The method of claim 8 , wherein the plurality of template rows is based on a tabular dataset to be inserted for the formatted document.

10. The method of claim 8 , wherein the expanding comprises:

generating a plurality of intermediate pages, each intermediate page indicating a maximum number of template rows of the table that a template page can accommodate.

11. The method of claim 10 further comprising:

replicating an intermediate template page when the plurality of intermediate pages do not accommodate all the rows of the table.

12. The method of claim 10 further comprising:

replacing the template page that includes one table row with the plurality of intermediate pages.

13. The method of claim 8 further comprising:

inserting tabular tokens into table rows of the table in the template.

14. The method of claim 13 further comprising:

inserting tabular data items into locations of the tabular tokens.

15. The method of claim 1 , wherein the template is dynamically generated based on the layout information extracted from the layout object by using multiple asynchronous CPU contexts.

16. The method of claim 1 , wherein the layout object is received as user input to a user interface.

17. The method of claim 16 further comprising:

defining the layout information based on the user input to the user interface.

18. The method of claim 16 further comprising:

modifying the layout object based on the user input to the user interface.

19. A computer system comprising:

a processor; and

a memory that includes instructions which, when executed by the processor, cause the computer system to:

retrieve a layout object including layout information, the layout object being selected using input received from a graphical user interface, the layout object also being configured to identify a layout of a formatted document, the formatted document being a template report configured to be rendered in the graphical user interface when layout data is extracted from the layout object, data being populated in the template report in response to other data being sent to a cloud platform to request the data to be populated in the template report by a data insertion module in data communication with the processor using the cloud platform;

receive an indication of a request for the formatted document;

determine that the formatted document should have multiple pages with a common layout feature;

generate a template for the formatted document based on the layout information of the layout object, the template including one or more tokens configured to be inserted to one or more low level document components at one or more positions, each of the one or more positions corresponding to at least one of the one or more tokens and configured to receive data to be inserted into the template at one of the one or more positions, the data being retrieved from a location identified using information included with the one or more tokens, the one or more tokens being read by a process to obtain the information; and

generate the formatted document by using the template to create the multiple pages of the formatted document with the common layout feature.

20. A non-transitory computer-readable storage medium storing instructions, execution of which in a computer system causes the computer system to perform operations comprising:

retrieving a layout object including layout information, the layout object being selected using input received from a graphical user interface, the layout object also being configured to identify a layout of a formatted document, the formatted document being a template report configured to be rendered in the graphical user interface when layout data is extracted from the layout object, data being populated in the template report in response to other data being sent to a cloud platform to request the data to be populated in the template report by a data insertion module in data communication with the processor using the cloud platform;

receiving an indication of a request for the formatted document;

determining that the formatted document should have multiple pages with a common layout feature;

dynamically generating a template for the formatted document based on the layout information of the layout object, the template including one or more tokens configured to be inserted to one or more low level document components at one or more positions, each of the one or more positions corresponding to at least one of the one or more tokens and configured to receive data to be inserted into the template at one of the one or more positions, the data being retrieved from a location identified using information included with the one or more tokens, the one or more tokens being read by a process to obtain the information; and

generating the formatted document by using the template to create the multiple pages of the formatted document with the common layout feature.

Assignments (8)
CHANGE OF ADDRESS Recorded Sep 12, 2024
From: CERTINIA INC.
To: CERTINIA INC.
Reel/Frame 068948/0361 →
SECURITY INTEREST Recorded Aug 7, 2023
From: CERTINIA INC.
To: BLUE OWL CREDIT INCOME CORP., AS COLLATERAL AGENT
Reel/Frame 064510/0495 →
RELEASE OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Aug 4, 2023
From: KEYBANK NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: CERTINIA, INC.
Reel/Frame 064502/0117 →
CHANGE OF NAME Recorded Jun 20, 2023
From: FINANCIALFORCE.COM, INC.
To: CERTINIA INC.
Reel/Frame 064042/0206 →
RELEASE OF SECURITY INTEREST Recorded Mar 24, 2022
From: OBSIDIAN AGENCY SERVICES, INC.
To: FINANCIALFORCE.COM, INC.
Reel/Frame 059389/0501 →
SECURITY INTEREST Recorded Feb 21, 2022
From: FINANCIALFORCE.COM, INC.
To: KEYBANK NATIONAL ASSOCIATION
Reel/Frame 059204/0323 →
SECURITY INTEREST Recorded Jul 15, 2021
From: FINANCIALFORCE.COM, INC.
To: OBSIDIAN AGENCY SERVICES, INC.
Reel/Frame 056872/0236 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2019
From: WILLCOCK, STEPHEN PAUL; SLATER, BRADLEY WEST
To: FINANCIALFORCE.COM, INC.
Reel/Frame 051123/0901 →
Continuity (2)
Continuation 15271875 · Sep 21, 2016
Related Publication 20200097537A1 · Mar 26, 2020
Cited By (1)
US 12,399,877