scispace - formally typeset
Search or ask a question

Showing papers by "Salesforce.com published in 2007"


Patent
Craig Weissman1
24 Sep 2007
TL;DR: In this paper, the authors provided mechanisms and methods for allowing access to developed applications via a multi-tenant on-demand database service, in a controlled environment, in order to provide additional control over the development process as well as the access of such developed applications.
Abstract: In accordance with embodiments, there are provided mechanisms and methods for allowing access to developed applications via a multi-tenant on-demand database service, in a controlled environment. These mechanisms and methods for providing such access can enable embodiments to provide additional control over the development process as well as the access of such developed applications. The ability of embodiments to provide such additional control may lead to an improved application development framework, etc.

474 citations


Patent
02 Oct 2007
TL;DR: In this article, a key for a requested custom object is identified and then used so that only an appropriate portion of a custom entity share table is searched to locate access information, and the appropriate and allowed data is sent to the user.
Abstract: In embodiments, methods and systems for controlling access to custom objects are provided. These techniques for controlling access to custom objects can enable embodiments to utilize a key for the protection of the security of data that is to remain private while not compromising efficiency of a query. The key for a requested custom object is identified and then used so that only an appropriate portion of a custom entity share table is searched to locate access information. It is then determined whether the user can access at least a portion of the custom object, and the appropriate and allowed data is sent to the user.

354 citations


Patent
03 Oct 2007
TL;DR: In this paper, the authors present a system for installing and upgrading application packages to an application platform by uploading packages to a directory by developing users (developers) for installation by subscribing users (subscribers).
Abstract: Systems and methods for installing and upgrading application packages to an application platform. Application packages may be uploaded to a directory by developing users (developers) for installation by subscribing users (subscribers). Alternatively, a developer may send identification information to a subscribing user to allow that user to access and install that application package created by the developer. Application packages may also be upgraded. If a developer changes the original source package, a subscriber can choose to pull into their organization the change(s) made by the publisher while preserving any data rows the subscriber had created since first importing the package.

188 citations


Patent
Margaret Law1
31 Jan 2007
TL;DR: In this paper, a user is provided with a data representation covered by a relationship and a report representation that is expected to be generated by the report type defined by the user defined relationship is also provided.
Abstract: In an embodiment, a user is provided with a data representation covered by a relationship. For example, the data representation may include a collection of data objects representations. In an embodiment, the data object representations are arranged in a manner so as to indicate rows or records of different data objects that are associated with one another. In an embodiment, portions of the data objects in the collection are indicated as representing the data that is covered by the relationship. In an embodiment, a report representation that is expected to be generated by the report type defined by the user defined relationship is also provided. In an embodiment, a correspondence in indicated between elements of the report representation (e.g., columns in a thumbnail sketch of a report) and the data object representations (e.g., ovals in a Venn diagram).

122 citations


Patent
04 Jun 2007
TL;DR: In this paper, the authors provide mechanisms and methods for pushing data to a plurality of mobile devices of a group of users of an organization or the entire organization. But they do not provide a mechanism to push data to all the mobile devices.
Abstract: Mechanisms and methods for pushing data to a plurality of devices of a plurality of organizations are provided. Queries are handled in bulk for a group of users of an organization or the entire organization, and limited results are sent to a middle tier server between the database system and the user devices. These mechanisms and methods for pushing data to a plurality of devices enable an efficient and transparent transfer of data to user devices. This efficient and transparent transfer of data can enable mobile devices of many organizations to seamlessly have the data that is required to perform business.

94 citations


Patent
31 Oct 2007
TL;DR: In this paper, the authors present methods and systems for improving a query in a database system, which can enable greater contextual knowledge about the types and use of data in tables underlying a relational database to be employed.
Abstract: In embodiments, methods and systems for improving a query in a database system are provided. These method and system embodiments can enable greater contextual knowledge about the types and use of data in tables underlying a relational database to be employed. By employing contextual information, embodiments can make recommendations to a query optimizer of a database system based upon knowledge of the data and/or application gathered. Embodiments can be useful in improving query performance in multi- tenant database systems.

