Customization restrictions for multi-layer XML customization
First Claim
1. A method for restricting the customizability of a base metadata document, the base metadata document defining one or more characteristics of at least a portion of a software application, the method comprising:
- receiving, by a computer system, a type-level customization policy defined for a first object type of an object included in the base metadata document, the type-level customization policy indicating whether instances of objects having the object type may be customized by a first set of one or more users of the software application;
receiving an instance-level customization policy defined for the object included in the base metadata document, the instance-level customization policy indicating whether an instance of the object may be customized by a second set of one or more users of the software application; and
enforcing, by the computer system, the type-level customization policy and the instance-level customization policy at runtime of the software application to create or update a customization, the customization defining modifications to the base metadata document, the enforcing comprising;
determining whether the instance of the object may be customized by a current user, based on how the object is instantiated, the type-level customization policy, the instance-level customization policy, and a set of precedence rules for the type-level customization policy and the instance-level customization policy, wherein how the object is instantiated comprises whether the object is instantiated as the first object type or as a second object type that is based on the first object type, and wherein the set of precedence rules for the type-level customization policy and the instance-level customization policy comprises one or more rules providing for a first case where the type-level customization policy and the instance-level customization policy apply without conflict, and one or more rules providing for a second case where the type-level customization policy and the instance-level customization policy apply with conflicting restrictions;
determining whether a restriction of one of the type-level customization policy or the instance-level customization policy takes a higher precedence with respect to a conflicting restriction of the other of the type-level customization policy or the instance-level customization policy;
wherein the customization is stored separately from the base metadata document, and wherein the customization is applied to the base metadata document to generate a customized metadata document used by the software application.
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.
253 Citations
24 Claims
-
1. A method for restricting the customizability of a base metadata document, the base metadata document defining one or more characteristics of at least a portion of a software application, the method comprising:
-
receiving, by a computer system, a type-level customization policy defined for a first object type of an object included in the base metadata document, the type-level customization policy indicating whether instances of objects having the object type may be customized by a first set of one or more users of the software application; receiving an instance-level customization policy defined for the object included in the base metadata document, the instance-level customization policy indicating whether an instance of the object may be customized by a second set of one or more users of the software application; and enforcing, by the computer system, the type-level customization policy and the instance-level customization policy at runtime of the software application to create or update a customization, the customization defining modifications to the base metadata document, the enforcing comprising; determining whether the instance of the object may be customized by a current user, based on how the object is instantiated, the type-level customization policy, the instance-level customization policy, and a set of precedence rules for the type-level customization policy and the instance-level customization policy, wherein how the object is instantiated comprises whether the object is instantiated as the first object type or as a second object type that is based on the first object type, and wherein the set of precedence rules for the type-level customization policy and the instance-level customization policy comprises one or more rules providing for a first case where the type-level customization policy and the instance-level customization policy apply without conflict, and one or more rules providing for a second case where the type-level customization policy and the instance-level customization policy apply with conflicting restrictions; determining whether a restriction of one of the type-level customization policy or the instance-level customization policy takes a higher precedence with respect to a conflicting restriction of the other of the type-level customization policy or the instance-level customization policy; wherein the customization is stored separately from the base metadata document, and wherein the customization is applied to the base metadata document to generate a customized metadata document used by the software application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for restricting the customizability of a base metadata document, the base metadata document defining one or more characteristics of at least a portion of a software application, the system comprising:
-
a processor configured to; receive a type-level customization policy defined for a first object type of an object included in the base metadata document, the type-level customization policy indicating whether instances of objects having the object type may be customized by a first set of one or more users of the software application; receive an instance-level customization policy defined for the object included in the base metadata document, the instance-level customization policy indicating whether an instance of the object may be customized by a second set of one or more users of the software application; and enforce the type-level customization policy and the instance-level customization policy at runtime of the software application to create or update a customization, the customization defining modifications to the base metadata document, the enforcing comprising; determining whether the instance of the object may be customized by a current user, based on how the object is instantiated, the type-level customization policy, the instance-level customization policy, and a set of precedence rules for the type-level customization policy and the instance-level customization policy, wherein how the object is instantiated comprises whether the object is instantiated as the first object type or as a second object type that is based on the first object type, wherein the set of precedence rules for the type-level customization policy and the instance-level customization policy comprises one or more rules providing for a first case where the type-level customization policy and the instance-level customization policy apply without conflict, and one or more rules providing for a second case where the type-level customization policy and the instance-level customization policy apply with conflicting restrictions; determining whether a restriction of one of the type-level customization policy or the instance-level customization policy takes a higher precedence with respect to a conflicting restriction of the other of the type-level customization policy or the instance-level customization policy; wherein the customization is stored separately from the base metadata document, and wherein the customization is applied to the base metadata document to generate a customized metadata document used by the software application. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. 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 restrict the customizability of a base metadata document, the base metadata document defining one or more characteristics of at least a portion of a software application, by:
-
receiving a type-level customization policy defined for an object type of a first object included in the base metadata document, the type-level customization policy indicating whether instances of objects having the object type may be customized by a first set of one or more users of the software application; receiving an instance-level customization policy defined for the object included in the base metadata document, the instance-level customization policy indicating whether an instance of the object may be customized by a second set of one or more users of the software application; and enforcing the type-level customization policy and the instance-level customization policy at runtime of the software application to create or update a customization, the customization defining modifications of the base metadata document, the enforcing comprising; determining whether the instance of the object may be customized by a current user, based on how the object is instantiated, the type-level customization policy, the instance-level customization policy, and a set of precedence rules for the type-level customization policy and the instance-level customization policy, wherein how the object is instantiated comprises whether the object is instantiated as the first object type or as a second object type that is based on the first object type, wherein the set of precedence rules for the type-level customization policy and the instance-level customization policy comprises one or more rules providing for a first case where the type-level customization policy and the instance-level customization policy apply without conflict, and one or more rules providing for a second case where the type-level customization policy and the instance-level customization policy apply with conflicting restrictions; determining whether a restriction of one of the type-level customization policy or the instance-level customization policy takes a higher precedence with respect to a conflicting restriction of the other of the type-level customization policy or the instance-level customization policy; wherein the customization is stored separately from the base metadata document, and wherein the customization is applied to the base metadata document to generate a customized metadata document used by the software application.
-
Specification