IP Library Granted Patent US 9,378,227
Granted Patent B2
US 9,378,227 · App. 14/160,537 · Granted Jun 28, 2016

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

Inventors: David Brooks (San Jose, CA); Benji Jasik (San Francisco, CA); Eric David Bezar (Oakland, CA); Douglas Chasman (Pittsford, NY); Scott Hansma (Burlingame, CA); Steven Tamm (San Francisco, CA); Lewis Wiley Tucker (San Francisco, CA); Timothy Mason (San Francisco, CA); Tien Tzuo (San Francisco, CA); Adam Gross (San Francisco, CA); Simon Wong (San Carlos, CA)
Assignee: salesforce.com, inc.
G06F17/30292G06F8/60G06F8/68G06F17/30017G06F17/30165G06F17/30575G06F17/30592G06F17/30607G06F17/30893G06F15/173G06F17/30525G06F17/30994H04L12/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 9,378,227
App. No.
14/160,537
Granted
Jun 28, 2016
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 (19)

1. A computer-based method of sharing an application in a multi-tenant database environment, including a multi-tenant database that stores data and objects for a plurality of organizations, including a source organization and a target organization, the method comprising:

creating an instance of an application for the source organization responsive to selections received from a user interface, the application comprising a metadata object and a set of one or more dependent metadata objects that are dependent upon said metadata object, wherein the metadata object and the set of one or more dependent metadata objects are associated with the source organization;

exporting a deployment package, including the metadata object and the set of one or more dependent metadata objects, to a container organization, distinct from the source organization and the target organization; and

generating a URL, including a unique key of the container organization, wherein the URL provides access to import and install the deployment package into the target organization.

2. The method of claim 1 , further comprising storing a flag that indicates whether a particular dependent object can be altered by a user in the target organization.

3. The method of claim 1 , further comprising requiring a password before allowing access to the deployment package.

4. The method of claim 1 , further comprising prohibiting changes to the deployment package while a user in the target organization is allowed access to the deployment package.

5. The method of claim 1 , further comprising determining that a user in the target organization has been granted permission to import the deployment package.

6. The method of claim 1 , further comprising defining mappings from at least some objects and reference values defined for the source organization to corresponding target organization objects and reference values and instantiating the application using the target organization objects and reference values.

7. The method of claim 1 , wherein the deployment package is stored in a database separate from the multi-tenant database.

8. A non-transitory computer-readable storage medium containing code executable by a processor in a client device to share an application in a multi-tenant database environment that stores data and objects for multiple organizations, including a source organization and a target organization, the code including instructions to:

create an instance of an application for the source organization responsive to selections received from a user interface, the application comprising a metadata object and a set of one or more dependent metadata objects that are dependent upon said metadata object, wherein the metadata object and the set of one or more dependent metadata objects are associated with the source organization;

export a deployment package, including the metadata object and the set of one or more dependent metadata objects, to a container organization, distinct from the source organization and the target organization; and

generate a URL, including a unique key of the container organization, wherein the URL provides access to import and install the deployment package into the target organization.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the code further includes instructions to store a flag that indicates whether a particular dependent object can be altered by a user in the target organization.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the code further includes instructions to prohibit changes to the deployment package while a user in the target organization is allowed access to the deployment package.

11. The non-transitory computer-readable storage medium of claim 8 , wherein the code further includes instructions to determine that a user in the target organization has been granted permission to import the deployment package.

12. The non-transitory computer-readable storage medium of claim 8 , wherein the code further includes instructions to define mappings from at least some objects and reference values defined for the source organization to corresponding target organization objects and reference values and instantiating the application using the target organization objects and reference values.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the code further includes instructions to store the deployment package in a database separate from the multi-tenant database.

Assignments (3)
CHANGE OF NAME Recorded Feb 17, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 062794/0656 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF ASSIGNOR TIEN TZOU'S NAME PREVIOUSLY RECORDED ON REEL 037805 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNORS' INTEREST. Recorded Mar 18, 2016
From: BROOKS, DAVID; JASIK, BENJI; MASON, TIMOTHY; BEZAR, ERIC DAVID; WONG, SIMON; CHASMAN, DOUGLAS; TZUO, TIEN; HANSMA, SCOTT; GROSS, ADAM; TAMM, STEVEN; TUCKER, LEWIS WILEY
To: SALESFORCE.COM, INC.
Reel/Frame 038148/0826 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2016
From: BROOKS, DAVID; JASIK, BENJI; MASON, TIMOTHY; BEZAR, ERIC DAVID; WONG, SIMON; CHASMAN, DOUGLAS; TZUO, TIER; HANSMA, SCOTT; GROSS, ADAM; TAMM, STEVEN; TUCKER, LEWIS WILEY
To: SALESFORCE.COM, INC.
Reel/Frame 037805/0145 →
Continuity (4)
Continuation 13088491 · Apr 18, 2011
Continuation 11530394 · Sep 8, 2006
Provisional Application 60715749 · Sep 9, 2005
Related Publication 20150019590A1 · Jan 15, 2015