Sobre o projeto
Etherpad é um editor de documentos colaborativo em tempo real, projetado para documentos onde autoria e histórico importam. É mantido desde 2009 por uma pequena equipe de voluntários e é distribuído sob a Licença Apache v2.
Principais recursos descritos no README:
- Edição colaborativa em tempo real com cada tecla atribuída ao seu autor e cores de autor exibidas inline.
- Histórico completo de revisões preservado, com um timeslider para percorrer o histórico de um documento caractere por caractere.
- Exportação completa de dados integrada, para que o histórico do documento permaneça acessível ao operador.
- Operação auto-hospedada: o projeto afirma que não há telemetria nem upsells, e que a funcionalidade de IA é opcional por meio de plugins apontados para um modelo escolhido pelo operador. Um documento PRIVACY.md descreve as duas chamadas de rede opt-out feitas pelo próprio código do Etherpad.
- Alegação de escalabilidade: o projeto vincula a uma página de teste de escala indicando suporte para milhares de editores simultâneos por pad.
- Internacionalização: traduzido em 105 idiomas, principalmente via TranslateWiki.
- Extensibilidade: um framework de plugins com centenas de plugins disponíveis através de um site de plugins, instaláveis pela interface web de administração ou pela linha de comando.
- Capacidade de incorporação: uma API HTTP para gerenciar pads, usuários e grupos, com definições OpenAPI expostas em /api/openapi.json, além de um plugin jQuery para incorporar pads em sites.
Opções de instalação cobertas no README:
- Instaladores de uma linha para macOS/Linux/WSL (shell) e Windows (PowerShell), que clonam o repositório, instalam dependências e compilam o frontend. Node.js >= 24 e git são necessários. Uma variável de ambiente pode ser definida para instalar e iniciar em uma única etapa.
- Exemplo de Docker Compose usando a imagem oficial publicada no Docker Hub e no GitHub Container Registry, com um serviço PostgreSQL, volumes persistentes para plugins e dados var, e variáveis de ambiente para senha de administrador, conexão com banco de dados e outras configurações.
- Etapas manuais: instale o pnpm, clone o repositório, execute pnpm i, pnpm run build:etherpad, depois pnpm run prod, e visite localhost:9001.
Configuração e administração:
- As configurações ficam em settings.json, com suporte a arquivos de configuração alternativos, substituição de credenciais, arquivos de chave de API e chave de sessão, e substituição de variáveis de ambiente usando a sintaxe ${ENV_VAR} ou ${ENV_VAR:default_value}.
- As configurações também podem ser alteradas pela interface web /admin.
- O README recomenda usar um banco de dados dedicado, como MySQL ou PostgreSQL, em produção, observando que o driver dirtyDB é destinado apenas para testes ou desenvolvimento.
- Para autenticação, recomenda armazenar hashes em vez de senhas em texto puro, e aponta para o plugin ep_hash_auth.
- Plugins sugeridos para autenticação OpenID Connect incluem ep_openid_connect, ep_guest, ep_user_displayname e ep_stable_authorid.
- Um conjunto de plugins sugerido para recursos de edição mais ricos inclui ep_align, ep_comments_page, ep_embedded_hyperlinks2, ep_font_color, ep_headings2, ep_markdown e ep_webrtc.
- Variantes de skin podem ser exploradas através de uma URL skinvariantsbuilder.
Desenvolvimento e status do projeto:
- Depuração via bin/debugRun.sh e um script de início rápido bin/fastRun.sh que pula atualizações de dependências.
- A biblioteca Easysync que sustenta o comportamento em tempo real é documentada em um PDF no repositório.
- Diretrizes para contribuidores são fornecidas em CONTRIBUTING.md.
- O README afirma que o projeto está ativamente procurando mantenedores com experiência em Node.js, sistemas em tempo real ou ferramentas de colaboração institucional.
- Os selos de CI cobrem qualidade de código (CodeQL), testes de backend, carga simulada, limitação de taxa, Docker e testes de frontend/admin.
Usuários declarados incluem a Wikimedia Foundation, instituições do setor público na UE, universidades e escolas, projetos de tecnologia cívica e democracia deliberativa, redações e muitas instâncias auto-hospedadas. Uma instância pública está disponível para experimentar o software.
Os canais de suporte são issues do GitHub, um servidor Discord e contatos por e-mail para relato de vulnerabilidades.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.