Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekt-offen:software:dokuwiki
♏️ Sternzeichen des Tages: Skorpion 27.10.2026 - β–Ό (hier Klicken zum Γ–ffnen) β–Ό
Wir wΓΌnschen allen β€žSkorpion" - Geborenen viel GlΓΌck und Erfolg! πŸ€
β€’ β€’ β€’
πŸ“œ Der Skorpion stammt aus der Sage um Orion: Die ErdgΓΆttin Gaia schickte ihn, um den ΓΌbermΓΌtigen JΓ€ger zu stoppen. Beide wurden schließlich an den Sternenhimmel versetzt – als Mahnung, dass auch große StΓ€rke ihre Grenzen kennt.
Skorpion
(24. Oktober – 22. November)
πŸ“– Weitere Infos
Element: πŸ’§ Wasser   |   πŸͺ Herrscherplanet: Pluto
πŸ›οΈ Schutzgottheit: Pluton (Gott der Unterwelt)
πŸ“ Charakteristik: Der Skorpion ist leidenschaftlich, intensiv und durchschauend. Er verfΓΌgt ΓΌber eine magnetische Ausstrahlung und tiefe psychologische Einsicht. Ein mystischer und unergrΓΌndlicher Charakter.
πŸ’ž Liebe & KompatibilitΓ€t: βœ… Passt gut mit: Krebs, Fische, Steinbock | ⚠️ Schwierig mit: LΓΆwe, Stier
πŸ€ GlΓΌckszahl: 8   |   🎨 GlΓΌcksfarbe: Dunkelrot   |   πŸ“† GlΓΌckstag: Dienstag
πŸ’Ž GlΓΌcksstein: Topas   |   🦴 KΓΆrperteil: Becken
🌟 Bekannte Persânlichkeiten: Marie Curie, Pablo Picasso, Martin Luther
πŸ’‘ 10 Tipps fΓΌr Skorpion-Geborene:
  1. Vertrauen ΓΌben – nicht jedem Misstrauen entgegenbringen
  2. Loslassen kΓΆnnen – alte KrΓ€nkungen ruhen lassen
  3. Offenheit zeigen – nicht alles geheim halten
  4. Kompromisse eingehen – nicht nur Alles-oder-Nichts denken
  5. Gelassenheit ΓΌben – nicht jede Kleinigkeit zur Machtfrage machen
  6. Verzeihen kΓΆnnen – auch sich selbst
  7. Leichtigkeit zulassen – nicht alles tiefgrΓΌndig nehmen
  8. Kontrolle abgeben – nicht alles selbst steuern wollen
  9. Verletzlichkeit zeigen – NΓ€he braucht Offenheit
  10. Ruhe bewahren – nicht impulsiv reagieren
πŸ’‘ Weisheit des Tages ... vom: 27.10.2026 - β–Ό (hier Klicken zum Γ–ffnen) β–Ό
Heute von: Ernst Haeckel (1834–1919), deutscher Naturforscher und Philosoph
β€’ β€’ β€’
„Nur wer die Herzen bewegt, bewegt die Welt.“
Ernst Haeckel
πŸ“œ Kurzbiografie
Ernst Heinrich Haeckel, vollstΓ€ndig Ernst Heinrich Philipp August Haeckel (* 16. Februar 1834 in Potsdam; † 9. August 1919 in Jena), war ein deutscher Zoologe, Philosoph, Zeichner und Freidenker sowie Hochschullehrer in Jena, der ab den 1860er Jahren die Ideen von Charles Darwin vertrat und sie zu einer speziellen Abstammungslehre ausbaute. Er trug durch populΓ€rwissenschaftliche Schriften und VortrΓ€ge sehr zur Verbreitung des Darwinismus in Deutschland bei. Haeckels wissenschaftlicher Fokus lag, nach seiner Ausbildung zum Arzt, auf der vergleichenden Anatomie. Als Professor fΓΌr Zoologie prΓ€gte er einige heute gelΓ€ufige Begriffe der Biologie wie Stamm, Phylogenie, Ontogenie und Γ–kologie. DarΓΌber hinaus erarbeitete er eine ausfΓΌhrliche embryologische Argumentation fΓΌr die Evolutionstheorie und formulierte in diesem Zusammenhang das Biogenetische Grundgesetz. Haeckel verquickte Ziele einer analytisch-empirischen Wissenschaft mit gesellschaftspolitischen Zielen und verstand die Politik als angewandte Biologie. Er vertrat den Entwicklungs-Monismus im Sinne einer naturphilosophischen Weltanschauung auf naturwissenschaftlicher Grundlage. Er war Kopf und Identifikationsfigur (zeitgenΓΆssisch Monistenpapst) der zugehΓΆrigen Bewegung, die sich ab 1906 im Deutschen Monistenbund in Jena organisierte. Im Rahmen seiner Auseinandersetzungen mit der Übertragbarkeit rassischer Kategorien auf die gesellschaftliche Entwicklung des Menschen zΓ€hlt Haeckel – hier klarer Gegner seines Lehrers Virchow – zu den schließlich entschiedenen Vertretern einer β€žeugenischenβ€œ Sozialpolitik. Aufgrund seiner Überlegungen zur β€žkΓΌnstlichen ZΓΌchtungβ€œ des Menschen in modernen Gesellschaften gilt Haeckel als Wegbereiter der Eugenik und Rassenhygiene in Deutschland. Nationalsozialistische Ideologen zogen Ausschnitte seiner Aussagen spΓ€ter als BegrΓΌndung fΓΌr ihren Rassismus und Sozialdarwinismus heran, erklΓ€rten gleichzeitig aber wesentliche Teile von Haeckels Weltbild als unvereinbar mit der vΓΆlkisch-biologistischen Sichtweise des Nationalsozialismus.

