PHPackages                             do1emu/module-wiki - 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. do1emu/module-wiki

ActiveLibrary

do1emu/module-wiki
==================

Wiki- und Hilfe-Modul für die modulare Intranet-Plattform: https://github.com/kleinebekele/intranet-core

v1.0.1(today)02↑2900%MITPHPPHP ^8.3

Since Jul 28Pushed todayCompare

[ Source](https://github.com/kleinebekele/intranet-module-wiki)[ Packagist](https://packagist.org/packages/do1emu/module-wiki)[ RSS](/packages/do1emu-module-wiki/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (3)Used By (0)

Wiki-Modul
==========

[](#wiki-modul)

Wiki und Hilfe-System für die [modulare Intranet-Plattform](https://github.com/kleinebekele/intranet-core).

Zwei Dinge in einem Modul, weil sie dieselbe Bauart teilen:

- **Beiträge**, die im Haus geschrieben werden (Anlegen, Bearbeiten, Verlauf, Suche).
- **Anleitungen** zu den Funktionen des Intranets, die als Datei im jeweiligen Paket liegen und mit ihm zusammen aktualisiert werden.

Der Kern von beidem: Eine Seite besteht aus **Abschnitten**, und jeder Abschnitt trägt seine eigenen **Rollen-Tags**. So steht in einer gemeinsamen Anleitung der Verwaltungsteil nur bei denen, die ihn brauchen — und der Rest wird gar nicht erst ausgeliefert.

Installation
------------

[](#installation)

```
composer require do1emu/module-wiki
php artisan migrate
php artisan modules:sync
php artisan wiki:hilfe-sync
```

Danach unter **Verwaltung → Module → Wiki** die Rollen je Unterpunkt setzen. Frisch synchronisierte Menüpunkte sind zunächst nur für Administratoren sichtbar (der sichere Standard des Cores). Für ein Wiki, das alle lesen dürfen, bekommen `Übersicht` und `Hilfe und HowTos` die Rolle `user`; `Beitrag anlegen` bekommt `wiki-moderator` und `wiki-admin`.

Voraussetzung: Core mit `App\Support\Hilfe` (für den Fragezeichen-Knopf in der Kopfzeile). Fehlt die Klasse, fällt nur die Kontexthilfe weg.

Rollen
------

[](#rollen)

Das Modul bringt zwei Rollen mit (keine System-Rollen — sie verschwinden mit `modules:uninstall --mit-daten` wieder):

Rolledarf`wiki-moderator`Seiten anlegen und bearbeiten, Rollen-Tags vergeben, Verlauf sehen`wiki-admin`zusätzlich löschen und Datei-Anleitungen auf den Paket-Stand zurücksetzenEine Rolle fürs **Lesen** gibt es bewusst nicht — das regelt der Core über die Rollen am Menüpunkt.

Sichtbarkeit eines Abschnitts
-----------------------------

[](#sichtbarkeit-eines-abschnitts)

1. Keine Tags → für alle sichtbar.
2. Tags gesetzt → sichtbar, wenn der Benutzer **eine** davon hat.
3. Tags gefordert, aber keine davon existiert in dieser Instanz → **nicht** sichtbar.

Fall 3 ist der wichtige: Eine Anleitung aus einem Paket kann eine Rolle nennen, die es hier nicht gibt (`teacher` in einer Firma). Ohne diese Regel würde ein für Lehrer gedachter Absatz still für alle aufgehen, weil "keine Tags" ja "für alle" bedeutet.

Wer bearbeiten darf, sieht auf einer Seite **immer alles** — ausgeblendete Abschnitte grau hinterlegt und mit ihren Rollen beschriftet. Was ein anderer wirklich sieht, zeigt **Ansehen als** oben auf der Seite.

Anleitungen als Datei
---------------------

[](#anleitungen-als-datei)

Jedes Paket darf `resources/hilfe/*.md` mitbringen, der Core selbst ebenso. Aufbau:

```
---
titel: Mailvorlagen bearbeiten
route: admin.mailvorlagen.index
kategorie: Verwaltung
position: 13
rollen: admin
---

Einleitung ohne Überschrift (optional).

## Vorschau und Testmail
rollen: admin, wiki-admin

Markdown-Text des Abschnitts …
```

- `route` verknüpft die Seite mit dem Fragezeichen-Knopf: Auf genau dieser Route erscheint er in der Kopfzeile und führt hierher. Achtung: Nur Routen, die auch **gerendert** werden — eine Route, die bloß weiterleitet, zeigt nie einen Knopf.
- `rollen` gibt es auf **zwei Ebenen**:

    - **im Kopf** — Vorgabe für die ganze Datei. Der richtige Ort für eine reine Verwaltungs-Anleitung.
    - **unter einer Überschrift** — gilt für diesen Abschnitt und sticht die Vorgabe. Eine leere Zeile `rollen:` hebt die Vorgabe auf und macht den Abschnitt für alle sichtbar.

    Ohne die Kopf-Ebene müsste die Zeile unter *jeder* Überschrift stehen — und ein einziges vergessenes Vorkommen macht den Abschnitt lautlos öffentlich.
- `##`-Zeilen innerhalb eines Code-Blocks (```) sind Beispieltext, keine Überschriften.

`php artisan wiki:hilfe-sync` übernimmt die Dateien in die Datenbank. Nach dem Vorbild der Mailvorlagen gilt: Der Standard liegt im Paket, die Instanz speichert nur die Abweichung. Eine im Backend bearbeitete Seite ist `angepasst` und wird vom Abgleich nicht mehr angefasst; `--erzwingen` setzt sie zurück, `--pruefen` zeigt nur, was passieren würde.

Verwaiste Seiten (Datei weg) werden gemeldet, aber **nie** automatisch gelöscht.

Kontexthilfe im Core
--------------------

[](#kontexthilfe-im-core)

Das Modul meldet sich beim Core an:

```
Hilfe::anbieten(fn (string $route, ?User $user) => WikiSeite::urlFuerRoute($route, $user));
```

Der Core fragt bei jedem Seitenaufruf, ob es zur aktuellen Route eine Anleitung gibt. Ohne Anbieter (Wiki nicht installiert) erscheint der Knopf gar nicht erst.

Inhalte sind Markdown
---------------------

[](#inhalte-sind-markdown)

Gespeichert wird die Markdown-Quelle, gerendert wird beim Anzeigen — mit verworfenem Roh-HTML und ohne unsichere Links. Ein Format für Backend-Eingabe und Paket-Datei, und in `git diff` bleibt eine Änderung lesbar.

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance100

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~0 days

Total

2

Last Release

0d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/37b420578fb749b9cba48fbc4eb30fc8ebc63a12e4f607fbcba68041767f2cc2?d=identicon)[do1emu](/maintainers/do1emu)

---

Top Contributors

[![ekleinebekel](https://avatars.githubusercontent.com/u/152163871?v=4)](https://github.com/ekleinebekel "ekleinebekel (2 commits)")

---

Tags

laravelintranetwikiмодульhilfedokumentation

### Embed Badge

![Health badge](/badges/do1emu-module-wiki/health.svg)

```
[![Health](https://phpackages.com/badges/do1emu-module-wiki/health.svg)](https://phpackages.com/packages/do1emu-module-wiki)
```

###  Alternatives

[rtconner/laravel-likeable

Trait for Laravel Eloquent models to allow easy implementation of a 'like' or 'favorite' or 'remember' feature.

400396.7k5](/packages/rtconner-laravel-likeable)[illuminated/wikipedia-grabber

Wikipedia/MediaWiki Grabber for Laravel.

477.3k](/packages/illuminated-wikipedia-grabber)

PHPackages © 2026

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