PHPackages                             michaelorenda/etherpad-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. michaelorenda/etherpad-client

ActiveLibrary[API Development](/categories/api)

michaelorenda/etherpad-client
=============================

A framework-agnostic PHP client for Etherpad API with session and permission handling.

v1.2.0(6mo ago)01MITPHPPHP &gt;=8.1

Since Oct 23Pushed 6mo agoCompare

[ Source](https://github.com/michael-orenda/etherpad-client)[ Packagist](https://packagist.org/packages/michaelorenda/etherpad-client)[ RSS](/packages/michaelorenda-etherpad-client/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (2)Versions (4)Used By (0)

michaelorenda/etherpad-client
=============================

[](#michaelorendaetherpad-client)

A **framework-agnostic PHP library** for integrating with the [Etherpad](https://etherpad.org) collaborative editor API — complete with **per-user pad permissions**, ready for **Laravel 12** or plain **PHP 8.1+** projects.

---

🚀 What Is Etherpad?
-------------------

[](#-what-is-etherpad)

[Etherpad Lite](https://etherpad.org) is an open-source collaborative text editor.
It runs on Node.js and exposes a REST API for creating pads, managing sessions, and synchronizing text in real time.

This library provides a **simple PHP interface** to that API, and a **permissions system** for managing user access to pads in your own application.

---

🧩 Features
----------

[](#-features)

✅ Full Etherpad API support (create, read, update, delete pads)
✅ Laravel 12–ready via Service Provider ✅ Optional **Eloquent integration** for Laravel projects
✅ Simple permissions table (`pad_permissions`) for managing who can view/edit
✅ Framework-agnostic — works with or without Laravel
✅ Includes SQL migration + auto table creation helper
✅ Secure: uses PDO + prepared statements
✅ MIT licensed for open use

---

⚙️ Installation
---------------

[](#️-installation)

### 1. Install via Composer

[](#1-install-via-composer)

Run this command in your project directory:

```
composer require michaelorenda/etherpad-client
```

---

### 2. Configure Etherpad

[](#2-configure-etherpad)

In your Etherpad installation (often `/opt/etherpad-lite`):

```
cat APIKEY.txt
```

Copy the key — you’ll need it in your `.env`.

Ensure Etherpad is accessible on a port (e.g. `http://localhost:9001`).

---

### 3. Add Environment Variables

[](#3-add-environment-variables)

In Laravel, add to your `.env` file:

```
ETHERPAD_API_URL=http://localhost:9001
ETHERPAD_API_KEY=your_api_key_here

```

For plain PHP, you’ll just use these values directly in your script.

---

🧱 Database Setup
----------------

[](#-database-setup)

This package includes a migration file for your permissions table.

**Run manually in MySQL:**

```
mysql -u youruser -p yourdatabase
