Skip to content

Commit 495a2f8

Browse files
Merge remote-tracking branch 'remotes/origin/hotfix/hotfix-v26.2.4'
2 parents 2fdc13a + af9f79f commit 495a2f8

File tree

120 files changed

+946
-90
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+946
-90
lines changed

ej2-angular-toc.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -902,9 +902,10 @@
902902
<li><a href="/ej2-angular/document-editor/server-deployment/how-to-publish-documenteditor-web-api-application-in-azure-app-service-from-visual-studio">How to Publish DocumentEditor Web API Application in Azure App Service from Visual Studio</a></li>
903903
</ul>
904904
</li>
905-
<li>Collaborative Editing
905+
<li><a href="/ej2-angular/document-editor/collaborative-editing/overview">Collaborative Editing</a>
906906
<ul>
907-
<li><a href="/ej2-angular/document-editor/collaborative-editing/using-dot-net">Using ASP.NET Core</a></li>
907+
<li><a href="/ej2-angular/document-editor/collaborative-editing/using-redis-cache-asp-net-core">Using Redis in ASP.NET Core</a></li>
908+
<li><a href="/ej2-angular/document-editor/collaborative-editing/using-dot-net">Using Database in ASP.NET Core</a></li>
908909
<li><a href="/ej2-angular/document-editor/collaborative-editing/using-java">Using Java</a></li>
909910
</ul>
910911
</li>

ej2-angular/code-snippet/common/fluent2-cs1/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
"@angular/platform-browser-dynamic": "17.1.2",
1717
"@syncfusion/ej2-base": "*",
1818
"@syncfusion/ej2-angular-buttons": "*",
19+
"@syncfusion/ej2-angular-base": "*",
20+
"@syncfusion/ej2-buttons": "*",
1921
"@angular/animations": "17.1.2",
2022
"@angular/common": "17.1.2",
2123
"@angular/compiler": "17.1.2",

ej2-angular/code-snippet/common/fluent2-cs2/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
"@angular/platform-browser-dynamic": "17.1.2",
1717
"@syncfusion/ej2-base": "*",
1818
"@syncfusion/ej2-angular-buttons": "*",
19+
"@syncfusion/ej2-angular-base": "*",
20+
"@syncfusion/ej2-buttons": "*",
1921
"@angular/animations": "17.1.2",
2022
"@angular/common": "17.1.2",
2123
"@angular/compiler": "17.1.2",

ej2-angular/code-snippet/common/material3-cs1/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
"@angular/platform-browser-dynamic": "17.1.2",
1717
"@syncfusion/ej2-base": "*",
1818
"@syncfusion/ej2-angular-buttons": "*",
19+
"@syncfusion/ej2-angular-base": "*",
20+
"@syncfusion/ej2-buttons": "*",
1921
"@angular/animations": "17.1.2",
2022
"@angular/common": "17.1.2",
2123
"@angular/compiler": "17.1.2",

ej2-angular/code-snippet/common/material3-cs2/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
"@angular/platform-browser-dynamic": "17.1.2",
1717
"@syncfusion/ej2-base": "*",
1818
"@syncfusion/ej2-angular-buttons": "*",
19+
"@syncfusion/ej2-angular-base": "*",
20+
"@syncfusion/ej2-buttons": "*",
1921
"@angular/animations": "17.1.2",
2022
"@angular/common": "17.1.2",
2123
"@angular/compiler": "17.1.2",
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
layout: post
3+
title: Collaborative Editing in Angular Document editor control | Syncfusion
4+
description: Learn about collaborative editing in Syncfusion Angular Document editor control of Syncfusion Essential JS 2 and more.
5+
platform: ej2-angular
6+
control: Collaborative Editing
7+
publishingplatform: ##Platform_Name##
8+
documentation: ug
9+
domainurl: ##DomainURL##
10+
---
11+
12+
# Collaborative Editing
13+
14+
Allows multiple users to work on the same document simultaneously. This can be done in real-time, so that collaborators can see the changes as they are made. Collaborative editing can be a great way to improve efficiency, as it allows team members to work together on a document without having to wait for others to finish their changes.
15+
16+
## Prerequisites
17+
18+
- *Real-time Transport Protocol*: This protocol facilitates instant communication between clients and the server, ensuring immediate updates during collaborative editing.
19+
- *Distributed Cache or Database*: Used to temporarily store the queue of editing operations.
20+
21+
### Real time transport protocol
22+
23+
- *Managing Connections*: Keeps active connections open for real-time collaboration, allowing seamless communication between users and the server.
24+
- *Broadcasting Changes*: Ensures that any edits made by one user are instantly sent to all collaborators, keeping everyone on the same page with the latest document version.
25+
26+
### Distributed cache or database
27+
28+
To support collaborative editing, it's crucial to have a backing system that temporarily stores the editing operations of all active users. There are two primary options:
29+
30+
- *Distributed Cache*: Handles a higher number of `HTTP` requests per second compared to a database approach. For instance, a server with 2 vCPUs and 8GB RAM can handle up to 125 requests per second using a distributed cache.
31+
- *Database*: With the same server configuration, it can handle up to 50 requests per second.
32+
33+
Using the distributed cache or database all the editing operations are queued in order and conflict resolution is performed using `Operational Transformation` Algorithm.
34+
35+
> *Recommendation* - If you expect average `http` requests per second of your live application as 50 or below, then the database can provide reliable a backing system for operation queue. If you expect average requests per second of your live application as above 50, then the distributed cache is highly recommended backing system.
36+
37+
> Tips to calculate the average requests per second of your application:
38+
Assume the editor in your live application is actively used by 1000 users and each user's edit can trigger 2 to 5 requests per second. The total requests per second of your applications will be around 2000 to 5000. In this case, you can finalize a configuration to support around 5000 average requests per second.
39+
40+
> Note: The above metrics are based solely on the collaborative editing module. Actual throughput may decrease depending on other server-side interactions, such as document importing, pasting formatted content, editing restrictions, and spell checking. Therefore, it is advisable to monitor your app's traffic and choose a configuration that best suits your needs.
41+
#### See Also
42+
43+
- [Collaborative editing using Redis cache in ASP.NET Core](../../document-editor/collaborative-editing/using-distributed-cache-asp-net-core)
44+
- [Collaborative editing using Microsoft SQL server in ASP.NET Core](../../document-editor/collaborative-editing/using-database-in-asp-net-core)
45+
- [Collaborative editing using Java](../../document-editor/collaborative-editing/using-java)

0 commit comments

Comments
 (0)