IP Library Patent Application 12766924
Patent Application
App. No. 12/766,924

EMBEDDABLE PROJECT DATA

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 None
App. No.
12/766,924
Abstract

Aspects of the subject matter described herein relate to embeddable project data. In aspects, project data corresponding to a project in a software development environment is encapsulated in a human-readable document(s). Data regarding project settings, folders, and items as well as relationship data is encoded in the document(s) such that the project may be reconstructed solely from the document(s). The document(s) may then be embedded in a host document (e.g., a document the project operates on) or otherwise as desired. When a host document is obtained, it may be scanned for embedded project data and additional actions may be performed based thereon.

Claims (34)

1 . A method implemented at least in part by a computer, the method comprising:

identifying one or more folders of a project used for software development;

identifying one or more items in the one or more project folders;

encoding project settings in a document formatted according to a markup language, the document having hierarchical elements corresponding to the one or more folders and items of the project;

encoding data regarding the one or more project folders in the document;

encoding data regarding the one or more items in the document; and

encoding data regarding one or more relationships between the one or more items and the one or more project folders in the document, such that the project is re-creatable solely from the document.

2 . The method of claim 1 , wherein encoding project settings in a document formatted according to a markup language comprises encoding the project settings in a document formatted according to an extensible markup language.

3 . The method of claim 1 , wherein identifying one or more folders of a project comprises identifying one or more file folders of a file system in which data of the project is stored.

4 . The method of claim 1 , wherein identifying one or more items comprises identifying, within the project, one or more classes, modules, and objects or a combination thereof.

5 . The method of claim 1 , wherein encoding data regarding the one or more project folders comprises encoding in the document at least a name and identifier for each of the project folders.

6 . The method of claim 1 , wherein encoding data regarding the one or more items comprises encoding in the document at least a name and identifier of each of the items.

7 . The method of claim 1 , wherein encoding data regarding the one or more items comprises encoding source code of at least one of the one or more items.

8 . The method of claim 1 , wherein encoding data regarding one or more relationships between the one or more items and the one or more project folders comprises, for embedding data regarding each item in data of a project folder corresponding to the item.

9 . The method of claim 1 , further comprising inserting the document in another document as one or more parts of the another document.

10 . The method of claim 9 , wherein inserting the document in another document is performed in response to a request to open the another document prior to the another document being provided to a requestor that sent the request.

11 . In a computing environment, an apparatus, comprising:

a store operable to provide access to an encapsulated document that encodes a project, the project associated with one or more folders and one or more items, the encapsulated document formatted according to a markup language, the encapsulated document having hierarchical elements corresponding to the one or more folders and items of the project, the encapsulated document being embedded in a host document that is also formatted according to the markup language;

a validator operable to verify whether the encapsulated document follows a schema that indicates a valid structure of the encapsulated document; and

a code extractor operable to obtain source code from the encapsulated document, the source code relating to one or more of the one or more items.

12 . The apparatus of claim 11 , further comprising a search engine operable to search for data within the source code.

13 . The apparatus of claim 11 , further comprising a malware detector operable to scan the source code to search for malware contained therein.

14 . The apparatus of claim 11 , further comprising a policy enforcer operable to enforce a policy with respect to the project.

15 . The apparatus of claim 14 , wherein the policy enforcer being operable to enforce a policy comprises the policy enforcer being operable to remove the encapsulated document from the host document before allowing access to the host document.

16 . The apparatus of claim 11 , further comprising a project injector operable to insert the project into host documents prior to allowing access to the host documents.

17 . The apparatus of claim 11 , further comprising a packager operable to obtain data corresponding to the project from a development environment and to encode the data into the encapsulated document.

18 . A computer storage medium having computer-executable instructions, which when executed perform actions, comprising:

obtaining a host document that includes an encapsulated project, the host document and the encapsulated project encoded according to a text-based computer language, the encapsulated project including project settings, folders, and items, the project having hierarchical elements corresponding to the folders and items;

obtaining the encapsulated project from the host document;

determining the folders from the encapsulated project;

determining the items from the encapsulated project; and

determining relationships between the folders and items from the encapsulated project.

19 . The computer storage medium of claim 18 , further comprising obtaining source code of an item and displaying the source code on a display.

20 . The computer storage medium of claim 18 further comprising configuring a development environment using the encapsulated project.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2010
From: WANG, ENZHOU; HABIBBHAI, RIYAZ; SAWICKI, MARCIN; BOSKE, KEVIN K.
To: MICROSOFT CORPORATION
Reel/Frame 024298/0106 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2010
From: WANG, ENZHOU; HABIBBHAI, RIYAZ; SAWICKI, MARCIN; BOSKE, KEVIN K.
To: MICROSOFT CORPORATION
Reel/Frame 024284/0082 →