PHPackages                             schlaefer/saito - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. schlaefer/saito

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

schlaefer/saito
===============

Saito - The Threaded Forum

5.7.1(5y ago)2387[12 issues](https://github.com/Schlaefer/Saito/issues)[1 PRs](https://github.com/Schlaefer/Saito/pulls)MITPHPPHP &gt;=7.2

Since Mar 30Pushed 5y ago3 watchersCompare

[ Source](https://github.com/Schlaefer/Saito)[ Packagist](https://packagist.org/packages/schlaefer/saito)[ Docs](http://saito.siezi.com/)[ RSS](/packages/schlaefer-saito/feed)WikiDiscussions develop Synced 3w ago

READMEChangelog (10)Dependencies (30)Versions (42)Used By (0)

Saito
=====

[](#saito)

What is it?
-----------

[](#what-is-it)

Saito is a web-forum with [conversation threading](https://en.wikipedia.org/wiki/Conversation_threading). It is different from the majority of other forums as it puts the emphasis on performance and presenting conversations in a classic tree-style threaded view.

A lot of optimization went into serving long existing, small- to mid-sized communities with moderate traffic but hundreds of thousands of existing postings. It is able to displays hundreds of individual postings on a single page while running on a inexpensive, shared hosting account.

[Test it here](https://saito-forum.de/) (login: test/test).

Status
------

[](#status)

[![Build Status](https://camo.githubusercontent.com/bc92a6112f2672805c5477795a6421495d72b807229e3294af378928a76631d0/68747470733a2f2f7365637572652e7472617669732d63692e6f72672f5363686c61656665722f536169746f2e706e673f6272616e63683d6d6173746572)](http://travis-ci.org/Schlaefer/Saito)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/98abec27dc71c4cbd82d2ab9ee078cdfc30a33d4768507d650cc5c6d23ed3d76/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f5363686c61656665722f536169746f2f6261646765732f7175616c6974792d73636f72652e706e673f623d646576656c6f70)](https://scrutinizer-ci.com/g/Schlaefer/Saito/?branch=develop)

Requirements
------------

[](#requirements)

- PHP 7.2+ (extensions: gd, exif, intl, mbstring, pdo, simplexml)
- Database (MySQL/MariaDB tested, [others untested](https://book.cakephp.org/3.0/en/orm/database-basics.html#supported-databases)).

Get Started
-----------

[](#get-started)

A ready-to-use ZIP containing all necessary files is available on the [release page](https://github.com/Schlaefer/Saito/releases). Unzip it, upload it to your server, open it in a browser, and follow the instructions on the screen.

Development
-----------

[](#development)

### Set-Up Environment

[](#set-up-environment)

You need a more or less generic environement providing:

- PHP with `composer` for the server-backend (mainly build on [CakePHP](http://cakephp.org/))
- node with `yarn` and `grunt-cli` for the browser-frontend (mainly build on [Marionette](https://marionettejs.com/))
- a database

There's a docker file for *development* in `dev/docker/…`

### Install Files

[](#install-files)

Checkout the files from git-repository and install the dependencies:

```
composer install;
yarn install;
```

Move dependency-assets into the right places:

```
grunt dev-setup
```

Run all test cases:

```
composer test-all
```

See the `Gruntfile`, `packages.json` and `composer.json` for additional devleopment-commands.

### Create Production Files

[](#create-production-files)

To generate all the minimized assets for production:

```
grunt release
```

### Create A Release Zip

[](#create-a-release-zip)

To generate a zip-package as found on the release page for distribution:

```
vendor/bin/phing
```

FAQ
---

[](#faq)

### How does it compare to [mylittleforum](https://mylittleforum.net/)

[](#how-does-it-compare-to-mylittleforum)

Actually this forum was written to replace a mylittleforum installation with a more modern approach. Mylittleforum is a noteworthy starting place if you want a threaded web-forum. There aren't that many out there. Mylittleforum exists for many years now and offers great features.

*Disclaimer: Subjective opinion ahead…*

But there are a shortcommings, mainly: performance and maintainability. If a mylittleforum installation reaches a few hundred thousand postings it is going to slow down. Also it was written when PHP was a much worse language: there are no test cases, which makes it more fragile to changes.

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance10

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 99.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~62 days

Recently: every ~73 days

Total

38

Last Release

2146d ago

Major Versions

3.5.1 → 4.0.0-RC2014-05-14

4.4.0 → 5.0.02019-06-10

PHP version history (3 changes)3.3.0PHP &gt;=5.4.0

5.0.0PHP &gt;=7.1

5.1.0PHP &gt;=7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/e74cd0267a63f3ddd5d19f9243d55bf94e779d8a8b7ed100a78b30442566ac56?d=identicon)[Schlaefer](/maintainers/Schlaefer)

---

Top Contributors

[![Schlaefer](https://avatars.githubusercontent.com/u/143224?v=4)](https://github.com/Schlaefer "Schlaefer (3862 commits)")[![kt007](https://avatars.githubusercontent.com/u/1756282?v=4)](https://github.com/kt007 "kt007 (2 commits)")[![Schnaks](https://avatars.githubusercontent.com/u/614452?v=4)](https://github.com/Schnaks "Schnaks (2 commits)")

---

Tags

saito-forumcakephpforum

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/schlaefer-saito/health.svg)

```
[![Health](https://phpackages.com/badges/schlaefer-saito/health.svg)](https://phpackages.com/packages/schlaefer-saito)
```

###  Alternatives

[bedita/manager

BEdita Manager - official admin webapp for BEdita4 API

131.1k](/packages/bedita-manager)[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.3k10](/packages/helsingborg-stad-municipio)[dereuromark/cakephp-tools

A CakePHP plugin containing lots of useful and reusable tools

333972.2k49](/packages/dereuromark-cakephp-tools)[dereuromark/cakephp-translate

A CakePHP plugin for managing translations

1711.7k](/packages/dereuromark-cakephp-translate)[dereuromark/cakephp-dto

A CakePHP plugin for generating immutable Data Transfer Objects with full type safety

3096.0k5](/packages/dereuromark-cakephp-dto)[cakedc/cakephp-forum

Forum Plugin for CakePHP

2211.9k](/packages/cakedc-cakephp-forum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