Projekt: DokuWiki


Unternehmens-Wiki: Was man bei der EinfΓΌhrung eines Firmenwikis beachten muss…




===== EinfΓΌhrung und Realisierung eines Unternehmens-Wiki =====


Hier noch zwei YouTube-Videos zur Handhabung...


Webserver/htaccess/Passwortschutz

Webserver/htaccess

Webserver/htaccess/


β€” Roland Otto 2023/05/21 13:45



DokuWiki

DokuWiki ist eine einfach zu bedienende und Àußerst vielseitige Open-Source-Wiki-Software, die keine Datenbank benâtigt.

Es wird von den Nutzern wegen seiner sauberen und lesbaren Syntax geliebt. Die einfache Wartung, Sicherung und Integration machen es zu einem Favoriten für Administratoren. Eingebaute Zugriffskontrollen und Authentifizierungs-Connectoren machen DokuWiki besonders nützlich im Unternehmenskontext, und die große Anzahl von Plugins der lebendigen Community ermâglicht eine breite Palette von AnwendungsfÀllen jenseits eines traditionellen Wikis.

DokuWiki (ErklΓ€rung)

.: Warum DokuWiki? :.

DokuWiki ist eine beliebte Wahl bei der Wahl einer Wiki-Software und bietet viele Vorteile gegenΓΌber Γ€hnlicher Software.

  • Einfach zu installieren und zu bedienen
  • Geringe Systemanforderungen
  • Eingebaute Zugriffskontrolllisten
  • Große Vielfalt an Erweiterungen
  • Über 50 unterstΓΌtzte Sprachen
  • GerΓ€teunabhΓ€ngig
  • Open Source (!)

β€” Roland Otto 2026/04/14 20:30



.: AnwendungsfΓ€lle DokuWiki :.

Wikis lassen sich schnell aktualisieren und neue Seiten werden leicht hinzugefΓΌgt. DokuWiki wurde fΓΌr Zusammenarbeit konzipiert und gleichzeitig eine Historie jeder Γ„nderung verwaltet und kΓΆnnte als:

  • Unternehmenswissensdatenbank
  • Privates Notizbuch
  • Softwarehandbuch
  • Projektarbeitsbereich
  • CMS – Intranet

β€” Roland Otto 2026/04/14 20:30



.: DokuWiki anpassen :.

Wir unterstΓΌtzen Individualisierung auf allen Fachwissensebenen. Von der einfachen Konfiguration ΓΌber die Admin-OberflΓ€che ΓΌber das Herunterladen von Vorlagen und Plugins bis hin zur Entwicklung eigener Erweiterungen.

β€” Roland Otto 2026/04/14 20:30



.: Unsere Gemeinschaft :.

Ein Teil von OpenSource ist, der Community etwas zurΓΌckzugeben, indem man sich engagiert. Es gibt zahlreiche MΓΆglichkeiten, dies zu tun.

β€” Roland Otto 2026/04/14 20:30



.: Urheberrecht :.

2004-2025 Β© Andreas Gohr andi [at] splitbrain [dot] org1) und die DokuWiki-Community

