Multi-layer XML customization
First Claim
1. A method for customizing a software application, the method comprising:
- receiving, by a computer system, a base metadata document defining one or more characteristics of at least a portion of the software application;
identifying, by the computer system, a plurality of customization documents defining modifications to the base metadata document, wherein the plurality of customization documents are stored separately from the base metadata document, and wherein the identifying the plurality of customization documents comprises;
determining a plurality of customization levels associated with the base metadata document, each of the plurality of customization levels representing a scope for which the base metadata document can be customized, the plurality of customization levels being determined by accessing a configuration file comprising mappings between customization levels and base metadata documents, wherein the plurality of customization levels are sorted in a precedence order; and
identifying a customization document for each customization level in the plurality of customization levels, wherein the customization document is identified based on one or more runtime attributes corresponding to the customization level; and
generating, by the computer system, a customized metadata document by applying the plurality of customization documents to the base metadata document in the precedence order.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide techniques for customizing aspects of a metadata-driven software application. In particular, embodiments of the present invention provide (1) a self-contained metadata engine for generating customized metadata documents from base metadata documents and customizations; (2) a customization syntax for defining customizations; (3) a customization creation/update component for creating and updating customizations; (4) a customization restriction mechanism for restricting the creation of new customizations by specific users or groups of users; and (5) memory and caching optimizations for optimizing the storage and lookup of customized metadata documents.
197 Citations
20 Claims
-
1. A method for customizing a software application, the method comprising:
-
receiving, by a computer system, a base metadata document defining one or more characteristics of at least a portion of the software application; identifying, by the computer system, a plurality of customization documents defining modifications to the base metadata document, wherein the plurality of customization documents are stored separately from the base metadata document, and wherein the identifying the plurality of customization documents comprises; determining a plurality of customization levels associated with the base metadata document, each of the plurality of customization levels representing a scope for which the base metadata document can be customized, the plurality of customization levels being determined by accessing a configuration file comprising mappings between customization levels and base metadata documents, wherein the plurality of customization levels are sorted in a precedence order; and identifying a customization document for each customization level in the plurality of customization levels, wherein the customization document is identified based on one or more runtime attributes corresponding to the customization level; and generating, by the computer system, a customized metadata document by applying the plurality of customization documents to the base metadata document in the precedence order. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system for customizing a software application, the system comprising:
-
a repository configured to store a base metadata document and a plurality of customization documents, wherein the base metadata document defines one or more characteristics of at least a portion of the software application, wherein the plurality of customization documents define modifications to the base metadata document, and wherein the plurality of customization documents are stored separately from the base metadata document; and a processor configured to; receive the base metadata document; identify the plurality of customization documents by; determining a plurality of customization levels associated with the base metadata document, each of the plurality of customization levels representing a scope for which the base metadata document can be customized, the plurality of customization levels being determined by accessing a configuration file comprising mappings between customization levels and base metadata documents, wherein the plurality of customization levels are sorted in a precedence order; and identifying a customization document for each customization level in the plurality of customization levels, wherein the customization document is identified based on one or more runtime attributes corresponding to the customization level; and generate a customized metadata document by applying the plurality of customization documents to the base metadata document in the precedence order. - View Dependent Claims (17, 20)
-
-
18. A non-transitory machine-readable medium for a computer system, the non-transitory machine-readable medium having stored thereon a series of instructions which, when executed by a processing component, cause the processing component to customize a software application by:
-
receiving a base metadata document defining one or more characteristics of at least a portion of the software application; identifying a plurality of customization documents defining modifications to the base metadata document, wherein the plurality of customization documents are stored separately from the base metadata document, and wherein the identifying the plurality of customization documents comprises; determining a plurality of customization levels associated with the base metadata document, each of the plurality of customization levels representing a scope for which the base metadata document can be customized, the plurality of customization levels being determined by accessing a configuration file comprising mappings between customization levels and base metadata documents, wherein the plurality of customization levels are sorted in a precedence order; and identifying a customization document for each customization level in the plurality of customization levels, wherein the customization document is identified based on one or more runtime attributes corresponding to the customization level; and generating a customized metadata document by applying the plurality of customization documents to the base metadata document in the precedence order. - View Dependent Claims (19)
-
Specification