Method and apparatus for storing templates in a component system
First Claim
1. A computer program product for use with a computer system having a memory, the computer program product comprising a computer usable medium having computer readable program code embodied in the medium for defining templated components, the medium further comprising:
- program code for defining a storage file;
program code that loads a base component into the computer system memory and executes the base component;
program code that builds at least one template, the template comprising modifications to the base component which modifications are made with the executing base component itself and are executable by an operating system operating on a computer system to customize the base component when executed with the template by the operating system, by examining modifications made to the executing base component by a user and separating the modifications from the base component;
program code that formats the modifications into a template format suitable for storage; and
program code for indexing the template within the storage file.
1 Assignment
0 Petitions
Accused Products
Abstract
A component customization and distribution system in an object oriented environment provides a template builder utility which enables a base component to be selectively modified and the modifications to the base component stored as a template. The templates are stored in a template storage file by a template storage dynamic link library. Each template contains initialization data representing the modifications to the state of persistent data of the base component, as well as information useful in registering the template with the file system registry of another computer system, and, optionally, one or more user-defined instructions useful in utilizing the modifications or customizations to the base component. A template storage file containing one or more indexed templates serves as a database from which template distribution packs may be generated.
142 Citations
32 Claims
-
1. A computer program product for use with a computer system having a memory, the computer program product comprising a computer usable medium having computer readable program code embodied in the medium for defining templated components, the medium further comprising:
-
program code for defining a storage file;
program code that loads a base component into the computer system memory and executes the base component;
program code that builds at least one template, the template comprising modifications to the base component which modifications are made with the executing base component itself and are executable by an operating system operating on a computer system to customize the base component when executed with the template by the operating system, by examining modifications made to the executing base component by a user and separating the modifications from the base component;
program code that formats the modifications into a template format suitable for storage; and
program code for indexing the template within the storage file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
initialization data associated with the template.
-
-
3. The computer program product of claim 2 wherein the template comprises an object and the initialization data for the template comprises a user-defined set of changes to the state of persistent data of the object.
-
4. The computer program product of claim 1 wherein the template comprises:
user-defined instructions associated with the template.
-
5. The computer program product of claim 4 wherein the user-defined instructions comprise at least one Unicode instruction.
-
6. The computer program product of claim 2 wherein the template comprises an OLE control.
-
7. The computer program product of claim 1 wherein the template comprises:
information useful in registering the template with a file system registry of a computer system.
-
8. The computer program product of claim 7 wherein the template is derived from an object and the information useful in registering the template comprises:
information indicating the path name of the object.
-
9. The computer program product of claim 7 wherein the template is loadable by a component loader utility and the information useful in registering the template comprises:
information indicating the path name of the component loader utility.
-
10. The computer program product of claim 7 wherein the template is an object and the information useful in registering the template comprises:
information indicating whether the template is initializable from persistent data.
-
11. The computer program product of claim 7 wherein the template is derived from an object and the information useful in registering the template comprises:
information indicating a class identifier of the object on which the template is based.
-
12. The computer program product of claim 7 wherein the template is an object and the information useful in registering the template comprises:
information indicating that the object has been templated.
-
13. An apparatus for storing a plurality of templates in an object-oriented computer system having an operating memory, each template derived from a base component, the apparatus comprising:
-
a. a memory store having one or more locations;
b. means for indexing one of the locations within the memory;
c. a loader that loads the base component into the operating memory and executes the base component;
d. a template builder that examines modifications made to the executing base component by a user using the executing base component itself, separates the modifications from the base component to produce initialization data comprising changes to the state of persistent data of the base component from which the template is derived and that formats the modifications into a template suitable for storage;
e. key information associated with the template and stored with the template, the key information useful in registering the template with a file system registry of the computer system; and
f. means coupling the memory to a central processing unit within the computer system.
-
-
14. A method for generating a template of customizations to a base component with persistent data in an object-oriented computer system having a memory, the base component implemented as an object having a class definition and defined methods, method comprising the steps of:
-
a. loading the base component into the computer system memory and executing the base component;
b. examining modifications made to the persistent data of the executing base component by a user using the executing base components itself and separating the modifications from the base component;
c. storing as initialization data in an a memory, the modifications to the persistent data of the base component; and
d. forming a template by associating with the initialization data, an information key useful in registering the template with a file system registry of the object-oriented computer system. - View Dependent Claims (15, 16, 17, 18, 19, 20)
c. associating with the initialization data a user-defined instruction related to the template.
-
-
16. The method of claim 14 wherein the information key comprises:
information indicating the path name of the object from which the template was derived.
-
17. The method of claim 14 wherein the information key comprises:
information indicating the path name of a component loader utility.
-
18. The method of claim 14 wherein the information key comprises:
information indicating whether the template is initializable from persistent data.
-
19. The method of claim 14 wherein the information key comprises:
information indicating a class identifier of the object on which the template is based.
-
20. The method of claim 14 wherein the information key comprises:
information indicating that the object has been templated.
-
21. A computer data signal embodied in a carrier wave for use with a computer system having a memory, the computer data signal comprising:
-
program code for defining a storage file;
program code that loads a base component into the computer system memory and executes the base component;
program code that builds at least one template, the template comprising modifications to the base component which modifications are made with the executing base component itself and are executable by an operating system operating on a computer system to customize the base component when executed with the template by the operating system, by examining modifications made to the executing base component by a user and separating the modifications from the base component;
program code that formats the modifications into a template format suitable for storage; and
program code for indexing the template within the storage file. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
initilization data associated with the template.
-
-
23. The computer data signal of claim 22 wherein the template comprises an object and the initialization data for the template comprises a user-defined set of changes to the state of persistent data of the object.
-
24. The computer data signal of claim 21 wherein the template comprises:
user-defined instructions associated with the template.
-
25. The computer date signal of claim 24 wherein the user-defined instructions comprise at least one Unicode instruction.
-
26. The computer data signal of claim 22 wherein the template comprises an OLE control.
-
27. The computer data signal of claim 21 wherein the template comprises:
information useful in registering the template with a file system registry of a computer system.
-
28. The computer data signal of claim 27 wherein the template is derived from an object and the information useful in registering the template comprises:
information indicating the path name of the object.
-
29. The computer data signal of claim 27 wherein the template is loadable by a component loader utility and the information useful in registering the template comprises:
information indicating the path name of the component loader utility.
-
30. The computer data signal of claim 27 wherein the template is an object and the information useful in registering the template comprises:
information indicating whether the template is initializable from persistent data.
-
31. The computer data signal of claim 27 wherein the template is derived from an object and the information useful in registering the template comprises:
information indicating a class identifier of the object on which the template is based.
-
32. The computer data signal of claim 27 wherein the template is an object and the information useful in registering the template comprises:
information indicating that the object has been templated.
Specification