Die DokuWiki-Engine ist unter GNU General Public License Version 2 lizenziert.
Wenn du DokuWiki in deinem Unternehmen nutzt, solltest du ein paar Euro spendenwink.

Ich bin mir nicht sicher, was das bedeutet? Siehe die FAQ zu den Lizenzen.


1) Bitte kontaktieren Sie mich nicht fΓΌr Hilfe und UnterstΓΌtzung – nutzen Sie stattdessen die Mailingliste oder das Forum





Spezial-Programmierungen

.: automatische Jahre… :.

==== Überblick: Was war das Ziel? ====

Du wolltest in deiner DokuWiki‑Seite einen Satz wie

β€žErfahrung von ΓΌber 15 Jahren Unterricht bei der VHS.β€œ

nicht jedes Jahr manuell anpassen, sondern automatisch berechnen lassen, ausgehend von einem festen Startdatum (z.β€―B. 01.09.2010).

Konkret sollte also DokuWiki selbst ausrechnen:

  • wie viele volle Jahre seit einem Startdatum vergangen sind
  • und diese Zahl im Text anzeigen

Beispiel:

''Erfahrung: 15 Jahre Unterricht bei der VHS.''

statt:

''Erfahrung: {{vhsexperience>2010-09-01}}''

===== 1. Erste Idee: Fertige Plugins wie β€ždateβ€œ oder β€žyearβ€œ =====

==== 1.1 Das β€ždateβ€œ-Plugin ====

Die ursprΓΌngliche Idee war, ein vorhandenes Plugin zu nutzen, z.β€―B. das Date‑Plugin.
Dieses Plugin bietet u.β€―a. eine Syntax, um Datumsdifferenzen zu berechnen, z.β€―B.:

''{{date>diff:2010-09-01:now:years}}''

Die Idee dahinter:

  • 2010-09-01 = Startdatum
  • now = aktuelles Datum
  • years = Ausgabe in Jahren

Erwartetes Ergebnis wΓ€re z.β€―B.:

''15''

oder eingebettet:

''Erfahrung: {{date>diff:2010-09-01:now:years}} Jahre Unterricht bei der VHS.''

==== 1.2 Warum das bei dir nicht funktioniert hat ====

In deinem Wiki wurde der Ausdruck aber nicht berechnet, sondern quasi β€žauseinandergerissenβ€œ angezeigt, etwa so:

''Erfahrung: diff:2010-09-01:now:years Jahre Unterricht bei der VHS.''

Das ist ein typisches Zeichen dafΓΌr, dass:

  • die Γ€ußere Plugin‑Syntax ... nicht erkannt wurde
  • das Plugin nicht installiert oder nicht geladen ist
  • DokuWiki den Inhalt daher einfach als normalen Text behandelt

ZusΓ€tzlich ist das Date‑Plugin relativ alt und kann mit neueren DokuWiki‑Versionen Probleme haben (InkompatibilitΓ€t, nicht mehr gepflegt, etc.).


===== 2. Alternative: Year‑Plugin (Jahresdifferenz ΓΌber das Jahr) =====

Eine einfachere Alternative ist das Year‑Plugin, das nur mit Jahreszahlen arbeitet.

Beispiel:

''{{year>2010}}''

Das berechnet:

  • aktuelles Jahr – 2010

Also z.β€―B. im Jahr 2026:

''{{year>2010}}  β†’  16''

Eingebettet:

''Erfahrung: {{year>2010}} Jahre Unterricht bei der VHS.''

Vorteil:

  • sehr simpel
  • oft kompatibler als komplexere Plugins

Nachteil:

  • rechnet nur mit Jahren, nicht mit exakten Daten
  • berΓΌcksichtigt nicht, ob der Jahrestag im aktuellen Jahr schon erreicht ist

===== 3. EndgΓΌltige LΓΆsung: Eigenes Mini‑Plugin vhsexperience =====

Da die fertigen Plugins bei dir nicht zuverlÀssig liefen bzw. nicht installiert waren, hast du dich für eine eigene, maßgeschneiderte Lâsung entschieden: ein kleines, eigenes Plugin.

Ziel:

  • Syntax im Wiki:
''{{vhsexperience>2010-09-01}}''
  • Ausgabe im HTML:
''15 Jahre''

===== 4. Wie DokuWiki‑Plugins grundsΓ€tzlich aufgebaut sind =====

Damit deine SchΓΌler verstehen, was da passiert, lohnt sich ein kurzer Blick auf den Aufbau eines DokuWiki‑Plugins.

