IP Library › Granted Patent US 7,949,684
Granted Patent B2
US 7,949,684 · App. 11/530,394 · Granted May 24, 2011

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

Assignee: salesforce.com, Inc.
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 7,949,684
App. No.
11/530,394
Granted
May 24, 2011
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 multi-tenant 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 (20)

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, the method comprising: creating a package metadata object that references a set of one or more metadata objects associated with a first organization; storing the package metadata object in a database system; and allowing access to the package metadata object to a user in a second organization.

2. The method of claim 1 , further including validating the package metadata object.

3. The method of claim 2 , wherein validating includes determining object dependencies for the set of one or more metadata objects referenced in the package metadata object.

4. The method of claim 1 , wherein allowing access to the package metadata object includes sending a link to a user in the second organization, wherein selection of the link provides access to the stored package metadata object.

5. The method of claim 1 , wherein creating includes receiving a user selection of one or a plurality of metadata objects from a plurality of metadata objects associated with the first organization.

6. The method of claim 5 , wherein the one or more metadata objects include one or more custom objects that are usable by the first organization.

7. The method of claim 1 , wherein the package metadata object is stored in the database system as a set of primary keys of the objects referenced in the package metadata object.

8. The method of claim 1 , wherein creating includes: receiving a user selection of a metadata object associated with the first organization; determining objects that have a dependency on the selected metadata object; and creating a reference in the package metadata object for the selected object and for any objects determined to have a dependency on the selected metadata object.

9. The method of claim 1 , wherein storing includes storing a reference to the package metadata object in a directory as an object for a separate organization not associated with the first organization.

10. The method of claim 9 , wherein allowing access to the package metadata object includes providing a link to the stored package metadata object, wherein selection of the link provides access to the stored package metadata object.

11. The method of claim 10 , wherein upon selection of the link by a user in the second organization, the package metadata object is instantiated into a database schema associated with the second organization.

12. The method of claim 9 , further including creating a demonstration copy of the package metadata object.

13. The method of claim 12 , wherein the demonstration package includes sample data.

14. The method of claim 1 , further comprising: receiving an update to a container organization for the multi-tenant database; and applying the update to both the package and the all other organizations in the multi-tenant database contemporaneously.

15. The method of claim 1 , wherein storing the package metadata object in a database system includes: storing the package metadata object using a physical storage mechanism and a schema used for all other organizations in the multi-tenant database system to assure that a container organization can be upgraded for both the package and the all other organizations in the multi-tenant database.

16. A 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, the code including instructions to: create a package metadata object that references a set of one or more metadata objects associated with a first organization; store the package metadata object to a database system; and allow access to the package metadata object to a user in a second organization.

17. The computer-readable storage medium of claim 16 , wherein the code further includes instructions to validate the package metadata object.

18. A computer system, comprising: a database system that stores data and objects for multiple organizations; a network interconnect; and a client device, having a processor, wherein the processor executes logic that is operable to control the database system to: store a package metadata object to the database system, wherein the package metadata object references a set of one or more metadata objects associated with a first organization; and allow access to the package metadata object to a user in a second organization.

19. A method for transmitting code to share an application in a multi-tenant database environment, including a multi-tenant database, over a machine accessible transmission medium, the method including: transmitting code that causes one or more processors to create a package metadata object that references a set of one or more metadata objects associated with a first organization; transmitting code that causes one or more processors to store the package metadata object in a database system; and transmitting code that causes one or more processors to allow access to the package metadata object to a user in a second organization.

20. A 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, the method comprising: creating a package comprising an object and a set of one or more objects that are dependent upon said object, wherein said object and dependent objects are associated with a first organization; storing the package in a database system; and allowing access to the package to a user in a second organization.

Assignments (2)
CHANGE OF NAME Recorded Aug 4, 2026
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 076118/0548 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2007
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 018718/0237 →
Continuity (2)
Provisional Application 60715749 · Sep 9, 2005
Related Publication 20070088741A1 · Apr 19, 2007