Generation of an application from template

US10481875B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10481875-B2
Application numberUS-201715855405-A
CountryUS
Kind codeB2
Filing dateDec 27, 2017
Priority dateNov 9, 2015
Publication dateNov 19, 2019
Grant dateNov 19, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Examples of the disclosure provide for receiving a template at a design surface, the template representing a visual layout, logic, and data schema for an application. Received source data is bound to the template based on the data schema. At least one data storage location is selected from identified data storage locations. Based on the selection of the one data storage location, at least a portion of the source data is extracted and sent to the data storage location for storage. The extracted data is rewired to bind the extracted data at the data storage location to the template such that access of the application generated using the template provides access to the extracted data at the data storage location.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for generating an application in a developer environment, the method comprising: receiving a selection of a template at a design surface, the template including a data schema; receiving a set of data for the selected template; binding the set of data to the selected template based on the data schema; identifying at least a portion of the set of data for extraction, the identified portion comprising dynamic data; identifying one or more available data storage locations based on a user profile; providing the one or more available data storage locations as a connections list; determining, based at least on user input, a storage location for the identified portion of the set of data, the user input including a selection of a location from the connections list, the selected location used as the determined storage location; extracting the identified portion of the set of data; storing the extracted data at the determined storage location; and binding the extracted data at the storage location to the template, such that access to the template provides access to the extracted data at the storage location. 2. The method of claim 1 , wherein identifying the portion of the set of data for extraction further comprises: identifying one or more data types from the set of data, the one or more data types including at least one of the dynamic data, local data, or remote data. 3. The method of claim 1 , wherein identifying the portion of the set of data for extraction further comprises: identifying the dynamic data based on rules associated with the data schema. 4. The method of claim 1 , wherein the portion of the set of data for extraction is identified based at least in part on telemetry data. 5. The method of claim 1 , further comprising: receiving the determined storage location for the identified portion of the set of data; identifying one or more other locations for data storage; providing the determined storage location and the one or more other locations as a connections list; receiving a selection of a first location for a first subset of the identified portion of the set of data; receiving another selection of a second location for a second subset of the identified portion of the set of data; and storing the first subset at the first location and the second subset at the second location. 6. The method of claim 1 , wherein providing the one or more locations as the connections list further comprises: identifying a default location from the one or more locations based at least in part on a set of policies; and providing the default location as a suggested location in the connections list. 7. A system for generating an application, the system comprising: a developer environment, implemented on a processor, configured to receive a template and source data, the template including a data schema; a data binding mechanism, coupled to the developer environment, configured to bind the source data to the template based on the data schema and a set of policies; a data storage location mechanism, coupled to the developer environment, configured to identify one or more data storage locations; and a data extraction mechanism, coupled to the developer environment, configured to identify at least a portion of the source data to extract from the template based on one or more determined data types of one or more subsets of the source data, the data types include at least one of local data, dynamic data, and remote data; determine at least one data storage location of the identified one or more data storage locations for storage of the extracted portion of the source data based at least on user input and on the determined data types; store the extracted portion of the source data to the at least one determined data storage location, the data binding mechanism re-binding the extracted portion of the source data stored at the at least one determined data storage location to the template; identify at least another portion of the source data as the remote data stored at a remote location; and maintain the storage of the remote data at the remote location, the generated application providing authorized users access to the remote data at the remote location and denying unauthorized users access to the remote data. 8. The system of claim 7 , wherein the data storage location mechanism provides the one or more identified data storage locations as a connections list to the developer environment. 9. The system of claim 8 , wherein the data storage location mechanism identifies a default storage location from the one or more identified data storage locations and provides the default storage location as a suggested storage location in the connections list. 10. The system of claim 7 , further comprising: a template library including a number of templates, an individual template of the number of templates comprising a document and a corresponding data schema. 11. The system of claim 7 , wherein the identified portion of the source data to extract is identified based at least in part on telemetry data. 12. The system of claim 7 , wherein the data extraction mechanism identifies at least another portion of the source data as the local data and maintains storage of the identified local data at the template. 13. The system of claim 7 , wherein the data extraction mechanism identifies at least another portion of the source data as the dynamic data based on rules associated with the data schema. 14. The system of claim 7 , wherein the data extraction mechanism identifies at least another portion of the source data as the dynamic data and extracts the dynamic data to store at a shared data storage location. 15. One or more computer storage media having computer-executable instructions stored thereon for generating an application in a developer environment, which, on execution by a computer, cause the computer to perform operations comprising: receiving a template and source data, the template including a data schema and a set of policies; identifying one or more data storage locations based at least in part on user credentials; identifying at least a portion of the source data for extraction based at least in part on a data type, the data type is at least one of local data, dynamic data, or remote data; determining at least one data storage location of the identified one or more data storage locations for storage of the identified portion based on the data type; extracting the identified portion based at least in part on the user credentials; storing the extracted portion at the at least one determined data storage location; and binding the extracted portion stored at the at least one determined data storage location to the template, wherein the local data is stored locally with the generated application, the dynamic data rebinds to the generated application regardless of the storage location of the dynamic data, and the remote data is stored at an enterprise location or public location remote from the generated application. 16. The one or more computer storage media of claim 15 , wherein the computer-executable instructions, on execution by the computer, further cause the computer to perform operations comprising: identifying at least another portion of the source data as the dynamic data; and extracting the dynamic data to store at a shared data storage location. 17. The one or more computer storage media of claim 15 , wherein the portion of the source data for extraction is identified based at least in part on the set of policies.

Assignees

Inventors

Classifications

  • Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence) · CPC title

  • Interaction with lists of selectable items, e.g. menus · CPC title

  • G06F8/20Primary

    Software design · CPC title

  • Graphical or visual programming · CPC title

  • Grid computing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10481875B2 cover?
Examples of the disclosure provide for receiving a template at a design surface, the template representing a visual layout, logic, and data schema for an application. Received source data is bound to the template based on the data schema. At least one data storage location is selected from identified data storage locations. Based on the selection of the one data storage location, at least a por…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F8/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 19 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).