IP Library Granted Patent US 10,235,148
Granted Patent B2
US 10,235,148 · App. 15/194,418 · Granted Mar 19, 2019

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/658G06F17/303G06F17/30017G06F17/30165G06F17/30292G06F17/30356G06F17/30575G06F17/30592G06F17/30607G06F17/30887G06F17/30893H04L63/1433H04L67/34G06F3/0483G06F15/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 10,235,148
App. No.
15/194,418
Granted
Mar 19, 2019
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 (60)

1. A method for deploying a package onto at least one server of a hosted customer relationship management (CRM) online service provider system, the hosted CRM online service provider system being a multi-tenant system, where a target organization and a source organization are separate tenants of the hosted CRM online service provider system, the method including:

assembling a package created using a template to setup the package, the package including:

one or more files implementing a CRM solution, produced by the source organization to install onto the at least one server of a hosted CRM online service provider system for benefit of the target organization;

custom code that runs during or after installation of the package; and

at least one web format document specific to the package providing a description of package contents and to be displayed during at least one of at the beginning, or at the end of processing to install the one or more files of the package onto the at least one server of the hosted CRM online service provider system;

providing a package deployer tool;

providing the package for installing; and

allowing a user in the target organization to access and install the package using the package deployer tool onto the at least one server of the hosted CRM online service provider system.

2. The method of claim 1 , further including:

configuring the package for export using a configuration migration tool.

3. The method of claim 1 , wherein the one or more files includes an exported data file.

4. The method of claim 1 , wherein the one or more files includes a flat file.

5. The method of claim 1 , wherein providing the package for installation further comprises:

detecting a conflict between an existing object and a custom entity of the package being installed; and

blocking importing the custom entity.

6. The method of claim 1 , wherein the providing the package for installation further comprises:

checking whether an importing user has appropriate organization permissions to import the package.

7. The method of claim 1 , wherein the providing the package for installation further comprises:

prompting an importing user for a mapping between source organization specific references in the package to values appropriate to a recipient organization.

8. The method of claim 1 , wherein the at least one web format document is in an HTML format.

9. The method of claim 1 , wherein the at least one web format document includes a URL.

10. The method of claim 1 , wherein the providing the package for installation further comprises:

checking a credential indicating whether an import user is authorized to import the package.

11. The method of claim 1 , wherein the providing the package for installation further comprises:

locking a recipient organization during import thereby preventing inconsistent updates.

12. The method of claim 1 , wherein the providing the package for installation further comprises:

copying setup data into a recipient in a development m ode, thereby enabling an import user to verify application functions prior to deploying an application to users.

13. The method of claim 1 , wherein the providing the package for installation further comprises:

scanning the package for malicious functionality.

14. The method of claim 1 , wherein providing the package for installation further comprises:

restricting an import user from changing setup data after the package is imported.

15. A computing system executing a setup wizard in communication with at least one server of a hosted customer relationship management (CRM) online service provider system, the hosted CRM online service provider system being a multi-tenant system, where a target organization and a source organization are separate tenants of the hosted CRM online service provider system, the computing system comprising:

a non-transitory computer-readable medium having stored therein the setup wizard; and

a processor coupled to the non-transitory computer-readable medium, the processor configured to:

execute the setup wizard, the setup wizard including:

a template based setup wizard running on a server configured to receive a request and, responsive to the request, prepare a package, wherein preparing the package further includes:

including one or more files implementing a CRM solution, produced by the source organization to install onto the at least one server of the hosted CRM online service provider system for benefit of the target organization;

including custom code that runs during or after installation of the package; and

generating at least one web format document specific to the package providing description of package contents and to be displayed during at least one of at the beginning, or at the end of processing to install the one or more files of the package onto the at least one server of the hosted CRM online service provider system;

provide a package deployer tool;

provide the package for installing; and

allow a user in the target organization to access and install the package using the package deployer tool onto the at least one server of the hosted CRM online service provider system.

16. A non-transitory computer readable medium storing a plurality of instructions for programming one or more processors to provide deploying a package onto at least one server of a hosted customer relationship management (CRM) online service provider system, the hosted CRM online service provider system being a multi-tenant system, where a target organization and a source organization are separate tenants of the hosted CRM online service provider system, the instructions, when executed on the one or more processors, implementing actions including:

assembling a package created using a template to setup the package, the package including:

one or more fries implementing a CRM solution, produced by the source organization to install onto the at least one server of the hosted CRM online service provider system for benefit of the target organization;

custom code that runs during or after installation of the package; and

at least one HTML format document specific to the package providing a description of package contents and to be displayed during at least one of at the beginning, or at the end of processing to install the one or more files of the package onto the at least one server of the hosted CRM online service provider system;

providing a package deployer tool;

providing the package for installing; and

allowing a user in the target organization to access and install the package using the package deployer tool onto the at least one server of the hosted CRM online service provider system.

17. The non-transitory computer readable medium of claim 16 , further storing instructions that implement:

configuring the package for export using a configuration migration tool.

18. The non-transitory computer readable medium of claim 16 , wherein the one or more files includes an exported data file.

19. The non-transitory computer readable medium of claim 16 , wherein the providing the package for installation further comprises:

detecting a conflict between an existing object and a custom entity of the package being installed; and

blocking importing the custom entity.

20. The non-transitory computer readable medium of claim 16 , wherein the providing the package for installation further comprises:

checking whether an importing user has appropriate organization permissions to import the package.

21. The non-transitory computer readable medium of claim 16 , wherein the providing the package for installation further comprises:

prompting an importing user for a mapping between source organization specific references in the package to values appropriate to a 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 Feb 15, 2018
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 044945/0866 →
Continuity (5)
Continuation 14160537 · Jan 21, 2014
Continuation 13088491 · Apr 18, 2011
Continuation 11530394 · Sep 8, 2006
Provisional Application 60715749 · Sep 9, 2005
Related Publication 20170003947A1 · Jan 5, 2017