90 citations


Proceedings Article
Pat Helland1
01 Jan 2007
TL;DR: In this paper, the authors explore and name some of the practical approaches used in the implementation of large-scale mission-critical applications in a world that rejects distributed transactions, including the management of fine-grained pieces of application data that may be repartitioned over time as the application grows.
Abstract: This article explores and names some of the practical approaches used in the implementation of large-scale mission-critical applications in a world that rejects distributed transactions. Topics include the management of fine-grained pieces of application data that may be repartitioned over time as the application grows. Design patterns support sending messages between these repartitionable pieces of data.

90 citations


Patent
09 May 2007
TL;DR: In this paper, a method and system is provided having a webpage for posting ideas integrated with on-demand customer relationship management, where the website associated with the page may be stored in a tenant area of a multitenant database to facilitate maintaining multiple websites for different tenants.
Abstract: A method and system is provided having a webpage for posting ideas integrated with on-demand customer relationship management. The website associated with the page may be stored in a tenant area of a multitenant database to facilitate maintaining multiple websites for different tenants. A webpage may be sent to a client that includes a plurality of sections, each including at least one idea related to an improvement of a product. Votes may be received for at least one of the plurality of sections. A determination may be made of a Total Qualitative Management Criterion (TQMC) for each section of the website, by applying an increasing function of time to newer votes to enable relative weightings of older votes to diminish over time without requiring computing a decaying time function to determine weightings for each vote. A product modification may be determined based on the TQMC for each section.

79 citations


Patent
15 Aug 2007
TL;DR: In this article, the authors provide mechanisms and methods for pushing data associated with documents that are being tracked, in an on-demand service, which can enable subscriptions to elements associated with the documents being shared.
Abstract: In accordance with embodiments, there are provided mechanisms and methods for pushing data, which maybe associated with documents that are being tracked, in an on-demand service. These mechanisms and methods for pushing data in an on-demand service can enable subscriptions to elements associated with the documents being shared. As a result of the subscription the user may be notified that a document associated with the subscription has been changed (e.g., altered). In an embodiment, the subscription may be forced on a user.

78 citations


Patent
Craig Weissman1, Steven Tamm1, Simon Z. Fell1, Simon Wong1, Steve Fisher1 
23 Feb 2007
TL;DR: In this article, a set of rows that can be saved from the known start state without fault is determined, and a subset of successful rows is found, which are able to provide assurance that no side effects (i.e., code or operations triggered by saving of a data to a particular location) have been executed on behalf of any of the failed rows (side effects from custom PL/SOQL code included).
Abstract: Embodiments may recover from faults by forming a new set of rows by removing rows associated with faulting save operations and repeating the saving and forming operations using the new set of rows until a set of rows that can be saved from the known start state without fault is determined. When the subset of successful rows is found, embodiments are able to provide assurance that no side effects (i.e., code or operations triggered by saving of a data to a particular location) have been executed on behalf of any of the failed rows (side effects from custom PL/SOQL code included) by deferring execution of triggers until an entire set of rows can be saved and committed.

50 citations


Patent
20 Jul 2007
TL;DR: In this article, the authors provided mechanisms and methods for storing documents that are being tracked in an on-demand service, which can enable the sharing of documents and the storing of the documents in association with a tag.
Abstract: In accordance with embodiments, there are provided mechanisms and methods for storing documents that are being tracked in an on-demand service These mechanisms and methods for storing documents in an on-demand service can enable embodiments to provide the sharing of documents and the storing of the documents in association with a tag The ability of embodiments to provide the sharing of documents and the storing can enable an efficient searching for a shared document In an embodiment, the shared document is categorized upon being stored

Patent
17 Jul 2007
TL;DR: In this paper, the authors provided mechanisms and methods for tracking documents in an on-demand service, which can enable the sharing of documents and the tracking of whether one of the shared documents was changed.
Abstract: In accordance with embodiments, there are provided mechanisms and methods for tracking documents in an on-demand service. These mechanisms and methods for tracking documents in an on-demand service can enable embodiments to provide the sharing of documents and the tracking of whether one of the shared documents was changed. The ability of embodiments to provide the sharing of documents and the tracking can enable a safeguard that a user knows whether the document that they have in their possession is the most recent version. In an embodiment, the shared documents are stored in a document management storage. In an embodiment, each file has an ID that includes version information for checking whether the document is the most recent version. In an embodiment, an application is downloaded onto the user system that automatically upon opening a document checks whether a document is the most recent version.

