Abstract: Computing systems and related methods are provided for performing database actions responsive to input gestures made by a user. One exemplary method involves a server identifying a gesture on a graphical user interface display on a client device, identifying a subset of displayed content on the graphical user interface display corresponding to the gesture, determining a database action based on at least one of characteristics associated with the gesture and the gestured content, performing the database action with respect to an object in a database, and updating the gestured content on the graphical user interface display to reflect performance of the database action.
Abstract: Systems and methods are provided for encouraging user engagement during a presentation to a group of users in attendance at a presentation. When presentation mode is enabled at a user system, the user system monitors its user input and output systems to determine whether any of the user input and output systems have been interacted with during the presentation mode. Each time a processing system of the user system determines that any of the user input and output systems have been interacted with during the presentation mode, it communicates a message to a server system, which computes, based on messages received from the user system, an engagement metric for a user of the user system. This engagement metric indicates a level of engagement of that user during the presentation.
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.
Type:
Grant
Filed:
September 18, 2015
Date of Patent:
January 2, 2018
Assignee:
salesforce.com, inc.
Inventors:
Timothy J. Barker, Ryan Lissack, Daniel L. Pletter
Abstract: Techniques are disclosed relating to an in-memory cache for web application data. In some embodiments, received transactions include multiple operations, including one or more cache operations to access the in-memory cache. In some embodiments, transactions are performed atomically. In some embodiments, data for the one or more cache operations is stored locally in memory by an application server outside of the in-memory cache until the transaction is successfully completed. This may improve performance and facilitate atomicity, in some embodiments.
Type:
Grant
Filed:
October 26, 2015
Date of Patent:
January 2, 2018
Assignee:
salesforce.com, inc.
Inventors:
Barathkumar Sundaravaradan, Christopher James Wall, Lawrence Thomas Lopez, Paul Sydell, Sreeram Duvur, Vijayanth Devadhar
Abstract: Systems and methods for sharing document annotations. A document is displayed on a graphical user interface and first annotation information for the document is created by a first user, the annotation information including first annotations and positioning information for positioning a first overlay window relative to the document. The first overlay window with the first annotations is displayed over the document wherein the document is visible through the first overlay window. The annotation information is sharable with other users, whereby a different user is able to display the overlay with annotations made by the first user over the document on a different system, and the annotations do not modify the underlying document.
Abstract: Computing systems, database systems, and related methods are provided for supporting dynamic validation workflows. One exemplary method involves a server of a database system receiving a graphical representation of a validation process from a client device coupled to a network, converting the graphical representation of the validation process into validation code, and storing the validation code at the database system in association with a database object type. Thereafter, the validation process is performed with respect to an instance of the database object type using the validation code in response to an action with respect to the instance of the database object type in a database of the database system. The action triggering the validation process can be based on user-configurable triggering criteria, and the validation process may generate user-configurable notifications based on one or more field values of the database object instance.
Abstract: An interaction manager assigns messages posted on a social media website to a support case in a database system. A support agent may tag a message posted by a user for directing to the support case. The interaction manger assigns the tagged message to the support case and activates a timer to track a time period. During the time period, the interaction manager assigns other messages posted by the same user to the support case. The interaction manager may reset the time period whenever the support agent replies to one of the messages posted by the user or the support agent tags another one of the user messages for directing to the support case. The interaction manager reduces the burden of having to manually review and manage every message posted on the social media website.
Abstract: A mechanism for providing in-line scheduling in an on-demand service in a database system is proved. The mechanism provides a multi-tenant database that stores client scheduling information, client customer contact information, and enables drag and drop event scheduling. In a multi-tenant database, a system for managing client customer contact information and event scheduling is established, which is useful for a tenant that is a salesperson or that employs salespersons. The multi-tenant database includes a combined view application that provides for the simultaneous display of a calendar view and list view of contact information. The multi-tenant database includes drag and drop functionality, allowing list view information to be dragged and dropped onto the calendar view for event scheduling. The ability of embodiments to provide drag and drop inline event scheduling can enable efficient calendaring of events by rapidly transferring relevant information onto a calendar.
Abstract: Methods and systems are provided for synchronizing and sharing data objects. The method includes configuring a set of access privileges, within a collaboration site, to define a sharing configuration to allow sharing of a set of data objects between a group of computing devices comprising a first computing device and second computing devices; updating a data object at the first computing device; receiving an updated data object at the collaboration site from a sync client of the first computing device in response to saving the updated data object; automatically synchronizing the updated data object at the collaboration site; and automatically pushing the updated data object from the collaboration site to the second computing devices to share the updated data object in accordance with the sharing configuration.
Abstract: In accordance with embodiments, there are provided mechanisms and methods for synchronizing a server and an on-demand database service. These mechanisms and methods for synchronizing a server and an on-demand database service can enable embodiments to synchronize a larger amount of data. The ability of embodiments to provide such feature can enable more effective synchronization of a user-level sharing entity database with a multi-user on-demand database service.
Abstract: In accordance with embodiments, there are provided mechanisms and methods for navigating content on a single page. These mechanisms and methods for navigating content on a single page can enable optimized navigation of displayed content, more efficient content processing and resource use, increased content display speed, etc.
Abstract: The technology disclosed relates to systems and methods usable for developing and testing dashboards with production data in non-production environments including a development server with APIs interposed between a development app and a production server, providing development access to production data before deployment into the production environment. The disclosed development server includes an app server that serves a development app in response to a request from a developer device; and exposes development APIs that mirror production APIs of the production server, and relay of messages between the development APIs and the production APIs. The development server replicates access to production server APIs relied on to retrieve and process time series data from a data store, the replication including access to development server APIs that mirror relative addressing of production APIs.
Abstract: A runtime analysis framework (RTA) stores a hierarchical list of input tags and a hierarchical list of output tags. The RTA stores defined vulnerabilities that include associated input tags and output tags. During runtime the software application may receive a request from a user system. The RTA assigns an input tag from the hierarchical list of input tags to an object associated with the request and assigns an output tag from the hierarchical list of output tags to a method generating a response to the request. The RTA identifies one of the defined vulnerabilities as a potential vulnerability if the assigned output tag and output tag associated the potential vulnerability are in a same subtree of the hierarchical list of output tags and the assigned input tag and the input tag associated with the potential vulnerability are in a same subtree of the hierarchical list of input tags.
Type:
Application
Filed:
June 8, 2016
Publication date:
December 14, 2017
Applicant:
salesforce.com, inc.
Inventors:
Sergey GORBATY, Travis SAFFORD, Xiaoran WANG
Abstract: During runtime of the software application, the runtime analysis framework may assign input tags to objects associated with the user requests. The input tags may identify the requests as potentially malicious and carry a security risk. The RTA framework then may assign sanitization tags to the objects identifying security checks performed on the objects during runtime. The RTA framework identifies output responses to the user requests that include the objects and compares the input tags assigned to the objects with any sanitization tags assigned to the objects. The RTA framework may identify the software application as susceptible to a security vulnerability when the input tags for the objects do not include corresponding sanitization tags.
Abstract: An email messaging system is provided that includes a first email message server, a second email message server and a distributed database system that stores a blockchain. The first email message server receives an email message from a first user system, and records a selected component of the received email message into a block of the blockchain. The selected component of the email message is added to the blockchain after validation by other participants in the blockchain. When the second email message server receives the email message from the first email message server, the second email message server can determine whether a component from the received email message matches the selected component that is stored in the block of the blockchain.
Abstract: The technology disclosed relates to managing processing of long tail task sequences in a stream processing framework. In particular, it relates to operating a computing grid that includes a plurality of physical threads which processes data from one or more near real-time (NRT) data streams for multiple task sequences, and queuing data from the NRT data streams as batches in multiple pipelines using a grid-coordinator that controls dispatch of the batches to the physical threads. The method also includes assigning a priority-level to each of the pipelines using a grid-scheduler, wherein the grid-scheduler initiates execution of a first number of batches from a first pipeline before execution of a second number of batches from a second pipeline, responsive to respective priority levels of the first and second pipelines.
Abstract: A conversation tool may display messages posted on a social media website. The conversation tool may receive selections of posts from the user interface to send associated reply messages and assign metadata for the selected posts to the associated reply messages. The conversation tool then may receive a request to display a conversation for a particular user. The conversation tool identifies the reply messages with assigned metadata associated with the user and identifies the posts associated with the identified reply messages. The conversation tool displays the identified posts with the identified reply messages as the message conversation. The conversation tool uses the reply messages as a trigger for identifying and tracking conversations between an agent and different users. The conversations allow the agent to more efficiently respond to and manage non-structured messages posted on social media websites.
Abstract: To deliver up-to-date, coherent user data to applications upon request, the disclosed technology includes systems and methods for caching data and metadata after it has been synchronously loaded—for future retrieval with a page load time close to zero milliseconds. To provide this experience, data needs to be stored as locally to a user as possible, in the cache on the local device or in an edge cache located geographically nearby, for use in responding to requests. Applications which maintain caches of API results can be notified of their invalidation, and can detect the invalidation, propagate the invalidation to any further client tiers with the appropriate derivative type mapping, and refresh their cached values so that clients need not synchronously make the API requests again—ensuring that the client has access to the most up-to-date copy of data as inexpensively as possible—in terms of bandwidth and latency.