IP Library Granted Patent US 9,251,240
Granted Patent B2
US 9,251,240 · App. 13/448,278 · Granted Feb 2, 2016

System, method and computer program product for portal user data access in a multi-tenant on-demand database system

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,251,240
App. No.
13/448,278
Granted
Feb 2, 2016
Kind
B2
Abstract

In accordance with embodiments, there are provided mechanisms and methods for portal user data access in a multi-tenant on-demand database system. These mechanisms and methods for portal user data access in a multi-tenant on-demand database system can enable embodiments to provide portal-specific user accounts to the multi-tenant on-demand database system which have reduced configuration requirements than users directly accessing the multi-tenant on-demand database system. The ability of embodiments to provide portal-specific user accounts can reduce processing requirements of the database system.

Claims (46)

1. A computer program product, comprising a non-transitory computer readable storage medium having a computer readable program code embodied therein, the computer readable program code adapted to cause a computer to be executed to implement a method, the method comprising:

providing a platform of a multi-tenant on-demand database system having hardware and software that is shared by multiple tenants of the multi-tenant on-demand database system;

providing, by the multi-tenant on-demand database system, multiple portals wherein each portal includes an interface specific to one of the multiple tenants of the multi-tenant on-demand database system by being branded for the one of the multiple tenants;

receiving, by the multi-tenant on-demand database system, a customization of the interface from the one of the multiple tenants of the multi-tenant on-demand database system;

storing, by the multi-tenant on-demand database system, the customization of the interface for the one of the multiple tenants;

registering a user associated with a tenant with the multi-tenant on-demand database system, wherein the registering is performed via the portal specific to the tenant such that the user appears to register with a service provided by the tenant;

storing a user object associated with the user, wherein the user object stores login information for use in authorizing a login to the portal by the user;

receiving, from the user via the portal, a request for a set of data associated with the multi-tenant on-demand database system;

identifying a data object of the multi-tenant on-demand database system that stores the set of data that is requested by the user;

determining whether the user object is referenced by the data object, wherein the user object is referenced by the data object by storing a unique identifier of the user object in the data object; and

allowing the user to access the data object via the portal in response to determining that the user object is referenced by the data object.

2. The computer program product of claim 1 , wherein the portal is a web interface.

3. The computer program product of claim 2 , wherein the user indirectly accesses the multi-tenant on-demand database system via the web interface.

4. The computer program product of claim 2 , wherein at least one internal user object is stored for use by an internal user of the tenant in directly accessing the multi-tenant on-demand database system.

5. The computer program product of claim 1 , wherein the user object is stored by the multi-tenant on-demand database system.

6. The computer program product of claim 1 , wherein the user object stores a profile associated with a subscriber.

7. The computer program product of claim 1 , wherein the data object is owned by the tenant of the multi-tenant on-demand database system.

8. The computer program product of claim 1 , wherein the access includes reading the data object.

9. The computer program product of claim 1 , further comprising storing another data object owned by the user.

10. The computer program product of claim 9 , further comprising granting the tenant of the multi-tenant on-demand database system access to the other data object owned by the user.

11. The computer program product of claim 10 , wherein the access is granted via a reference stored in the other data object to a group associated with the tenant.

12. The computer program product of claim 1 , wherein the request for the set of data includes a request for the access to the data object, wherein the request includes a query for the data object.

13. The computer program product of claim 1 , wherein the user object is indirectly referenced in the data object.

14. A method, comprising:

providing a platform of a multi-tenant on-demand database system having hardware and software that is shared by multiple tenants of the multi-tenant on-demand database system;

providing, by the multi-tenant on-demand database system, multiple portals wherein each portal includes an interface specific to one of the multiple tenants of the multi-tenant on-demand database system by being branded for the one of the multiple tenants;

receiving, by the multi-tenant on-demand database system, a customization of the interface from the one of the multiple tenants of the multi-tenant on-demand database system;

storing, by the multi-tenant on-demand database system, the customization of the interface for the one of the multiple tenants;

registering a user associated with a tenant with the multi-tenant on-demand database system, wherein the registering is performed via the portal specific to the tenant such that the user appears to register with a service provided by the tenant;

storing a user object associated with the user, wherein the user object stores login information for use in authorizing a login to the portal by the user;

receiving, from the user via the portal, a request for a set of data associated with the multi-tenant on-demand database system;

identifying a data object of the multi-tenant on-demand database system that stores the set of data that is requested by the user;

determining whether the user object is referenced by the data object, wherein the user object is reference by the data object by storing a unique identifier of the user object in the data object; and

allowing the user to access the data object via the portal in response to determining that the user object is referenced by the data object.

15. An apparatus, comprising:

a processor executing instructions to perform the steps of:

providing a platform of a multi-tenant on-demand database system having hardware and software that is shared by multiple tenants of the multi-tenant on-demand database system;

providing, by the multi-tenant on-demand database system, multiple portals wherein each portal includes an interface specific to one of the multiple tenants of the multi-tenant on-demand database system by being branded for the one of the multiple tenants;

receiving, by the multi-tenant on-demand database system, a customization of the interface from the one of the multiple tenants of the multi-tenant on-demand database system;

storing, by the multi-tenant on-demand database system, the customization of the interface for the one of the multiple tenants;

registering a user associated with a tenant with the multi-tenant on-demand database system, wherein the registering is performed via the portal specific to the tenant such that the user appears to register with a service provided by the tenant;

storing a user object associated with the user, wherein the user object stores login information for use in authorizing a login to the portal by the user;

receiving, from the user via the portal, a request for a set of data associated with the multi-tenant on-demand database system;

identifying a data object of the multi-tenant on-demand database system that stores the set of data that is requested by the user;

determining whether the user object is referenced by the data object, wherein the user object is reference by the data object by storing a unique identifier of the user object in the data object; and

allowing the user to access the data object via the portal in response to determining that the user object is referenced by the data object.

Assignments (2)
CHANGE OF NAME Recorded Oct 25, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069268/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2015
From: WU, YONGSHENG; VIEIRA, ALFRED; JAIN, PUNIT
To: SALESFORCE.COM, INC.
Reel/Frame 035044/0376 →