IP Library Granted Patent US 9,098,365
Granted Patent B2
US 9,098,365 · App. 12/903,381 · Granted Aug 4, 2015

System, method and computer program product for conditionally enabling an installation aspect

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,098,365
App. No.
12/903,381
Granted
Aug 4, 2015
Kind
B2
Abstract

In accordance with embodiments, there are provided mechanisms and methods for conditionally enabling an installation aspect. In one embodiment, code to be installed within a multi-tenant on-demand database system is identified. Additionally, a feature required to install the code is identified, where the feature includes data that is required to be accessed by the code when the code is installed and run within the multi-tenant on-demand database system. Further, the feature is conditionally enabled, based on one or more criteria.

Claims (31)

1. A computer program product, comprising a non-transitory computer readable medium having a computer readable program code embodied therein, the computer readable program code causing a computer to implement a method, the method comprising:

receiving, at a system, a request to install application code, the system configured to host one or more applications;

identifying by the system prior to an installation of the application code within the system one or more actions required to be performed by the system during the installation of the application code, where the one or more actions include accessing data stored within the system, where the data required to be accessed during the installation of the application code is separate from the application code to be installed within the system;

identifying, by the system, a developer of the application code; and

conditionally allowing, by the system, the installation of the application code within the system, based on a comparison of the one or more actions to be performed by the system during the installation of the application and the identified developer of the application code against one or more rules.

2. The computer program product of claim 1 , wherein the developer is associated with the system.

3. The computer program product of claim 1 , wherein the one or more actions further include communicating the data outside of the system by the application code.

4. The computer program product of claim 1 , wherein the one or more actions further include operations that are performed on the data.

5. The computer program product of claim 1 , wherein the access to the data further includes at least one of reading the data accessed by the application code, updating the data accessed by the application code, and deleting the data accessed by the application code.

6. The computer program product of claim 1 , wherein the one or more actions are identified by analyzing the application code.

7. The computer program product of claim 6 , wherein the application code is statically introspected in order to determine what data is to be accessed by the application code and how such access is to occur.

8. The computer program product of claim 1 , wherein the identified one or more actions are presented to an entity associated with the application code.

9. The computer program product of claim 1 , wherein a user is presented with the one or more actions.

10. The computer program product of claim 9 , further comprising receiving input from the user in response to the presentation of the one or more actions to the user.

11. The computer program product of claim 10 , wherein the installation of the application code is also based on the input from the user.

12. The computer program product of claim 1 , further comprising extending the one or more actions required with respect to the installation of the application code, based on the identifying.

13. The computer program product of claim 12 , wherein extending the one or more actions required with respect to the installation of the application code includes adding or extending access to the data of the system.

14. The computer program product of claim 1 , wherein the installation of the application code is allowed within the system if the one or more rules are met by the one or more actions.

15. The computer program product of claim 1 , wherein the installation of the application code is not allowed within the system if the one or more rules are not met by the one or more actions.

16. The computer program product of claim 1 , wherein the one or more rules indicate one or more entities associated with the application code that are determined to be trusted entities.

17. A method, comprising:

receiving, at a system, a request to install application code, the system configured to host one or more applications;

identifying by the system prior to an installation of the application code within the system one or more actions required to be performed by the system during the installation of the application code, where the one or more actions include accessing data stored within the system, where the data required to be accessed during the installation of the application code is separate from the application code to be installed within the system;

identifying, by the system, a developer of the application code; and

conditionally allowing, by the system, the installation of the application code within the system, based on a comparison of the one or more actions to be performed by the system during the installation of the application and the identified developer of the application code against one or more rules.

18. An apparatus, comprising:

a processor for:

receiving, at a system, a request to install application code, the system configured to host one or more applications;

identifying by the system prior to an installation of the application code within the system one or more actions required to be performed by the system during the installation of the application code, where the one or more actions include accessing data stored within the system, where the data required to be accessed during the installation of the application code is separate from the application code to be installed within the system;

identifying, by the system, a developer of the application code; and

conditionally allowing, by the system, the installation of the application code within the system, based on a comparison of the one or more actions to be performed by the system during the installation of the application and the identified developer of the application code against one or more rules.

Assignments (2)
CHANGE OF NAME Recorded Oct 24, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069270/0655 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2010
From: SMITH, ANDREW; WEISSMAN, CRAIG; DVINOV, DANIL
To: SALESFORCE.COM, INC.
Reel/Frame 025134/0708 →