Patent
19 Dec 2007
TL;DR: The ability to store and retrieve data objects by relationship(s) enables more efficient searching of database objects and removal of constraints on the number of relationships that would otherwise exist when objects are stored in a database as discussed by the authors.
Abstract: Systems and methods for storing relationship information for an information object in a database system. Methods and mechanisms for storing relationship information for information objects enable database systems to store and retrieve data objects having an arbitrary number of relationships with one another. This ability to store and retrieve data objects by relationship(s) enables more efficient searching of database objects and removal of constraints on the number of relationships that would otherwise exist when objects are stored in a database.

Patent
16 Jul 2007
TL;DR: In this article, the authors provided mechanisms and methods for providing a client access to an external service via an application services platform, without requiring the client to access the external service separately with respect to the application service platform.
Abstract: In accordance with embodiments, there are provided mechanisms and methods for providing a client access to an external service via an application services platform. These mechanisms and methods for providing a client access to an external service via an application services platform can enable embodiments to provide effective access to such external service without necessarily forcing the client to access the external service separately with respect to the application services platform. The ability of embodiments to provide such technique can enable the integration of an external service with an application services platform, thus allowing the client to access the external service in a more effective manner.

Proceedings ArticleDOI
C. Fry1, S. Greene1
13 Aug 2007
TL;DR: This experience report discusses why the Salesforce.com team chose to move to an agile process, how the transformation was accomplished, and what the team learned from applying agile at scale.
Abstract: Salesforce.com has recently completed an agile transformation of a two hundred person team within a three month window. This is one of the largest and fastest "big-bang" agile rollouts. This experience report discusses why we chose to move to an agile process, how we accomplished the transformation and what we learned from applying agile at scale.

Patent
23 Dec 2007
TL;DR: In this paper, the user interface (UI) receives from an end user a selection of display criteria configured by an administrative user, and the data from a dataset may be selected and/or ordered for displaying according to the criterion selected by the end user.
Abstract: In embodiments there are provided techniques for flexibly displaying information into one or more columns. One technique includes the user interface (UI) receiving from an end user a selection of display criteria configured by an administrative user. Data from a dataset may be selected and/or ordered for displaying according to the criterion selected by the end user. Alternative embodiments may provide displaying positive and negative data, sorting, and fixed locations.

Patent
13 Apr 2007
TL;DR: In this paper, a method for automatically reconfiguring a webpage is provided, where each section may include at least one aspect related to a particular topic, such as customer support and an option for casting a vote for a topic posted.
Abstract: A method for automatically reconfiguring a webpage is provided. The web page may include a plurality of sections, and each section may include at least one aspect related to a particular topic, such as customer support and an option for casting a vote for a topic posted. A vote may be received vote for at least one of the plurality of sections. A Total Qualitative Management Criterion (TQMC) may be determined for each section of the website. An increasing function of time may be applied to newer votes to enable relative weightings of older votes to diminish over time without requiring computing a decaying time function to determine weightings for each vote. The webpage may be reconfigured based on ranking the sections according to the TQMC for each section.

Patent
Craig Weissman1, Steven Tamm1, Simon Z. Fell1, Simon Wong1, Steve Fisher1, Scott Hansma1 
23 Feb 2007
TL;DR: In this paper, the authors provide mechanisms and methods for saving multiple rows together through an object relational mapping layer to a database, which can enable detecting faults in the save operation(s) and recover.
Abstract: In accordance with embodiments, there are provided mechanisms and methods for saving multiple rows together through an object relational mapping layer to a database. These mechanisms and methods for saving multiple rows together can enable embodiments to detect faults in the save operation(s) and recover. The ability of embodiments to detect faults in the save operation(s) and recover can enable embodiments to provide a robust forgiving published API that saves a set of rows together whenever possible.

