IP Library Granted Patent US 11,741,293
Granted Patent B2
US 11,741,293 · App. 17/558,070 · Granted Aug 29, 2023

Systems and methods of a script generation engine

Inventor: Gregory R. Petti (Calgary, CA)
Assignee: OPEN TEXT SA ULC
G06F40/143G06F8/40G06F40/151G06F8/41G06F9/44G06F9/45512G06F40/154
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,741,293
App. No.
17/558,070
Granted
Aug 29, 2023
Kind
B2
Abstract

A template built by a user may be converted by a Server Script Generation Engine (SSGE) into script code. In converting, the SSGE may load and parse a framework file containing static script syntax to locate insertion points, each associated with an iteration number, and may iteratively parse the template, utilizing the iteration number to resolve, in order, tags and sub-tags contained in the template. If a tag is set to respond to the iteration number, a function of the tag is invoked to process any related sub-tags and return a script associated therewith at the appropriate insertion point. The framework file (with the appropriate script code inserted) is compiled and stored in a compiled script object which can be run multiple times to perform all of the output functions expected by the user in lieu of the need to reconvert the template.

Claims (68)

1. A method, comprising:

receiving, by a script generator of a content management system, an output specification template for a view of a dynamic document or a software module specific to a content server platform;

converting, by the script generator, the output specification template into platform-specific script code that is specific and native to the content server platform and that interfaces with features of the content server platform;

compiling, by the script generator, the platform-specific script code that is specific and native to the content server platform to generate or update a compiled script object which is executable by the content server platform;

storing, by the script generator in a memory structure, the compiled script object containing the platform-specific script code that is specific and native to the content server platform; and

subsequent to the storing of the compiled script object in the memory structure, upon receipt of a request for the dynamic document or the software module, producing, from the compiled script object, the requested view of the dynamic document or the software module specific to the content server platform.

2. The method according to claim 1 , wherein the output specification template comprises tags and sub-tags and wherein the converting comprises:

parsing a framework file containing static script syntax with insertion points, wherein each of the insertion points is associated with an iteration number; and

parsing the output specification template according to the iteration number, the parsing the output specification template including processing each of the tags and sub-tags in the output specification template for a corresponding script text or string; and

inserting the corresponding script text or string into a corresponding insertion point in the framework file.

3. The method according to claim 2 , wherein an insertion point indicates a location in the framework file for insertion of a script text or string tagged in the output specification template.

4. The method according to claim 1 , wherein the platform-specific script code comprises a framework file and wherein the converting comprises:

breaking down the output specification template into pieces;

locating tags in the pieces;

for each respective tag located in the pieces, looking up the respective tag in a tag subsystem;

obtaining, from the tag subsystem, a chunk of script associated with the respective tag; and

inserting the chunk of script into the framework file at a location associated with the respective tag.

5. The method according to claim 1 , wherein the platform-specific script code comprises a framework file, wherein the framework file contains static script syntax and dynamically inserted chunks of script associated with tags and sub-tags in the output specification template.

6. The method according to claim 5 , wherein the compiling comprises compiling the framework file after the framework file is processed to include the dynamically inserted chunks of script associated with the tags and sub-tags in the output specification template.

7. The method according to claim 1 , further comprising:

creating a unique key for the compiled script object, the unique key referencing the output specification template; and

adding the compiled script object to a compiled script subsystem using the unique key.

8. A system, comprising:

a processor;

a non-transitory computer-readable medium; and

stored instructions translatable by the processor for:

receiving an output specification template for a view of a dynamic document or a software module specific to a content server platform;

converting the output specification template into platform-specific script code that is specific and native to the content server platform and that interfaces with features of the content server platform;

compiling the platform-specific script code that is specific and native to the content server platform to generate or update a compiled script object which is executable by the content server platform;

storing, in a memory structure, the compiled script object containing the platform-specific script code that is specific and native to the content server platform; and

subsequent to the storing of the compiled script object in the memory structure, upon receipt of a request for the dynamic document or the software module, producing, from the compiled script object, the requested view of the dynamic document or the software module specific to the content server platform.

9. The system of claim 8 , wherein the output specification template comprises tags and sub-tags and wherein the converting comprises:

parsing a framework file containing static script syntax with insertion points, wherein each of the insertion points is associated with an iteration number; and

parsing the output specification template according to the iteration number, the parsing the output specification template including processing each of the tags and sub-tags in the output specification template for a corresponding script text or string; and

inserting the corresponding script text or string into a corresponding insertion point in the framework file.

10. The system of claim 9 , wherein an insertion point indicates a location in the framework file for insertion of a script text or string tagged in the output specification template.

11. The system of claim 8 , wherein the platform-specific script code comprises a framework file and wherein the converting comprises:

breaking down the output specification template into pieces;

locating tags in the pieces;

for each respective tag located in the pieces, looking up the respective tag in a tag subsystem;

obtaining, from the tag subsystem, a chunk of script associated with the respective tag; and

inserting the chunk of script into the framework file at a location associated with the respective tag.

12. The system of claim 8 , wherein the platform-specific script code comprises a framework file, wherein the framework file contains static script syntax and dynamically inserted chunks of script associated with tags and sub-tags in the output specification template.

13. The system of claim 12 , wherein the compiling comprises compiling the framework file after the framework file is processed to include the dynamically inserted chunks of script associated with the tags and sub-tags in the output specification template.

14. The system of claim 8 , wherein the stored instructions are further translatable by the processor for:

creating a unique key for the compiled script object, the unique key referencing the output specification template; and

adding the compiled script object to a compiled script subsystem using the unique key.

15. A computer program product comprising a non-transitory computer-readable medium storing instructions translatable by a processor for:

receiving an output specification template for a view of a dynamic document or a software module specific to a content server platform;

converting the output specification template into platform-specific script code that is specific and native to the content server platform and that interfaces with features of the content server platform;

compiling the platform-specific script code that is specific and native to the content server platform to generate or update a compiled script object which is executable by the content server platform;

storing, in a memory structure, the compiled script object containing the platform-specific script code that is specific and native to the content server platform; and

subsequent to the storing of the compiled script object in the memory structure, upon receipt of a request for the dynamic document or the software module, producing, from the compiled script object, the requested view of the dynamic document or the software module specific to the content server platform.

16. The computer program product of claim 15 , wherein the output specification template comprises tags and sub-tags and wherein the converting comprises:

parsing a framework file containing static script syntax with insertion points, wherein each of the insertion points is associated with an iteration number; and

parsing the output specification template according to the iteration number, the parsing the output specification template including processing each of the tags and sub-tags in the output specification template for a corresponding script text or string; and

inserting the corresponding script text or string into a corresponding insertion point in the framework file.

17. The computer program product of claim 15 , wherein the platform-specific script code comprises a framework file and wherein the converting comprises:

breaking down the output specification template into pieces;

locating tags in the pieces;

for each respective tag located in the pieces, looking up the respective tag in a tag subsystem;

obtaining, from the tag subsystem, a chunk of script associated with the respective tag; and

inserting the chunk of script into the framework file at a location associated with the respective tag.

18. The computer program product of claim 15 , wherein the platform-specific script code comprises a framework file, wherein the framework file contains static script syntax and dynamically inserted chunks of script associated with tags and sub-tags in the output specification template.

19. The computer program product of claim 18 , wherein the compiling comprises compiling the framework file after the framework file is processed to include the dynamically inserted chunks of script associated with the tags and sub-tags in the output specification template.

20. The computer program product of claim 15 , wherein the instructions are further translatable by the processor for:

creating a unique key for the compiled script object, the unique key referencing the output specification template; and

adding the compiled script object to a compiled script subsystem using the unique key.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2022
From: PETTI, GREGORY R.
To: OPEN TEXT S.A.
Reel/Frame 059204/0572 →
IP BUSINESS SALE AGREEMENT Recorded Jan 11, 2022
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 058686/0058 →
CERTIFICATE OF CONTINUANCE Recorded Jan 11, 2022
From: OT IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 058686/0072 →
CERTIFICATE OF AMALGAMATION Recorded Jan 11, 2022
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 058686/0074 →
Continuity (4)
Continuation 16530624 · Aug 2, 2019
Continuation 13917767 · Jun 14, 2013
Provisional Application 61659696 · Jun 14, 2012
Related Publication 20220114329A1 · Apr 14, 2022