# US 10,503,494 B1 · Granular or partial locking within an application

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,503,494 B1
- Document ID: US10503494B1
- Status: Granted
- Kind: B1
- Application number: 14/505,269
- Filed: 2014-10-02
- Granted: 2019-12-10
- Earliest claimed: 2013-10-04
- Assignees: Infinite Blue IP, LLC
- Applicants: Progress Software Corporation
- Inventors: Matthew Robinson; Pavel Vorobiev
- Web page: https://patentgrep.com/patent/US10503494B1

## CPC

- G06F 8/35: model driven
- G06F 8/70: Software maintenance or management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method for receiving a selection from a developer, the selection determining a locking status of a component of a web-based application being developed using the model driven development application; applying the locking status to the component of a web-based application being developed using the model driven development application; and publishing the web-based application with locking information for installation by another tenant upon completion of the web-based application's development, the locking information determining what components of the web-based application may be modified by the another tenant based on their locking status during development.

## Claims

### Claim 1

A method comprising:
receiving, by a model driven development application of an application server, a selection of a developer-selectable graphical user interface (GUI) element from a developer, the developer-selectable GUI element dedicated to setting a locking status of a component of a web-based application associated with the developer selectable GUI element, the web-based application being developed using the model driven development application and comprising a plurality of components organized in a hierarchical structure;
determining that the component of the web-based application associated with the selected, developer-selectable GUI element includes a subcomponent in the hierarchical structure;
responsive to the selection of the developer-selectable GUI element setting the locking status of the component of the web-based application associated with the developer-selectable GUI element and automatically applying the locking status of the component of the web-based application associated with the selected, developer-selectable GUI element to the subcomponent;
applying, by the model driven development application of the application server, the locking status to the component of the web-based application being developed using the model driven development application, the locking status persisting after completion of the web-based application's development and determining whether the component associated with the selected, developer-selectable GUI element is modifiable by another tenant after completion of the web-based application's development;
publishing, by the model driven development application of the application server, the web-based application for installation by the another tenant upon completion of the web-based application's development, the web-based application including information about the locking status of the component set by the developer during development of the web-based application based on the selection of the developer-selectable GUI element, the locking status persisting after completion of the web-based application's development and thereby determining whether the component of the web-based application may be modified by the another tenant after completion of the web-based application's development and installation of the web-based application by the another tenant, wherein the another tenant is an end-user of the web-based application or associated with a customer entity;
receiving, by the model driven development application of the application server after completion of the web-based application's development, a request from an administrative user of the another tenant to modify the component of the web-based application;
determining, by the model driven development application of the application server, whether the request is to modify a locked or unlocked component of the web-based application;
modifying, by the model driven development application of the application server, the requested component of the web-based application responsive to determining that the requested component is unlocked; and
denying, by the model driven development application of the application server, modification of the requested component of the web-based application responsive to determining that the requested component is locked.

### Claim 2

A method comprising:
receiving, by a model driven development application of an application server, a selection of a developer-selectable graphical user interface (GUI) element from a developer, the developer-selectable GUI element dedicated to setting a locking status of a component of a web-based application associated with the developer-selectable GUI element, the web-based application being developed using the model driven development application and comprising a plurality of components organized in a hierarchical structure;
determining that the component of the web-based application associated with the selected, developer-selectable GUI element includes a subcomponent in the hierarchical structure;
responsive to the selection of the developer-selectable GUI element setting the locking status of the component of the web-based application associated with the developer-selectable GUI element and automatically applying the locking status of the component of the web-based application associated with the selected, developer-selectable GUI element to the subcomponent;
applying, by the model driven development application of the application server, the locking status to the component of the web-based application being developed using the model driven development application, the locking status persisting after completion of the web-based application's development and determining whether the component associated with the selected, developer-selectable GUI element is modifiable by another tenant after completion of the web-based application's development; and
publishing, by the model driven development application of the application server, the web-based application for installation by the another tenant upon completion of the web-based application's development, the web-based application including information about the locking status of the component set by the developer during development of the web-based application based on the selection of the developer-selectable GUI element, the locking status persisting after completion of the web-based application's development and thereby determining whether the component of the web-based application may be modified by the another tenant after completion of the web-based application's development and installation of the web-based application by the another tenant, wherein the another tenant is an end-user or associated or associated with a customer entity.

### Claim 3 (depends on 2)

The method of claim 2, wherein the component is one of a tab, a menu below the tab, a submenu below the menu, an object component and a relationship between two or more objects, and wherein the developer-selectable GUI element is one of a radio button, check-box, and icon.

### Claim 4 (depends on 2)

