System and method for controlling the on and off state of features at runtime
First Claim
1. A method of controlling the execution of business logic that allows features of the business logic to be turned on or off at run time for each particular user entity of a plurality of user entities, wherein each particular user entity is either:
- an individual user, a user group that corresponds to a specific group of users or users assigned to a profile, or a default value that represents and corresponds to all users, the method comprising;
prior to run time;
providing, by a system, an object comprising a plurality of code blocks, wherein each code block of the plurality of code blocks corresponds to a particular feature and has an enabling predicate associated with that particular code block;
configuring a library based on an administrator'"'"'s interaction with an interactive control panel at a computer of the system, wherein configuring the library comprises;
defining, for each particular user entity and for each particular code block, an on/off state for each feature of that particular code block via an enabling predicate associated with that particular feature, wherein defining further comprises;
defining a plurality of first attributes associated with a parent object and a plurality of second attributes associated with a child object,the first attributes comprising;
a name of a particular code block, a namespace for each feature of that particular code block, and a maintenance flag that is used to override an on/off state for each feature of that particular code block irrespective of the value that is cached in the library for that particular enabling predicate; and
the second attributes comprising;
an entity field having a value that specifies that particular user entity, and an entity variable that comprises an on/off field that defines an on/off state for each feature of that particular code block for that particular user entity; and
caching the library in a custom settings cache of the system for use at run time; and
then at run time;
applying, at the system, a first enable predicate associated with a first code block to the cached library to cause the cached library to evaluate either a true result or a false result for the first enable predicate at run time; and
executing the first code block, at the system, if the library evaluates a true result for the first enable predicate.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems are provided for turning on and off features at run time. The method includes providing a unique enabling predicate (e.g., an “if enabled” statement) for one or more executable features (blocks of code), configuring a permissions library, and caching the configured permissions library. The method further includes interrogating the cache with the first “if enabled” predicate, executing the block of code (feature) if the cache yields “true” for the requesting user, and not executing the code block if the cache yields “false” for the requesting user.
-
Citations
13 Claims
-
1. A method of controlling the execution of business logic that allows features of the business logic to be turned on or off at run time for each particular user entity of a plurality of user entities, wherein each particular user entity is either:
- an individual user, a user group that corresponds to a specific group of users or users assigned to a profile, or a default value that represents and corresponds to all users, the method comprising;
prior to run time; providing, by a system, an object comprising a plurality of code blocks, wherein each code block of the plurality of code blocks corresponds to a particular feature and has an enabling predicate associated with that particular code block; configuring a library based on an administrator'"'"'s interaction with an interactive control panel at a computer of the system, wherein configuring the library comprises; defining, for each particular user entity and for each particular code block, an on/off state for each feature of that particular code block via an enabling predicate associated with that particular feature, wherein defining further comprises; defining a plurality of first attributes associated with a parent object and a plurality of second attributes associated with a child object, the first attributes comprising;
a name of a particular code block, a namespace for each feature of that particular code block, and a maintenance flag that is used to override an on/off state for each feature of that particular code block irrespective of the value that is cached in the library for that particular enabling predicate; andthe second attributes comprising;
an entity field having a value that specifies that particular user entity, and an entity variable that comprises an on/off field that defines an on/off state for each feature of that particular code block for that particular user entity; andcaching the library in a custom settings cache of the system for use at run time; and then at run time; applying, at the system, a first enable predicate associated with a first code block to the cached library to cause the cached library to evaluate either a true result or a false result for the first enable predicate at run time; and executing the first code block, at the system, if the library evaluates a true result for the first enable predicate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
- an individual user, a user group that corresponds to a specific group of users or users assigned to a profile, or a default value that represents and corresponds to all users, the method comprising;
-
9. A system comprising:
-
a computer having a display configured to display an interactive control panel for controlling the execution of business logic that allows features of the business logic to be turned on or off at run time for each particular user entity of a plurality of user entities based on an administrator'"'"'s interaction with an interactive control panel, wherein each particular user entity is either;
an individual user, a user group that corresponds to a specific group of users or users assigned to a profile, or a default value that represents and corresponds to all users, wherein the interactive control panel comprises;a parent object editing module, displayed at the display of the computer, configured to allow an administrator to define for each particular code block, prior to run time, a plurality of first attributes associated with a parent object, the first attributes comprising;
a name of a particular code block, a namespace for each feature of that particular code block, and a maintenance flag that is used to override an on/off state for each feature of that particular code block irrespective of the value that is cached in the library for that particular enabling predicate;a child object editing module, displayed at the display of the computer, configured to allow an administrator to define for each particular user entity, prior to run time, a plurality of second attributes associated with a child object, the second attributes comprising;
an entity field that specifies that particular user entity, and an entity variable that comprises an on/off field that defines an on/off state for each feature of that particular code block for that particular user entity; anda server, comprising;
a custom settings cache for storing a library for use at run time, the library comprising the plurality of first attributes and the plurality of second attributes.
-
-
10. Computer code embodied in a non-transitory medium for operation by a system for performing the steps of:
-
prior to run time; providing, by the system, an object comprising a plurality of code blocks, wherein each code block of the plurality of code blocks corresponds to a particular feature and has an enabling predicate associated with that particular code block; configuring a library based on an administrator'"'"'s interaction with an interactive control panel at a computer of the system, wherein configuration of the library allow for control of the execution of business logic by allowing features of the business logic to be turned on or off at run time for each particular user entity of a plurality of user entities, wherein each particular user entity is either;
an individual user, a user group that corresponds to a specific group of users or users assigned to a profile, or a default value that represents and corresponds to all users, wherein configuring the library comprises;defining, for each particular user entity and for each particular code block, an on/off state for each feature of that particular code block via an enabling predicate associated with that particular feature, wherein defining further comprises; defining a plurality of first attributes associated with a parent object and a plurality of second attributes associated with a child object, the first attributes comprising;
a name of a particular code block, a namespace for each feature of that particular code block, and a maintenance flag that is used to override an on/off state for each feature of that particular code block irrespective of the value that is cached in the library for that particular enabling predicate; andthe second attributes comprising;
an entity field having a value that specifies that particular user entity, and an entity variable that comprises an on/off field that defines an on/off state for each feature of that particular code block for that particular user entity; andcaching the library in a custom settings cache of the system for use at run time; and then at run time; applying, at the system, a first enable predicate associated with a first code block to the cached library to cause the cached library to evaluate either a true result or a false result for the first enable predicate at run time; and executing the first code block, at the system, if the library evaluates a true result for the first enable predicate. - View Dependent Claims (11, 12, 13)
-
Specification