==== 4.1 Plugin‑Ordner ====

Plugins liegen in:

''lib/plugins/<pluginname>/''

Wichtig:

  • <pluginname> darf nur Kleinbuchstaben und Ziffern enthalten
  • keine Unterstriche, keine Bindestriche, keine Großbuchstaben
  • Beispiel: vhsexperience ist gΓΌltig, vhs_experience ist ungΓΌltig

==== 4.2 plugin.info.txt ====

In jedem Plugin‑Ordner liegt eine Datei plugin.info.txt, die DokuWiki sagt:

  • wie das Plugin heißt
  • wer der Autor ist
  • wofΓΌr es gedacht ist

Beispiel:

''base   vhsexperience
author Roland
email  -
name   VHS Experience Plugin
desc   Berechnet automatisch die Jahre seit einem Startdatum.
url    https://euroba.de
version 2026-04-14''

Wichtig:

  • base muss exakt dem Ordnernamen entsprechen (vhsexperience)

==== 4.3 syntax.php ====

FΓΌr eine eigene Syntax (also neue software '' ‑Konstrukte) braucht man eine ''syntax.php.
Darin steckt eine PHP‑Klasse, die von DokuWiki_Syntax_Plugin erbt.


===== 5. Das konkrete Plugin vhsexperience =====

==== 5.1 Ordnerstruktur ====

''lib/
  plugins/
    vhsexperience/
   plugin.info.txt
      syntax.php''

==== 5.2 Der ursprΓΌngliche Fehler: UngΓΌltiger Pluginname ====

Du hattest zuerst den Ordner so genannt:

''lib/plugins/vhs_experience/''

DokuWiki meldete:

Plugin name 'vhs_experience' is not a valid plugin name, only the characters a-z and 0-9 are allowed.

Das bedeutet:

  • der Unterstrich _ ist nicht erlaubt
  • DokuWiki kann das Plugin so nicht korrekt registrieren

Die LΓΆsung war:

  • Ordner umbenennen in vhsexperience
  • base in plugin.info.txt auf vhsexperience setzen
  • Klassenname und Registrierung in syntax.php anpassen

===== 6. Funktionsweise des Plugins im Detail =====

Hier die zentrale Datei syntax.php in verstΓ€ndlicher Form erklΓ€rt.

==== 6.1 GrundgerΓΌst der Klasse ====

''class syntax_plugin_vhsexperience extends DokuWiki_Syntax_Plugin {
    // ...
}''

* syntax_plugin_ + vhsexperience β†’ muss zum Plugin‑Namen passen

  • Die Klasse sagt: β€žIch bin ein Syntax‑Pluginβ€œ

==== 6.2 Typ und Verhalten ====

''public function getType() {
    return 'substition';
}

public function getPType() {
    return 'normal';
}

public function getSort() {
    return 155;
}''

* getType(): substition bedeutet, dass ein Platzhalter durch Inhalt ersetzt wird

  • getPType(): normal β†’ normales Verhalten im Textfluss
  • getSort(): Reihenfolge, in der das Plugin im Vergleich zu anderen Syntax‑Plugins verarbeitet wird

==== 6.3 Erkennen der eigenen Syntax ====

''public function connectTo($mode) {
    $this->Lexer->addSpecialPattern('\{\{vhsexperience>.*?\}\}', $mode, 'plugin_vhsexperience');
}''

* Hier wird DokuWiki gesagt:

  β€žWenn du im Text etwas findest, das aussieht wie ''{{vhsexperience>...}}'', dann bin ich zustΓ€ndig.β€œ
  • Die Regex \{ \{vhsexperience>.*?\}\} bedeutet:
  • UngΓΌltiges Datum am Ende

==== 6.4 Zerlegen der Syntax: handle() ====

''public function handle($match, $state, $pos, Doku_Handler $handler) {
    // Entferne {{vhsexperience> und }}
    $match = trim(substr($match, 17, -2));
    return array('startdate' => $match);
}''

* $match enthΓ€lt z.β€―B.:

''{{vhsexperience>2010-09-01}}''
  • substr($match, 17, -2) schneidet vorne UngΓΌltiges Datum ab

Übrig bleibt:

''2010-09-01''

Das wird als startdate zurΓΌckgegeben und spΓ€ter im render() verwendet

==== 6.5 Ausgabe erzeugen: render() ====

