如今,越来越多的企业接受了远程工作模式,这对高效的协同工具提出了更高的需求,特别是在线文档协作编辑。国内有很多平台工具具备协作文档编辑能力,如金山文档、飞书、钉钉等。然而,这些协作编辑软件虽然方便,但也存在一些弊端:

  • 无法自由扩展功能: 例如,金山文档主要以 SaaS 模式提供,很多功能需要等待软件迭代升级才能使用;
  • 数据存储安全: SaaS 模式意味着文档数据存储在云端,需要注意重要资料的安全管理;
  • 无法第三方嵌入: 一些企业内部系统需要在线文档编辑能力,但现有工具往往无法嵌入,只能依靠系统自身实现。

因此,一些企业在需要在线文档协作编辑的同时,也要求编辑器具备易扩展、易集成,并且数据可以存储在本地的能力。今天为大家介绍一款满足这些需求的在线文档编辑工具——Etherpad

Etherpad 介绍

一段话介绍 Etherpad: 一个高度可定制的开源在线文本编辑器,提供真正实时的多人协作编辑能力,具备强大的插件系统,允许用户通过安装插件来扩展功能。支持私有化部署,提供 API、iframe、插件等多种嵌入方案。

Etherpad

🏠 项目信息

Etherpad 特性

🚀 功能特性

  • 实时编辑: 支持多人实时协作编辑文档,用户可以即时看到其他人的操作。
  • 插件框架: 通过插件系统,用户自由扩展新功能,支持 200 多插件。
  • 实时聊天: 内置实时聊天功能,便于用户讨论和分享想法。
  • 富文本编辑: 支持文本格式化、图片添加等,使文档编辑变得简单。
  • 多语言支持: 界面和文档都可以根据用户的语言偏好进行本地化。
  • 自托管: 可以自行部署在本地服务器上,确保数据安全和隐私。
  • 集成支持: 提供 API 和 iframe 嵌入能力,允许用户通过编程方式管理。
  • 版本控制: 具备文档历史记录功能,可以追踪每个人的文档修改记录。

Etherpad 安装

Etherpad 提供了多种安装方式,支持在 Linux 和 Windows 机器上部署,这次我们采用 Docker 部署:

# docker-compose 文件
services:
  app:
    user: "0:0"
    image: etherpad/etherpad:latest
    tty: true
    stdin_open: true
    volumes:
      - plugins:/opt/etherpad-lite/src/plugin_packages
      - etherpad-var:/opt/etherpad-lite/var
    depends_on:
      - postgres
    environment:
      NODE_ENV: production
      ADMIN_PASSWORD: ${DOCKER_COMPOSE_APP_ADMIN_PASSWORD:-admin}
      DB_CHARSET: ${DOCKER_COMPOSE_APP_DB_CHARSET:-utf8mb4}
      DB_HOST: postgres
      DB_NAME: ${DOCKER_COMPOSE_POSTGRES_DATABASE:-etherpad}
      DB_PASS: ${DOCKER_COMPOSE_POSTGRES_PASSWORD:-admin}
      DB_PORT: ${DOCKER_COMPOSE_POSTGRES_PORT:-5432}
      DB_TYPE: "postgres"
      DB_USER: ${DOCKER_COMPOSE_POSTGRES_USER:-admin}
      DEFAULT_PAD_TEXT: ${DOCKER_COMPOSE_APP_DEFAULT_PAD_TEXT:- }
      DISABLE_IP_LOGGING: ${DOCKER_COMPOSE_APP_DISABLE_IP_LOGGING:-false}
      SOFFICE: ${DOCKER_COMPOSE_APP_SOFFICE:-null}
      TRUST_PROXY: ${DOCKER_COMPOSE_APP_TRUST_PROXY:-true}
    restart: always
    ports:
      - "${DOCKER_COMPOSE_APP_PORT_PUBLISHED:-9001}:${DOCKER_COMPOSE_APP_PORT_TARGET:-9001}"
  postgres:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: ${DOCKER_COMPOSE_POSTGRES_DATABASE:-etherpad}
      POSTGRES_PASSWORD: ${DOCKER_COMPOSE_POSTGRES_PASSWORD:-admin}
      POSTGRES_PORT: ${DOCKER_COMPOSE_POSTGRES_PORT:-5432}
      POSTGRES_USER: ${DOCKER_COMPOSE_POSTGRES_USER:-admin}
      PGDATA: /var/lib/postgresql/data/pgdata
    restart: always
    volumes:
      - postgres_data:/var/lib/postgresql/data/pgdata
volumes:
  postgres_data:
  plugins:
  etherpad-var:

启动服务:

docker-compose up -d

启动完成后,访问 http://hostip:9001 打开页面。

Etherpad 插件

Etherpad 提供了一个非常强大的插件扩展体系,目前有 200 多种插件。

插件市场

插件市场地址:https://static.etherpad.org/index.html

Etherpad 部署完成后,登录后台,可以根据实际需求安装不同功能的插件。

管理员登录地址:http://hostip:9001/admin
管理员默认账号密码:admin/admin

用户光标效果

Etherpad 集成

一、HTTP API

Etherpad 提供了详细的在线 API 文档,部署完成后,可以通过以下地址访问 API 说明文档:

http://xxx.xxx.xxx.xxx:9001/api/openapi.json

二、iframe 嵌入

Etherpad 是 Web 编辑器,可以很方便地通过 iframe 嵌入其他系统:

<iframe src='http://pad.test.de/p/PAD_NAME#L4?showChat=false&showLineNumbers=false' width=600 height=400></iframe>

三、Etherpad jQuery 插件

Etherpad 子项目下提供了 Etherpad jQuery 插件,可轻松地在网页中嵌入和访问 Etherpad。该插件使用 iframe 将 pad 内容注入 div。它还可以读取 Pad 的内容并将其写入 div:

GitHub 地址:etherpad-lite-jquery-plugin

四、Changeset Library

可以直接利用 Changeset.js 进行集成:

GitHub 地址:Changeset.js

最后

总的来说,Etherpad 是一个功能强大、易于使用、高度可定制的实时协作文档编辑器,适用于需要团队协作完成文档编辑的各种场景。支持私有化部署,多种集成方案。有兴趣的小伙伴可以实践起来!

END
本文作者:
文章标题: Etherpad:功能强大、可私有化的在线文档协作编辑工具
本文地址: https://www.haovps.top/archives/245.html
版权说明:若无注明,本文皆 高性能VPS推荐与IT技术博客 | Haovps.Top 原创,转载请保留文章出处。
cc
最后修改:2024 年 07 月 20 日
如果觉得我的文章对你有用,请随意赞赏