IP Library Granted Patent US 11,314,494
Granted Patent B2
US 11,314,494 · App. 16/689,960 · Granted Apr 26, 2022

Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment

Inventors: David Brooks (San Jose, CA); Lewis Wiley Tucker (San Francisco, CA); Benji Jasik (San Francisco, CA); Timothy Mason (San Francisco, CA); Eric David Bezar (Oakland, CA); Simon Wong (San Carlos, CA); Douglas Chasman (Pittsford, NY); Tien Tzuo (San Francisco, CA); Scott Hansma (Burlingame, CA); Adam Gross (San Francisco, CA); Steven Tamm (San Francisco, CA)
Assignee: salesforce.com, inc.
G06F8/61G06F3/0482G06F8/60G06F8/658G06F16/176G06F16/211G06F16/214G06F16/2329G06F16/27G06F16/283G06F16/289G06F16/40G06F16/9566G06F16/972H04L63/1433H04L67/34G06F3/0483G06F15/173G06F16/24573G06F16/904H04L12/50
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 11,314,494
App. No.
16/689,960
Granted
Apr 26, 2022
Kind
B2
Abstract

In accordance with embodiments, there are provided mechanisms and methods for creating, exporting, viewing and testing, and importing custom applications in a multitenant database environment. These mechanisms and methods can enable embodiments to provide a vehicle for sharing applications across organizational boundaries. The ability to share applications across organizational boundaries can enable tenants in a multi-tenant database system, for example, to easily and efficiently import and export, and thus share, applications with other tenants in the multi-tenant environment.

Claims (46)

1. A computer-implemented method of managing a set of objects imported from an application directory in a multi-tenant system, the set of objects created by a source organization in the multi-tenant system, the method including:

selecting the set of objects to import from the application directory;

configuring the set of objects for a recipient organization in the multi-tenant system to generate a set of custom objects that conform to a scheme of the recipient organization;

installing the set of custom objects as part of an application for the recipient organization; and

verifying functioning of the set of custom objects for the recipient organization prior to deployment to users of the recipient organization.

2. The computer-implemented method of claim 1 , further comprising:

tracking metadata for the set of custom objects; and

uninstalling the set of custom objects from the recipient organization utilizing the metadata for the set of custom objects.

3. The computer-implemented method of claim 1 , further comprising:

maintaining a version history of the set of objects.

4. The computer-implemented method of claim 1 , wherein the set of objects are part of an application package that includes metadata.

5. The computer-implemented method of claim 1 , further comprising:

detecting a conflict between existing objects and data fields of applications of the recipient organization and a data field of the set of objects; and

presenting an interface to resolve the conflict to a user of the recipient organization.

6. The computer-implemented method of claim 1 , further comprising:

managing a mapping of data fields and objects between a container organization and the recipient organization where the container organization is a generic placeholder organization.

7. The computer-implemented method of claim 1 , further comprising:

checking whether a user of the recipient organization has appropriate organization permissions to manage the set of custom objects.

8. The computer-implemented method of claim 1 , further comprising:

enabling the application with the set of custom objects for testing in a development mode; and

deploying the set of custom objects from the development mode to an operational mode for the recipient organization.

9. The computer-implemented method of claim 1 , further comprising:

checking a credential indicating whether a user of the recipient organization is authorized to manage the set of objects and the set of custom objects.

10. The computer-implemented method of claim 4 , further comprising:

scanning the application package for malicious functionality.

11. A computer system to execute a method of managing a set of objects imported from an application directory in a multi-tenant system, the set of objects created by a source organization in the multi-tenant system, the computer system comprising:

a non-transitory computer-readable medium having stored therein a database system and a manager of the set of objects; and

a processor coupled to the non-transitory computer-readable medium, the processor to execute the database system and the manager, the manager to select the set of objects to import from the application directory, to configure the set of objects for a recipient organization in the multi-tenant system to generate a set of custom objects that conform to a scheme of the recipient organization, to install the set of custom objects as part of an application for the recipient organization, and to verify functioning of the set of custom objects for the recipient organization prior to deployment to users of the recipient organization.

12. The computer system of claim 11 , wherein the manager is further to track metadata for the set of custom objects, and uninstall the set of custom objects from the recipient organization utilizing the metadata for the set of custom objects.

13. The computer system of claim 11 , wherein the manager is further to maintain a version history of the set of objects.

14. The computer system of claim 11 , wherein the set of objects are part of an application package that includes metadata.

15. The computer system of claim 11 , wherein the manager is further to detect a conflict between existing objects and data fields of applications of the recipient organization and a data field of the set of objects, and to present an interface to resolve the conflict to a user of the recipient organization.

16. A non-transitory computer readable storage medium having stored therein a set of instructions, the set of instructions, when executed by a processor of a computer system cause the computer system to perform set of operations of a method including method of managing a set of objects imported from an application directory in a multi-tenant system, the set of objects created by a source organization in the multi-tenant system, the set of operation comprising:

selecting the set of objects to import from the application directory;

configuring the set of objects for a recipient organization in the multi-tenant system to generate a set of custom objects that conform to a scheme of the recipient organization;

installing the set of custom objects as part of an application for the recipient organization; and

verifying the functioning of the set of custom objects for the recipient organization prior to deployment to users of the recipient organization.

17. The non-transitory computer readable storage medium of claim 16 having further instructions stored therein, which when executed by the processor, cause additional operation to be performed by the computer system, the additional operations comprising:

tracking metadata for the set of custom objects; and

uninstalling the set of custom objects from the recipient organization utilizing the metadata for the set of custom objects.

18. The non-transitory computer readable storage medium of claim 16 having further instructions stored therein, which when executed by the processor, cause additional operation to be performed by the computer system, the additional operations comprising:

maintaining a version history of the set of objects.

19. The non-transitory computer readable storage medium of claim 16 , wherein the set of objects are part of an application package that includes metadata.

20. The non-transitory computer-readable storage medium of claim 16 having further instructions stored therein, which when executed by the processor, cause additional operation to be performed by the computer system, the additional operations comprising:

detecting a conflict between existing objects and data fields of applications of the recipient organization and a data field of the set of objects; and

presenting an interface to resolve the conflict to a user of the recipient organization.

Assignments (2)
CHANGE OF NAME Recorded Feb 17, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 062794/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: BROOKS, DAVID; TUCKER, LEWIS WILEY; JASIK, BENJI; MASON, TIMOTHY; BEZAR, ERIC DAVID; WONG, SIMON; CHASMAN, DOUGLAS; TZUO, TIEN; HANSMA, SCOTT; GROSS, ADAM; TAMM, STEVEN
To: SALESFORCE.COM, INC.
Reel/Frame 051081/0875 →