''public function render($mode, Doku_Renderer $renderer, $data) {
    if($mode != 'xhtml') return false;
    $start = strtotime($data['startdate']);
    if(!$start) {
   $renderer->doc .= '<span class="error">UngΓΌltiges Datum</span>';
        return true;
    }

    $now = time();

    // Berechnung der vollen Jahre
    $years = date('Y', $now) - date('Y', $start);

    // Falls Startdatum im Jahr noch nicht erreicht β†’ 1 Jahr abziehen
    $anniversary = strtotime(date('Y', $now) . '-' . date('m-d', $start));
    if($now <$anniversary) {
        $years--;
    }

    $renderer->doc .= $years . ' Jahre';
    return true;
}
''

Schritt fΓΌr Schritt:

Modus prΓΌfen

''if($mode != 'xhtml') return false;''

* Nur im HTML‑Rendermodus wird etwas ausgegeben

  • Andere Modi (z.β€―B. fΓΌr RSS, Text, etc.) werden ignoriert

Startdatum einlesen

''$start = strtotime($data['startdate']);
if(!$start) {
    $renderer->doc .= '<span class="error">UngΓΌltiges Datum</span>';
    return true;
}''

* strtotime() wandelt den String 2010-09-01 in einen Unix‑Zeitstempel um

  • Wenn das nicht klappt β†’ Fehlermeldung β€žUngΓΌltiges Datumβ€œ

Aktuelles Datum holen

''$now = time();''

Jahresdifferenz berechnen

''$years = date('Y', $now) - date('Y', $start);''

* z.β€―B. 2026 - 2010 = 16

PrΓΌfen, ob der Jahrestag schon war

''$anniversary = strtotime(date('Y', $now) . '-' . date('m-d', $start));
if($now <$anniversary) {
    $years--;
}
''

Idee:

  • date('m-d', $start) β†’ Monat und Tag des Startdatums, z.β€―B. 09-01
  • date('Y', $now) β†’ aktuelles Jahr, z.β€―B. 2026
  • Zusammengesetzt: 2026-09-01 = Jahrestag im aktuellen Jahr
  • Wenn heute ($now) vor diesem Jahrestag liegt β†’ ein Jahr abziehen

Beispiel: * Start: 2010‑09‑01

  • Heute: 2026‑04‑14
  • Jahrestag 2026: 2026‑09‑01
  • Heute < Jahrestag β†’ years– β†’ aus 16 wird 15 -

Ausgabe erzeugen

''$renderer->doc .= $years . ' Jahre';''

* Das ist der Text, der spΓ€ter im HTML‑Dokument erscheint

  • Beispiel: 15 Jahre

===== 7. Verwendung im Wiki =====

FΓΌr deine SchΓΌler ist die Nutzung dann sehr einfach:

''{{vhsexperience>2010-09-01}}''

Ergebnis (Stand April 2026):

''15 Jahre''

Eingebettet in einen Satz:

''Erfahrung: {{vhsexperience>2010-09-01}} Unterricht bei der VHS.''

β†’

''Erfahrung: 15 Jahre Unterricht bei der VHS.''

===== 8. Didaktische Kernaussagen fΓΌr deine SchΓΌler =====

Ziel: Wiederkehrende Angaben (z.β€―B. β€žX Jahre Erfahrungβ€œ) sollen nicht manuell gepflegt werden mΓΌssen.

Fertige Plugins wie date oder year kΓΆnnen das teilweise, sind aber:

  • manchmal nicht installiert
  • manchmal nicht kompatibel
  • teilweise eingeschrΓ€nkt in der Funktion

Eigenes Plugin:

  • gibt dir volle Kontrolle
  • ist klein, ΓΌberschaubar und gut dokumentierbar
  • zeigt exemplarisch, wie DokuWiki‑Syntax‑Plugins funktionieren

Wichtige technische Punkte:

  • Plugin‑Ordnername: nur a-z und 0-9
  • base in plugin.info.txt = Ordnername
  • Klassenname syntax_plugin_<name> muss zum Plugin passen
  • connectTo() registriert die Syntax
  • handle() zerlegt die Eingabe
  • render() erzeugt die Ausgabe

Verbesserung? Lass es uns wissen. Deine Meinung zΓ€hlt:

Gib Deinen Kommentar ein. Wiki-Syntax ist zugelassen:
Bitte gib alle Buchstaben in das Eingabefeld ein um zu zeigen dass du ein Mensch bist. Y Rβ€ŠQ B J
 
Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki