ACTIVITY STREAM BASED COLLABORATION
20230216770 · 2023-07-06
Assignee
Inventors
Cpc classification
H04L67/02
ELECTRICITY
International classification
Abstract
An activity stream based interaction model is disclosed. To cause a desired application level action to be performed at a remote system, such as automatically retrieving and displaying a document in a viewer or other portion of a user interface at the remote system, a text-based tag, such as a hash tag, is inserted into an activity stream. The activity stream is sent to the remote system, which is configured to respond to the text-based tag by performing, at least in part automatically, the corresponding application level action.
Claims
1. A system, comprising: a communication interface; and a processor coupled to the communication interface and configured to: receive communication messages via the communication interface, the communication messages between and amongst a plurality of users collaborating in a workflow; detect a workflow tag in one of the communication messages, the workflow tag comprising a reference to the workflow and a workflow command; and in response to detecting the workflow tag, identifying the workflow and performing the workflow command; wherein the tag is generated by one of the collaborating users issuing a command corresponding to the workflow.
2. The system of claim 1, wherein in response to the collaborating user issuing the command, inserting the workflow tag into an activity stream, the activity stream comprising the communication messages.
3. The system of claim 2, wherein the activity stream further comprises an event, the processor further configured to: detect the event in the activity stream; and in response to detecting the event, notify or prompt one or more of the users.
4. The system of claim 1, wherein the workflow tag corresponds to a workflow table, the workflow table comprising an action associated with the workflow command.
5. The system of claim 1, wherein the workflow tag comprises an object identifier, the object identifier identifying one of: a specified document, a specified user or a specified command.
6. The system of claim 5, wherein the object identifier identifies a specified user and performing the workflow command comprises: adding the specified user to the plurality of users collaborating in the workflow or deleting the specified user from the plurality of users collaborating in the workflow.
7. The system of claim 5, wherein the object identifier identifies a specified document and performing the workflow command comprises: performing an action on the specified document.
8. The system of claim 5, wherein the object identifier identifies a specified command and performing the workflow command comprises: performing the specified command.
9. A method, comprising: receiving communication messages via a communication interface executing on a processor, the communication messages between and amongst a plurality of users collaborating in a workflow; detecting a workflow tag in one of the communication messages, the workflow tag comprising a reference to the workflow and a workflow command; and in response to detecting the workflow tag, identifying the workflow and performing the workflow command; wherein the tag is generated by one of the collaborating users issuing a command corresponding to the workflow.
10. The method of claim 8, further comprising, in response to the collaborating user issuing the command, inserting the workflow tag into an activity stream, the activity stream comprising the communication messages.
11. The method of claim 9, wherein the activity stream further comprises an event, the method further comprising: detecting the event in the activity stream; and in response to detecting the event, notifying or prompting one or more of the users.
12. The method of claim 8, wherein the workflow tag corresponds to a workflow table, the workflow table comprising an action associated with the workflow command.
13. The method of claim 8, wherein the workflow tag comprises an object identifier, the object identifier identifying one of: a specified document, a specified user or a specified command.
14. The method of claim 12, wherein the object identifier identifies a specified user and performing the workflow command comprises: adding the specified user to the plurality of users collaborating in the workflow or deleting the specified user from the plurality of users collaborating in the workflow.
15. The method of claim 12, wherein the object identifier identifies a specified document and performing the workflow command comprises: performing an action on the specified document.
16. The method of claim 12, wherein the object identifier identifies a specified command and performing the workflow command comprises: performing the specified command.
17. A computer program product comprising a non-transitory computer readable medium storing computer instructions executable to: receive communication messages via a communication interface executing on a processor, the communication messages between and amongst a plurality of users collaborating in a workflow; detect a workflow tag in one of the communication messages, the workflow tag comprising a reference to the workflow and a workflow command; and in response to detecting the workflow tag, identify the workflow and performing the workflow command; wherein the tag is generated by one of the collaborating users issuing a command corresponding to the workflow.
18. The computer program product of claim 17, the computer instructions further executable to, in response to the collaborating user issuing the command, insert the workflow tag into an activity stream, the activity stream comprising the communication messages.
19. The computer program product of claim 17, wherein the workflow tag corresponds to a workflow table, the workflow table comprising an action associated with the workflow command.
20. The computer program product of claim 17, wherein the workflow tag comprises an object identifier, the object identifier identifying one of: a specified document, a specified user or a specified command.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
[0005]
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
DETAILED DESCRIPTION
[0013] The invention can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention. Unless stated otherwise, a component such as a processor or a memory described as being configured to perform a task may be implemented as a general component that is temporarily configured to perform the task at a given time or a specific component that is manufactured to perform the task. As used herein, the term ‘processor’ refers to one or more devices, circuits, and/or processing cores configured to process data, such as computer program instructions.
[0014] A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
[0015] An interaction model and supporting technologies to enable a remote user to exercise a degree of control over an application at a target system, via text-based or other control tags typed or otherwise entered into an activity stream by the remote user at the remote user's system, are disclosed. In various embodiments, the remote user enters into an activity stream a predefined hash tag that the target system is configured to recognize and respond to by performing an associated application-level action. For example, in some embodiments, an enterprise content management user interface application at the target system is configured to recognize in an activity stream a hash (or other) tag such as “#doc.view:document1” and to respond to the tag by performing (or initiating) an operation to retrieve “document1” from a shared repository and display same in a viewer widget (or other application-associated display element) at the target system, as described more fully below. In some embodiments, non-human users, such as backend servers, may be configured to recognize and respond to hash tags inserted in an activity stream and/or to insert such tags into an activity stream, for example to send notifications and/or to prompt human or other participants in the activity stream to perform associated actions.
[0016] In various embodiments, a user of the system that receives the activity stream has the ability to control, e.g., through configuration settings, responses to dialogs, etc., the degree to which control of the client interface is ceded to the remote system/user. For example, in some embodiments, a hash (or other) tag may be used to provide the ability for content identified in the tag, or determined automatically from an applicable content, such as a document, to be retrieved automatically from a repository and displayed in a viewer or other window or portion of a user interface at the client, and in some such embodiments the user at the receiving system is prompted to indicate whether the user wants the system to respond to the tag by retrieving and displaying the document.
[0017]
[0018] In various embodiments, clients such as clients 102, 104, and 106 have installed enterprise content management client software, JavaScript or other browser-executed code, and/or other client side software configured to facilitate collaboration using control tags inserted by users into an activity or other communication stream system to other collaboration participants. In various embodiments, participants may include one or both of human users of client systems such as clients 102, 104, and 106, and backend processes and/or servers such as enterprise content management server 110 and business process management server 114. In various embodiments, a participant injects a hash tag or other control tag into an activity stream, for example by entering the tag in a text entry field of an activity stream interface. At a target system that receives the activity stream, the presence of the hash tag in the activity stream is detected and an application level operation is performed in response. For example, in one use of techniques disclosed herein, a user may include in an activity stream a hash tag to cause a document or other content to be retrieved from a shared repository, such as repository 112, and displayed (or offered for display) automatically at the receiving system. In some embodiments, components of an enterprise content management client user interface software recognize and act in response to presence of the hash tag in the activity stream.
[0019]
[0020] In some embodiments, a local user of user interface 202 is provided with a mechanism to configure the behavior of user interface 202 with respect to control tags as described herein. For example, a user may be provided with an ability to determine whether content indicated in control tags is retrieved and displayed automatically, or instead only after the user has indicated the user desires that behavior in a particular instance, for example by choosing an option in a dialog box or other control displayed upon receipt and recognition of a content retrieval control tag.
[0021]
[0022]
[0023]
[0024] Note that in the case of an activity stream monitored by a plurality of users, human or otherwise, recipients of the stream each may be configured to respond, potentially in its own way, to a received hash tag or other control tag. For examples, each of a plurality of users may receive a control tag, and their respective systems may in response retrieve and display the same content object as indicated by the control tag included in the activity stream.
[0025]
[0026]
[0027]
[0028] Using techniques disclosed herein, a human or machine participant in a collaboration is able to control an application running at a remote system, without providing complete access to and/or control over the remote system. In this way, a potentially useful degree of control may be provided without the security concerns that might be present if more complete control over the target system were provided.
[0029] Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.