Patent
18 Dec 2007
TL;DR: In this article, the authors present a technique for creating a duplicate database instance on which database testing may be performed without impacting other organizations' access to their data in the database or corrupting an organization's data.
Abstract: Systems and methods that create a duplicate database instance on which database testing may be performed The techniques for creating a test database instance enable database testing to proceed without impacting other organization's access to their data in the database or corrupting an organization's data The ability to allow one organization (“org”) to test their portion of a database without interrupting other organizations from using their portions of the database enables a database system to support more than one organization as tenants

Patent
31 Aug 2007
TL;DR: In this paper, the authors provided mechanisms and methods for selecting amongst a plurality of processes to send a message (e.g., a message for updating an endpoint system, etc.).
Abstract: In accordance with embodiments, there are provided mechanisms and methods for selecting amongst a plurality of processes to send a message (e.g. a message for updating an endpoint system, etc.). These mechanisms and methods for selecting amongst a plurality of processes to send a message can enable embodiments to utilize more than one queue for sending such message. The ability of embodiments to provide such multi-process feature can, in turn, prevent latency that typically accompanies a mounting number of messages.

Patent
Ron Hess1, Steven Tamm1, David Brooks1, Amy Palke1, Evan Michael Moses1 
03 Oct 2007
TL;DR: In this article, the authors present a system for managing license objects to applications in an application platform database system, which includes associating an LMA with an application installed to the application platform by a developer, notifying a license manager to which the license manager application is installed of the installation of the application to the AP, and managing subscriber access to the program using the license Manager application.
Abstract: Systems and methods are provided for managing license objects to applications in an application platform database system. The method includes associating an LMA with an application installed to the application platform by a developer, notifying a license manager to which the license manager application is installed of the installation of the application to the application platform, and managing subscriber access to the application using the license manager application.

Patent
08 Mar 2007
TL;DR: In this paper, a site is maintained that allows consumers to suggest, comment on and/or vote on ideas about a product or service, and the votes may be tallied into an overall Total Qualitative Management Criterion (TQMC) for the idea or article.
Abstract: A site is maintained that allows consumers to suggest, comment on and/or vote on ideas about a product or service. Some site embodiments can enable sponsoring organizations (customers) to maintain their own sites for displaying articles and allowing multiple viewers to vote on these articles. Site information for multiple tenants may be maintained in a common multi-tenant system. Votes may indicate a variety of different types of criteria, such as the importance, correctness, and/or user preference for the articles or other Qualitative Management Criteria (QMC) for determining the merit of an idea or an article. The votes may be tallied into an overall Total Qualitative Management Criterion (TQMC) for the idea or article. Newer votes may be adjusted according to an increasing function of time to enable the relative weightings of the older votes to diminish over time without having to compute a decaying time function to determine weightings for each vote.

Proceedings ArticleDOI
Steve Fisher1
20 May 2007
TL;DR: This talk discusses the technical architecture of the Apex platform, the first on-demand platform to encapsulate core computing services, allowing application developers to focus on innovation and value, and not on reinventing the wheel.
Abstract: On-demand computing has transformed enterprise software, lowering risk and cost while increasing user adoption and customer success. To be successful, an application must be designed for on-demand from the ground-up, including core architectural elements such as multitenancy, availability, performance, security, metadata-driven customization, integration via web services, etc. As with any new paradigm, initial applications must design and implement all these core attributes, but ultimately platforms emerge that encapsulate core computing services, allowing application developers to focus on innovation and value, and not on reinventing the wheel. With the Apex platform, salesforce.com has delivered the first on-demand platform, allowing developers to easily develop and deliver the next generation of on-demand applications. In this talk, Steve Fisher discusses the technical architecture of the Apex platform.

