# US 12,008,312 B2 · Systems and methods for conversion of web content into reusable templates and components

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,008,312 B2
- Document ID: US12008312B2
- Status: Granted
- Kind: B2
- Application number: 17/982,570
- Filed: 2022-11-08
- Published: 2023-03-16
- Granted: 2024-06-11
- Earliest claimed: 2016-12-21
- Assignees: Open Text Corporation
- Applicants: Open Text Corporation
- Inventors: John W. Chang; Paul Kieron Carl Narth; Sampada Khare; Sunil Menon
- Web page: https://patentgrep.com/patent/US12008312B2

## CPC

- G06F 40/186: Templates
- G06F 3/0483: Interaction with page-structured environments, e.g. book metaphor
- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F 40/106: Display of layout of documents; Previewing
- G06F 40/166: Editing, e.g. inserting or deleting
- G06F 16/9577: {Optimising the visualization of content, e.g. distillation of HTML documents}
- G06F 40/143: Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
- G06F 40/154: Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Embodiments as disclosed provide a What-You-See-Is-What-You Get (WYSIWYG) editor for web content, allowing the conversion of previously generated web content to reusable templates or components. Embodiments thus allow, among other advantages, users such as web content developers to easily repurpose or reuse previously developed pages or content by giving these users the ability to review and edit previously developed pages or content in a WYSIWYG editor.

## Claims

### Claim 1

A system, comprising:
a processor;
a non-transitory computer readable medium, comprising instructions for:
receiving a web page at an editor executing on a browser;
rendering the web page in the browser to present the rendered web page in the editor, wherein rendering the web page comprises inserting the web page into code of the editor such that the received web page is rendered in the browser in association with the editor and the browser, and the received web page is inserted into the code of the editor being executed on the browser;
identifying segments of the web page, wherein identifying segments of the web page comprises processing the code of the editor that includes the inserted web page to identify segments of the web page within the code of the editor by evaluating segments of the web page based on one or more tags of the segment and an identifier associated with the editor to determine if the segment includes the identifier associated with the editor;
generating a component for each of the identified segments, wherein the generation of the component for each identified segment comprises:
identifying a component type for an identified segment based on content of the identified segment,
creating the component for the segment based on a component definition for the identified component type by creating a copy of the component definition for the identified component type, and
populating a datum of the generated component by inserting content of the identified segment of the web page at a location for the datum specified by the component definition; and
identifying each of the individual components for each of the identified segments in the browser in association with the rendered web page presented by the editor to allow a user to accept individual ones of the presented components for template generation, edit individual ones of the presented component, or delete individual ones of the presented components.

### Claim 2 (depends on 1)

The system of claim 1, wherein the instructions are further for:
receiving an indication of user acceptance of an identified component; and
providing an instruction to cause generation of a template including the accepted identified component.

### Claim 3 (depends on 1)

The system of claim 1, wherein the instructions are further for:
receiving a user edit of an identified component; and
editing the datum of the identified component based on the user edit.

### Claim 4 (depends on 3)

The system of claim 3, wherein the instructions are further for:
presenting the identified component with the edited datum back through the browser in association with the rendered web page.

### Claim 5 (depends on 4)

The system of claim 4, wherein the instructions are further for:
receiving an indication of user acceptance of the identified component; and
providing an instruction to cause generation of a template including the accepted identified component, wherein the accepted identified component includes the datum edited based on the user edit.

### Claim 6 (depends on 1)

The system of claim 1, wherein the components for each of the identified segments are generated at the editor.

### Claim 7 (depends on 1)

The system of claim 1, wherein each of the identified segments are standalone elements.

### Claim 8

A method, comprising:
receiving a web page at an editor executing on a browser;
rendering the web page in the browser to present the rendered web page in the editor, wherein rendering the web page comprises inserting the web page into code of the editor such that the received web page is rendered in the browser in association with the editor and the browser, and the received web page is inserted into the code of the editor being executed on the browser;
identifying segments of the web page, wherein identifying segments of the web page comprises processing the code of the editor that includes the inserted web page to identify segments of the web page within the code of the editor by evaluating segments of the web page based on one or more tags of the segment and an identifier associated with the editor to determine if the segment includes the identifier associated with the editor;
generating a component for each of the identified segments, wherein the generation of the component for each identified segment comprises:
identifying a component type for an identified segment based on content of the identified segment,
creating the component for the segment based on a component definition for the identified component type by creating a copy of the component definition for the identified component type, and
populating a datum of the generated component by inserting content of the identified segment of the web page at a location for the datum specified by the component definition; and
identifying each of the individual components for each of the identified segments in the browser in association with the rendered web page presented by the editor to allow a user to accept individual ones of the presented components for template generation, edit individual ones of the presented component, or delete individual ones of the presented components.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
receiving an indication of user acceptance of an identified component; and
providing an instruction to cause generation of a template including the accepted identified component.

### Claim 10 (depends on 8)

The method of claim 8, further comprising:
receiving a user edit of an identified component; and
editing the datum of the identified component based on the user edit.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
presenting the identified component with the edited datum back through the browser in association with the rendered web page.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
receiving an indication of user acceptance of the identified component; and
providing an instruction to cause generation of a template including the accepted identified component, wherein the accepted identified component includes the datum edited based on the user edit.

### Claim 13 (depends on 8)

The method of claim 8, wherein the components for each of the identified segments are generated at the editor.

### Claim 14 (depends on 8)

The method of claim 8, wherein each of the identified segments are standalone elements.

### Claim 15

A non-transitory computer readable medium, comprising instructions for:
receiving a web page at an editor executing on a browser;
rendering the web page in the browser to present the rendered web page in the editor, wherein rendering the web page comprises inserting the web page into code of the editor such that the received web page is rendered in the browser in association with the editor and the browser, and the received web page is inserted into the code of the editor being executed on the browser;
identifying segments of the web page, wherein identifying segments of the web page comprises processing the code of the editor that includes the inserted web page to identify segments of the web page within the code of the editor by evaluating segments of the web page based on one or more tags of the segment and an identifier associated with the editor to determine if the segment includes the identifier associated with the editor;
generating a component for each of the identified segments, wherein the generation of the component for each identified segment comprises:
identifying a component type for an identified segment based on content of the identified segment,
creating the component for the segment based on a component definition for the identified component type by creating a copy of the component definition for the identified component type, and
populating a datum of the generated component by inserting content of the identified segment of the web page at a location for the datum specified by the component definition; and
identifying each of the individual components for each of the identified segments in the browser in association with the rendered web page presented by the editor to allow a user to accept individual ones of the presented components for template generation, edit individual ones of the presented component, or delete individual ones of the presented components.

### Claim 16 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the instructions are further for:
receiving an indication of user acceptance of an identified component; and
providing an instruction to cause generation of a template including the accepted identified component.

### Claim 17 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the instructions are further for:
receiving a user edit of an identified component; and
editing the datum of the identified component based on the user edit.

### Claim 18 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein the instructions are further for:
presenting the identified component with the edited datum back through the browser in association with the rendered web page.

### Claim 19 (depends on 18)

The non-transitory computer readable medium of claim 18, wherein the instructions are further for:
receiving an indication of user acceptance of the identified component; and
providing an instruction to cause generation of a template including the accepted identified component, wherein the accepted identified component includes the datum edited based on the user edit.

### Claim 20 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the components for each of the identified segments are generated at the editor.

### Claim 21 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein each of the identified segments are standalone elements.
