# SpreadJS Collaboration Server

## Content

SpreadJS provides a robust **Collaboration Server** designed to meet diverse enterprise needs through its proprietary **[Collaboration Framework](/spreadjs/docs/spreadjs-collaboration-server/collaboration-framework)** and **[SpreadJS Sheets Collaboration](/spreadjs/docs/spreadjs-collaboration-server/spreadjs-sheets-collaboration)**.

## Collaboration Challenges in Enterprises

In today's fast-moving business world, effective collaboration is a must for companies to thrive. But getting different teams and users to work together smoothly has always been a big hurdle. Delayed data updates, permission conflicts, and the inability to track changes can all slow down projects and cause errors.

## SpreadJS Collaboration Server Solution

SpreadJS steps in to solve these problems with its powerful Collaboration Server. As the technical foundation of the server, the **[Collaboration Framework](/spreadjs/docs/spreadjs-collaboration-server/collaboration-framework)** is made up of three core modules:

* [js-collaboration](/spreadjs/docs/spreadjs-collaboration-server/collaboration-framework/js-collaboration): Core communication framework enabling bidirectional data synchronization and message broadcasting.
* [js-collaboration-ot](/spreadjs/docs/spreadjs-collaboration-server/collaboration-framework/js-collaboration-ot):
    • OT (Operational Transformation)-based document collaboration library for rich text editors, spreadsheets, and code editors.
    • Includes database adapters for seamless integration with diverse storage systems.
* [js-collaboration-presence](/spreadjs/docs/spreadjs-collaboration-server/collaboration-framework/js-collaboration-presence): Real-time user status sharing, including cursor positioning and text selection highlighting.

### Customizable Collaboration Framework

The core functionalities and add-on modules of [Collaboration Framework](/spreadjs/docs/spreadjs-collaboration-server/collaboration-framework) provide standardized capability support for upper-layer applications.​​ You can leverage this framework to rapidly build solutions such as `spread-sheets-collaborative` and `quillis-collaboration`, thereby enabling specific business requirements like user management and document version history tracking.​​
![architecture2](https://cdn.mescius.io/document-site-files/images/7719ad0a-f083-46d7-aff6-f63e2e187c15/architecture2.792e63.png)

### SpreadJS Sheets Collaboration

SpreadJS specifically provides **[SpreadJS Sheets Collaboration](/spreadjs/docs/spreadjs-collaboration-server/spreadjs-sheets-collaboration)** framework(`spread-sheets-collaborative`), which enables multiple users to edit the same document simultaneously or a single user with multiple views, while ensuring real-time synchronization of all operations.
During collaboration, the workbook displays users’ online status. Additionally, you can assign edit or view-only permissions to different users.

## Get Started

In this guide, we'll take you through the **[Collaboration Framework](/spreadjs/docs/spreadjs-collaboration-server/collaboration-framework)** and the **[SpreadJS Sheets Collaboration](/spreadjs/docs/spreadjs-collaboration-server/spreadjs-sheets-collaboration)**. You'll not only learn how to use these tools but also understand the reasons behind their design.
Through a combination of theoretical concepts and practical exercises, you'll gain a comprehensive understanding of how to make the most of SpreadJS Collaboration Server’s capabilities in your daily work.