The method of claim 2, the method including:
providing, to the developer, a plurality of developer-selectable GUI elements, each developer-selectable GUI element associated with a lockable/unlockable component subcomponent within the hierarchical structure of the web-based application and allowing the developer to explicitly select the locking status of the associated component or subcomponent within the hierarchical structure of the web-based application within the hierarchical structure using the developer-selectable GUI element associated with the component or subcomponent of the web-based application.

### Claim 5 (depends on 2)

The method of claim 2, wherein a second component includes a first subcomponent that is locked based on a first developer-selectable GUI element dedicated to setting a locking status of the first subcomponent of the web-based application and associated with the first developer-selectable GUI element and a second subcomponent that is unlocked based on a second developer-selectable GUI element dedicated to setting a locking status of the second subcomponent of the web-based application and associated with the second developer-selectable GUI element.

### Claim 6 (depends on 2)

The method of claim 2 including:
receiving, by the model driven development application of the application server, a request from an administrative user of the another tenant to modify the component of the web-based application;
determining, by the model driven development application of the application server, whether the request is to modify a locked or unlocked component of the web-based application;
modifying, by the model driven development application of the application server, the requested component of the web-based application responsive to determining that the requested component is unlocked; and
denying, by the model driven development application of the application server, modification of the requested component of the web-based application responsive to determining that the requested component is locked.

### Claim 7 (depends on 2)

The method of claim 2, wherein an update to the web-based application from the developer overwrites modifications to unlocked components of the web-based application made by administrative end-user.

### Claim 8 (depends on 2)

The method of claim 2, wherein the another tenant may not modify the locking status.

### Claim 9

A system comprising:
one or more processors; and
a memory storing instructions that, when executed by the one or more processors, cause the system to:
receive a selection of a developer-selectable graphical user interface (GUI) element from a developer, the developer-selectable GUI element dedicated to setting a locking status of a component of a web-based application associated with the developer-selectable GUI element, the web-based application being developed using a model driven development application and comprising a plurality of components organized in a hierarchical structure;
determine that the component of the web-based application associated with the selected, developer-selectable GUI element includes a subcomponent in the hierarchical structure;
responsive to the selection of the developer-selectable GUI element setting the locking status of a component of the web-based application associated with the developer-selectable GUI element and automatically apply the locking status of the component of the web-based application associated with the selected, developer-selectable GUI element to the subcomponent;
apply the locking status to the component of the web-based application being developed using the model driven development application, the locking status persisting after completion of the web-based application's development and determining whether the component associated with the selected, developer-selectable GUI element is modifiable by another tenant after completion of the web-based application's development; and
publish the web-based application for installation by the another tenant upon completion of the web-based application's development, the web-based application including information about the locking status of the component set by the developer during development of the web-based application based on the selection of the dedicated developer-selectable GUI element, the locking status persisting after completion of the web-based application's development and thereby determining whether the component of the web-based application may be modified by the another tenant after completion of the web-based application's development and installation of the web-based application by the another tenant, wherein the another tenant is an end-user or associated or associated with a customer entity.

### Claim 10 (depends on 9)

The system of claim 9, wherein the component is one of a tab, a menu below the tab, a submenu below the menu, an object component and a relationship between two or more objects, and wherein the developer-selectable GUI element is one of a radio button, check-box, and icon.

### Claim 11 (depends on 9)

The system of claim 9, the system including instructions that, when executed by the one or more processors, cause the system to:
provide a plurality of developer-selectable GUI elements, each developer-selectable GUI associated with a lockable/unlockable component or subcomponent within the hierarchical structure of the web-based application and allowing the developer to explicitly select the locking status of the associated component or subcomponent of the web-based application within the hierarchical structure using the developer-selectable GUI element associated with the component or subcomponent of the web-based application.

### Claim 12 (depends on 9)

The system of claim 9, wherein a second component includes a first subcomponent that is locked based on a first developer-selectable GUI element dedicated to setting a locking status of the first subcomponent of the web-based application and associated with the first developer-selectable GUI element and a second subcomponent that is unlocked based on a second-developer selectable GUI element dedicated to setting a locking status of the second subcomponent of the web-based application and associated with the second developer-selectable GUI element.

### Claim 13 (depends on 9)

The system of claim 9, wherein the instructions, when executed by the one or more processors, causing the system to:
receive a request from an administrative user of the another tenant to modify the component of the web-based application; to determine whether the request is to modify a locked or unlocked component of the web-based application; to modify the requested component of the web-based application responsive to determining that the requested component is unlocked;
and to deny modification of the requested component of the web-based application responsive to determining that the requested component is locked.

### Claim 14 (depends on 9)

The system of claim 9, wherein an update to the web-based application from the developer overwrites modifications to unlocked components of the web-based application made by administrative end-user.

### Claim 15 (depends on 9)

The system of claim 9, wherein the another tenant may not modify a locking status.
