Template transpilation tool
AssigneeAdobe Inc.
InventorsShashank Shailabh, Chetan Mehrotra
Life of this patent
Estimating the term…
Abstract
In various examples, content is generated using a first programming language and transpiled to generate transpiled content in a second programming language. In addition, in such examples, substitution data is generated based on personalization data. Furthermore, in one example, the transpiled content and the substitution data are provided to a delivery agent to render or otherwise deliver personalized content to a set of recipients.
Claims20
A method comprising:
- obtaining, by a transpilation tool, content generated using a first programming language supported by a journey management service;
- obtaining, by the transpilation tool, personalization data associated with a set of recipients;
- generating, by the transpilation tool, a first abstract syntax tree based on the content in the first programming language;
- rendering, by a renderer, the content in the first programming language using the personalization data to generate a context data structure that includes a portion of the personalization data and results of evaluating control operations represented in the first abstract syntax tree;
- transpiling, by the transpilation tool, the content to a second programming language supported by a delivery agent to generate transpiled content by at least, for nodes of the first abstract syntax tree:
- converting the nodes of the first abstract syntax tree to nodes of a second abstract syntax tree;
- determining a set of variable names, the set of variable names corresponding to variables associated with the nodes of the first abstract syntax tree;
- and
- generating substitution data associated with the set of variable names based on the personalization data associated with the set of recipients and the first abstract syntax tree by obtaining, from the context data structure during traversal of the first abstract syntax tree, (i) a set of values for substitution into the transpiled content based on the set of variable names and (ii) results of the evaluated control operations for use by the delivery agent during rendering of the transpiled content;
- and
- providing, by the transpilation tool, the transpiled content and the substitution data to the delivery agent.
A non-transitory computer-readable medium storing executable instructions embodied thereon that, as a result of being executed by a processing device, cause the processing device to:
- retrieve, from a data store, content in a first programming language;
- transpile, by a transpilation tool, the content from the first programming language to a second programming language by:
- generating a first abstract syntax tree based on the content in the first programming language;
- and
- generating, by a transpilation listener, transpiled content by at least converting the first abstract syntax tree to a second abstract syntax tree associated with the second programming language;
- retrieve, from the data store, personalization data associated with a recipient;
- rendering, by a renderer, the content in the first programming language based on the personalization data to generate a data structure that includes values obtained from the personalization data and results of evaluating operations represented in the first abstract syntax tree;
- generate, by a substitution listener, substitution data by at least traversing the first abstract syntax tree and determining the results associated with a set of variables of the first abstract syntax tree based on the data structure that includes values obtained from the personalization data;
- and
- provide, to a delivery agent, the transpiled content and the substitution data, wherein the transpiled content and the substitution data causes the delivery agent to generate personalized content and to communicate the personalized content over a network to a remote computing device of the recipient.
A system comprising:
- a journey management device having a first memory component and a first processing device coupled to the first memory component to perform operations comprising:
- obtaining content in a first programming language;
- generating transpiled content by at least converting a first abstract syntax tree to a second abstract syntax tree, wherein the first abstract syntax tree is based on the content and represents a first syntax of the first programming language and the second abstract syntax tree represents a second syntax of a second programming language;
- generating substitution data by at least rendering the content in the first programming language based on personalization data to obtain values from the personalization data and traversing the first abstract syntax tree to determine results of evaluating operations represented in the first abstract syntax tree;
- and
- a delivery agent device having a second memory component and a second processing device coupled to the second memory component to perform operations comprising:
- obtaining the transpiled content and the substitution data;
- and
- generating a plurality of personalized content based on the transpiled content and the substitution data to communicate the plurality of personalized content over a network to remote computing devices of a plurality recipients.
Dependencies are inferred from the claim text.