Patent
01 Aug 2007
TL;DR: In this article, the authors present mechanisms and methods for applying a group of instructions to metadata in the context of an on-demand database service, which can enable the authors to ensure that all or none of the operations corresponding to the grouped instructions are performed.
Abstract: In accordance with embodiments, there are provided mechanisms and methods for applying a group of instructions to metadata in the context of an on-demand database service. These mechanisms and methods for applying a group of instructions to metadata can enable embodiments that ensure that “all or none” of the operations corresponding to the grouped instructions are performed. The ability of embodiments to provide such feature can prevent a scenario where only a portion of a desired effect is accomplished which, in turn, may complicate any effort to undo the same.

Proceedings ArticleDOI
28 Apr 2007
TL;DR: This Special Interest Group (SIG) will share industry best practices, brainstorm alternative solutions, as well as compare and contrast usability engineering methods for capturing usability problems that persist over time.
Abstract: In this Special Interest Group (SIG) the attendees will discuss methods for capturing usability data over time. Specifically, we will share industry best practices, brainstorm alternative solutions, as well as compare and contrast usability engineering methods for capturing usability problems that persist over time. We will also explore why longitudinal research is not a more common UCD practice.

Patent
01 Aug 2007
TL;DR: In this article, the authors provided mechanisms and methods for asynchronously performing an operation on metadata in the context of an on-demand database service, which can enable the performance of a larger number of operations on metadata without necessarily interrupting the ability of the subscriber to perform other operations using the on-Demand database service.
Abstract: In accordance with embodiments, there are provided mechanisms and methods for asynchronously performing an operation on metadata in the context of an on-demand database service. These mechanisms and methods for asynchronously performing an operation on metadata can enable embodiments to allow a subscriber to perform other database service operations, while the aforementioned operation is being performed on the metadata. The ability of embodiments to provide such feature can enable the performance of a larger number of operations on metadata without necessarily interrupting the ability of the subscriber to perform other operations using the on-demand database service.

Patent
05 Jul 2007
TL;DR: In this paper, a message interchange network for exchanging application-level messages between services, which are located outside the message-interchange network, is provided, where correlation information regarding each applicationlevel message that is received into message interchange networks is retained.
Abstract: Disclosed are methods and apparatus for managing services within a computer network. In one embodiment, a message interchange network for exchanging application-level messages between services, which are located outside the message interchange network, is provided. At the message interchange network, a plurality of application-level messages, which each specify which one or more receiving services are to receive the each application-level message, are received. Each received application-level message is forward towards the one or more receiving services. Correlation information regarding each application-level message that is received into message interchange network is retained. The application-level messages are sent between pairs of the services, and the retained correlation information for each application-level message pertains to each application-level message and any other application-level messages related to the each application-level message. A query can then be received, at the message interchange network from a first service, to search the retained correlation information for specific one or more portions of the retained correlation information. A response to the query, which includes the specific one or more portions of the retained correlation information, is sent to the first service.

Patent
08 Mar 2007
TL;DR: In this article, a site is maintained that allows consumers to suggest, comment on and/or vote on ideas about a product or service, and the votes may be tallied into an overall Total Qualitative Management Criterion (TQMC) for the idea or article.
Abstract: A site is maintained that allows consumers to suggest, comment on and/or vote on ideas about a product or service. Some site embodiments can enable sponsoring organizations (customers) to maintain their own sites for displaying articles and allowing multiple viewers to vote on these articles. Site information for multiple tenants may be maintained in a common multi-tenant system. Votes may indicate a variety of different types of criteria, such as the importance, correctness, and/or user preference for the articles or other Qualitative Management Criteria (QMC) for determining the merit of an idea or an article. The votes may be tallied into an overall Total Qualitative Management Criterion (TQMC) for the idea or article. Newer votes may be adjusted according to an increasing function of time to enable the relative weightings of the older votes to diminish over time without having to compute a decaying time function to determine weightings for each vote.

Neelie Kroes1
31 Aug 2007
TL;DR: Face a la mondialisation, l'Europe a le choix entre une attitude defensive, consistant a resister au changement, and une attitude dynamique, saisissant les opportunites que la scene internationale a a…
Abstract: Face a la mondialisation, l'Europe a le choix entre une attitude defensive, consistant a resister au changement, et une attitude dynamique, saisissant les opportunites que la scene internationale a a…