Enabling real-time synchronization of data between web clients with a combination of protocols
Various embodiments are disclosed for implementing a collaborative draft which allows several users to edit the same object at the same time, in a collaborative manner. A first computing device may receive, via a first protocol, an indication of a modification made to a first database object on a second computing device. Next, the indication of the modification made to the first database object is displayed in a user interface on the first computing device of a first user. Content associated with the modification is retrieved from the second computing device by the first computing device via a second protocol responsive to determining that access rights of the first user permit the content to be displayed to the first user, where the second protocol is different from the first protocol. Then, the content associated with the modification to the first database object is displayed by the first computing device.
1 . A system comprising:
at least one processor; and
at least one memory storing instructions that, when executed by the at least one processor, cause operations comprising:
receiving, by a first computing device via a first protocol, an indication of a modification made to a first database object on a second computing device, wherein the first protocol is a two-way protocol for exchanging process data;
displaying, in a user interface on the first computing device of a first user, the indication of the modification made to the first database object;
retrieving, from the second computing device by the first computing device via a second protocol, content associated with the modification responsive to determining that access rights of the first user permit the content to be displayed to the first user, wherein the second protocol is a one-way protocol for exchanging business data while ensuring the access rights are properly applied and is different from the first protocol; and
displaying, in the user interface on the first computing device, the content associated with the modification made to the first database object.
2 . The system of claim 1 , wherein responsive to determining that the access rights of the first user do not permit the content to be displayed to the first user, the operations further comprise displaying, in the user interface on the first computing device, a second indication that the content is not allowed to be displayed.
3 . The system of claim 1 , wherein the first protocol is a websocket protocol, and wherein the second protocol is an OData protocol.
4 . The system of claim 1 , wherein the operations further comprise sending the indication of the modification to one or more other computing devices corresponding to one or more other users who are also editing the first database object.
5 . The system of claim 1 , wherein a message sent via the first protocol comprises an identifier and description of a user who initiated the message.
6 . The system of claim 5 , wherein the message sent via the first protocol comprises an action name corresponding to an action which triggered the message.
7 . A computer-implemented method comprising:
receiving, by a first computing device via a first protocol, an indication of a modification made to a first database object on a second computing device, wherein the first protocol is a two-way protocol for exchanging process data;
displaying, in a user interface on the first computing device of a first user, the indication of the modification made to the first database object;
retrieving, from the second computing device by the first computing device via a second protocol, content associated with the modification responsive to determining that access rights of the first user permit the content to be displayed to the first user, wherein the second protocol is a one-way protocol for exchanging business data while ensuring the access rights are properly applied and is different from the first protocol; and
displaying, in the user interface on the first computing device, the content associated with the modification made to the first database object.
8 . The computer-implemented method of claim 7 , wherein responsive to determining that the access rights of the first user do not permit the content to be displayed to the first user, the method further comprising displaying, in the user interface on the first computing device, a second indication that the content is not allowed to be displayed.
9 . The computer-implemented method of claim 7 , wherein the first protocol is a websocket protocol, and wherein the second protocol is an OData protocol.
10 . The computer-implemented method of claim 7 , further comprising sending the indication of the modification to one or more other computing devices corresponding to one or more other users who are also editing the first database object.
11 . The computer-implemented method of claim 7 , wherein a message sent via the first protocol comprises an identifier and description of a user who initiated the message.
12 . The computer-implemented method of claim 11 , wherein the message sent via the first protocol comprises an action name corresponding to an action which triggered the message.
13 . A non-transitory computer readable storage medium storing instructions, which when executed by at least one data processor, result in operations comprising:
receiving, by a first computing device via a first protocol, an indication of a modification made to a first database object on a second computing device, wherein the first protocol is a two-way protocol for exchanging process data;
displaying, in a user interface on the first computing device of a first user, the indication of the modification made to the first database object;
retrieving, from the second computing device by the first computing device via a second protocol, content associated with the modification responsive to determining that access rights of the first user permit the content to be displayed to the first user, wherein the second protocol is a one-way protocol for exchanging business data while ensuring the access rights are properly applied and is different from the first protocol; and
displaying, in the user interface on the first computing device, the content associated with the modification made to the first database object.