Handbuch:Erweiterung/Workflows/Activity/SetTemplateParams und Setup:Installationsanleitung/Installation BlueSpice WikiFarm: Unterschied zwischen den Seiten

(Unterschied zwischen Seiten)
Keine Bearbeitungszusammenfassung
 
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
==Beschreibung==
__TOC__
Die ''SetTemplateParams''-Activity ermöglicht das automatische Festlegen eines Vorlagenparameters auf einer Wiki-Seite.


* Auf Vorlagen wird in der Reihenfolge zugegriffen, in der sie auf der Seite erscheinen, beginnend bei 0. Nicht-existierende Vorlagen werden als Links gezählt und werden daher beim Zählen ignoriert.
Eine existierende BlueSpice pro Installation kann problemlos durch BlueSpiceWikiFarm erweitert werden. Die existierende Installation nimmt dabei die Rolle des Hauptwikis (= Farmverwaltung) an. Die Inhalte dort bleiben bestehen und können dort wie gewohnt weiterhin gepflegt werden.
* Parameter innerhalb der Vorlage können über ihren Namen oder im Falle von nicht benannten Parametern über den Index angegeben werden.
{{Hinweisbox|boxtype=note|Note text=BlueSpiceWikiFarm muss separat erworben werden und ist kein automatischer Bestandteil von BlueSpice pro.}}
* Der Index für nicht benannte Parameter beginnt bei 1 (nicht 0!).
==Voraussetzungen PHP==
* Verschachtelte Vorlagen werden derzeit nicht unterstützt.
Bitte stellen Sie sicher, dass die PHP-Erweiterung ZIP archiviert ist, die für BlueSpiceWikiFarm zusätzlich benötigt wird,  um Instanzen löschen zu können.


== Profil ==
==Sicherstellen des korrekten Pfades im Dateisystem==
{| class="wikitable"
Wichtig für den Betrieb von BlueSpiceWikiFarm ist, dass BlueSpice im Verzeichnis <code>/w</code> des DocumentRoot Ihres Webservers bzw. VirtualHosts liegt.<br />Bitte stellen Sie also sicher, dass Sie die komplette Codebase dorthin verschieben, sofern dies noch nicht der Fall ist.<br /><br />Nötig für einen fehlerfreien Betrieb ist anschließend, dass die Variable<code>$wgScriptPath</code> in der <code>LocalSettings.php</code> den Pfad <code>/w</code> beinhaltet.<br />
! colspan="2" |'''Kurzprofil'''
<syntaxhighlight lang="php">
|-
$wgScriptPath = "/w";
|Name
</syntaxhighlight>
|SetTemplateParams
==Erstellen der nötigen Ordner für BlueSpiceWikiFarm==
|-
BlueSpiceWikiFarm benötigt im Ordner <code>/w</code> auf selber Ebene wie die <code>LocalSettings.php</code> zwei zusätzliche Ordner, die Sie dort anlegen müssen:
|Async
|ja
|-
|BPMN type
|<code>bpmn:task</code>
|-
|BPMN Extension Element "wf:type"
|<code>set_template_param</code>
|}


==Attribute==
*<code>_sf_instances</code> - hier werden alle Daten und Konfigurationen für die jeweiligen Instanzen abgelegt
{| class="wikitable"
*<code>_sf_archive</code> - hier werden gelöschte Farminstanzen inklusive deines Datanbankdump als ZIP-Archiv abgelegt
! style="vertical-align:middle;text-align:left;" |'''Name des Attributs'''
!'''Beschreibung'''
!'''Typ'''
|-
|<code>title</code>
|Name der Seite, auf der der Vorlagenparameter geändert wird. Wenn der Wert auf der Seite geändert wird, auf der der Workflow ausgeführt wird, ist der Wert <code><nowiki>{{FULLPAGENAME}}</nowiki></code>
|string
|-
| style="width:70px;" |<code>user</code>
|Benutzer der in die Revisionsgeschichte geschrieben wird
|user
|-
|<code>template-index</code>
|Index der Vorlage auf der Wikiseite (beginnend bei 0)
|number
|-
|<code>template- param</code>
|Vorlagen-Parameter, der geändert wird. Dies kann eine Zeichenfolge (im Fall eines benannten Parameters) oder eine Zahl (im Fall eines nicht benannten Parameters; beginnend bei 1, Zugriffsmethode für den Parameter) sein.
|<nowiki>int|string</nowiki>
|-
|<code>value</code>
|Neuer Wert des Parameters, der durch den Workflow gesetzt wurde.
|string
|-
|<code>minor</code>
|Markiert die Version als kleine Änderung, falls der Wert auf "1" gesetzt ist.
|boolean
|-
|<code>revisionId</code>
|Neue Seitenrevisions-ID
|number
|-
|<code>timestamp</code>
|Datumsstempel der Revision
|timestamp
|-
|<code>comment</code>
|Kommentar in der Revisionsgeschichte.
|string
|}


== Beispiel ==
Achten Sie darauf, dass diese Ordner durch den Webserver beschreibbar sind ([[Setup:Installationsanleitung/Sicherheitseinstellungen/Dateisystemrechte|siehe Sicherheitseinstellungen]])!


=== Workflow-Aufgabe ===
chown -R www-data:root $BS_DATA_DIR/_sf_instances $BS_DATA_DIR/_sf_archive
Diese Workflow-Aufgabe setzt den Wert des Parameters <code><nowiki>{{{status}}}</nowiki></code> auf der ersten Vorlage einer Seite auf „Aktualisiert“.<syntaxhighlight lang="xml">
chmod -R 755 $BS_DATA_DIR/_sf_instances $BS_DATA_DIR/_sf_archiv
<bpmn:task id="EditTemplate" name="Edit template">
==Anlegen der LocalSettingsAppend.php==
    <bpmn:extensionElements>
Das Einbinden der Erweiterung "BlueSpiceWikiFarm" setzt zunächst eine zusätzliche Kofigurationsdatei mit dem Namen <code>LocalSettingsAppend.php</code> voraus. Legen Sie diese Datei auf selber Ebene wie die <code>LocalSettings.php</code> an und füllen Sie diese mit folgendem Inhalt:<br />
<wf:type>set_template_param</wf:type>
</bpmn:extensionElements>
<bpmn:property name="title" default="Testpage" validation="required,existing-title"/>
<bpmn:property name="user" default="WikiSysop" validation="existing-user"/>
<!-- Index of the template on page (starting from 0) -->
<bpmn:property name="template-index" default="0"/>
<!-- Param to modify. Can be a string in case of named params, or a number, in case of non-named params (starting from 1, accessor for the param) -->
<bpmn:property name="template-param" default="status"/>
<!-- New value to set -->
<bpmn:property name="value" default="Aktualisiert"/>
<bpmn:property name="minor" default="0"/>


<!-- Output properties -->
<syntaxhighlight lang="php">
<bpmn:property name="revisionId"/>
<?php
<bpmn:property name="timestamp"/>
require_once "$IP/LocalSettings.BlueSpice.php";
      <bpmn:incoming>Flow_1qh6vpl</bpmn:incoming>
</syntaxhighlight>
      <bpmn:outgoing>Flow_0if1kyp</bpmn:outgoing>
==Einbinden der Erweiterung "BlueSpiceWikiFarm"==
Ersetzen Sie in der <code>LocalSettings.php</code> die Zeile
<syntaxhighlight lang="php">
require_once "$IP/LocalSettings.BlueSpice.php";
</syntaxhighlight>
durch
<syntaxhighlight lang="php">
require_once "$IP/extensions/BlueSpiceWikiFarm/BlueSpiceWikiFarm.php";
</syntaxhighlight>
==Konfiguration Webserver==
Im Ordner <code>extensions/BlueSpiceWikiFarm/SimpleFarmer/doc</code> finden Sie Beispieldateien für RewriteRules, die für BlueSpiceWikiFarm nötig sind:


    </bpmn:task>
*<code>htaccess.template</code> - RewriteRules für Apache
</syntaxhighlight>
*<code>web.config.template</code> - RewriteRules für IIS


=== Vorlage ===
Konfigurieren Sie diese RewriteRules für die Ebene des DocumentRoot Ihres Webservers bzw. Ihres VirtualHosts.
The template content has the parameter <code><nowiki>{{{status}}}</nowiki></code> At the time of writing this, the workflow produced an error tif the parameter was wrapped in a <code><nowiki><div></nowiki></code> tag. Therefore, in the example below, the parameter is defined in a variable first. If the parameter is not in  a  <code>div</code> tag, using a variable is not necessary.


Der Vorlageninhalt hat den Parameter <code><nowiki>{{{status}}}</nowiki></code> . Zum jetzigen Zeitpunkt erzeugt der Workflow einen Fehler, wenn der Parameter in ein<div><code>div</code>-Tag eingeschlossen sit. Daher wird im folgenden Beispiel der Parameter zunächst in einer Variablen definiert. Wenn sich der Parameter nicht in einem div-Tag befindet, ist die Verwendung einer Variablen nicht erforderlich. Es kann sein, dass dieses Verhalten zwischenzeitlich korriegiert wurde.<syntaxhighlight lang="text">
{{Textbox|boxtype=note|header=|text=Bei Problemen mit Leerzeichen im Seitennamen: Fügen Sie <code>RewriteRule ^([^\ ]*)\ (.*)$ $1_$2 [E=rspace:yes,N]</code> hinzu,falls diese "rewrite rule" nicht bereits angegeben ist.|icon=yes}}
{{#vardefine:status|{{{status|not set}}}}}
==Neue Rechte bei MySql anlegen==
<div style="background:#fbfaef;">Page status: {{#var:status}}</div>
<syntaxhighlight lang="mysql">
GRANT ALL ON ´sfr\_%´.* to ´bluespice´@´127.0.0.1´ identified by ´password´;
</syntaxhighlight>
</syntaxhighlight>
==Wichtig für Windows Farming==
<nowiki>https://www.mediawiki.org/wiki/Manual:$wgPhpCli</nowiki>


=== Komplettes BPMN-Beispiel ===
== cronjobs ==
<syntaxhighlight lang="xml">
Muss als Apache-user ausgeführt werden:<syntaxhighlight lang="bash">
<?xml version="1.0" encoding="UTF-8"?>
*/5 * * * * php /var/www/bluespice/w/extensions/BlueSpiceWikiFarm/SimpleFarmer/maintenance/RunForAll.php --script=maintenance/runJobs.php
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:wf="http://hallowelt.com/schema/bpmn/wf">
*/1 * * * * php /var/www/bluespice/w/extensions/BlueSpiceWikiFarm/SimpleFarmer/maintenance/FarmProcessRunner.php
    <bpmn:process id="SetTemplateParams-Process" isExecutable="false">
        <bpmn:extensionElements>
            <wf:context>
                <wf:contextItem name="pageId"/>
            </wf:context>
        </bpmn:extensionElements>
        <bpmn:startEvent id="TheStart">
            <bpmn:outgoing>FromTheStartToEditTemplate</bpmn:outgoing>
        </bpmn:startEvent>
        <bpmn:sequenceFlow id="FromTheStartToEditTemplate" sourceRef="TheStart" targetRef="EditTemplate" />
        <bpmn:task id="EditTemplate" name="Edit template">
            <bpmn:extensionElements>
                <wf:type>set_template_param</wf:type>
            </bpmn:extensionElements>
            <bpmn:property name="title" default="" validation="required,existing-title">{{FULLPAGENAME}}</bpmn:property>
            <bpmn:property name="user" default="WikiSysop" validation="existing-user">WikiSysop</bpmn:property>
            <!-- Index of the template on page (starting from 0) -->
            <bpmn:property name="template-index" default="0"/>
            <!-- Param to modify. Can be a string in case of named params, or a number, in case of non-named params (starting from 1, accessor for the param) -->
            <bpmn:property name="template-param" default="status"/>
            <!-- New value to set -->
            <bpmn:property name="value" default="Super edited param"/>
            <bpmn:property name="comment" default="Edited template param"/>
            <bpmn:property name="minor" default="1"/>
            <!-- Output properties -->
            <bpmn:property name="revisionId"/>
            <bpmn:property name="timestamp"/>
            <bpmn:incoming>FromTheStartToEditTemplate</bpmn:incoming>
            <bpmn:outgoing>FromEditTemplateToTheEnd</bpmn:outgoing>
        </bpmn:task>
        <bpmn:sequenceFlow id="FromEditTemplateToTheEnd" sourceRef="EditTemplate" targetRef="TheEnd" />
        <bpmn:endEvent id="TheEnd">
            <bpmn:incoming>FromEditTemplateToTheEnd</bpmn:incoming>
        </bpmn:endEvent>
    </bpmn:process>
</bpmn:definitions>
 
</syntaxhighlight>
</syntaxhighlight>
 
==Abschluss==
[[en:Manual:Extension/Workflows/Activity/SetTemplateParams]]
Die Installation der BlueSpiceWikiFarm ist nun abgeschlossen. Sie erreichen die Farmverwaltung ab sofort im Hauptwiki unter der Spezialseite "Special:SimpleFarmer" (Farmverwaltung).
{{Hinweisbox|boxtype=important|Note text=Sollte der localhost nicht erreichbar sein, laden Sie sich die IIS Erweiterung "URL Rewrite" herunter. https://www.iis.net/downloads/microsoft/url-rewrite}}
[[en:Setup:Installation_Guide/Installation_BlueSpice_WikiFarm]]
[[de:{{FULLPAGENAME}}]]

Aktuelle Version vom 7. Februar 2024, 12:07 Uhr

Eine existierende BlueSpice pro Installation kann problemlos durch BlueSpiceWikiFarm erweitert werden. Die existierende Installation nimmt dabei die Rolle des Hauptwikis (= Farmverwaltung) an. Die Inhalte dort bleiben bestehen und können dort wie gewohnt weiterhin gepflegt werden.

Hinweis:BlueSpiceWikiFarm muss separat erworben werden und ist kein automatischer Bestandteil von BlueSpice pro.

Voraussetzungen PHP[Bearbeiten | Quelltext bearbeiten]

Bitte stellen Sie sicher, dass die PHP-Erweiterung ZIP archiviert ist, die für BlueSpiceWikiFarm zusätzlich benötigt wird, um Instanzen löschen zu können.

Sicherstellen des korrekten Pfades im Dateisystem[Bearbeiten | Quelltext bearbeiten]

Wichtig für den Betrieb von BlueSpiceWikiFarm ist, dass BlueSpice im Verzeichnis /w des DocumentRoot Ihres Webservers bzw. VirtualHosts liegt.
Bitte stellen Sie also sicher, dass Sie die komplette Codebase dorthin verschieben, sofern dies noch nicht der Fall ist.

Nötig für einen fehlerfreien Betrieb ist anschließend, dass die Variable$wgScriptPath in der LocalSettings.php den Pfad /w beinhaltet.

$wgScriptPath = "/w";

Erstellen der nötigen Ordner für BlueSpiceWikiFarm[Bearbeiten | Quelltext bearbeiten]

BlueSpiceWikiFarm benötigt im Ordner /w auf selber Ebene wie die LocalSettings.php zwei zusätzliche Ordner, die Sie dort anlegen müssen:

  • _sf_instances - hier werden alle Daten und Konfigurationen für die jeweiligen Instanzen abgelegt
  • _sf_archive - hier werden gelöschte Farminstanzen inklusive deines Datanbankdump als ZIP-Archiv abgelegt

Achten Sie darauf, dass diese Ordner durch den Webserver beschreibbar sind (siehe Sicherheitseinstellungen)!

chown -R www-data:root $BS_DATA_DIR/_sf_instances $BS_DATA_DIR/_sf_archive
chmod -R 755 $BS_DATA_DIR/_sf_instances $BS_DATA_DIR/_sf_archiv

Anlegen der LocalSettingsAppend.php[Bearbeiten | Quelltext bearbeiten]

Das Einbinden der Erweiterung "BlueSpiceWikiFarm" setzt zunächst eine zusätzliche Kofigurationsdatei mit dem Namen LocalSettingsAppend.php voraus. Legen Sie diese Datei auf selber Ebene wie die LocalSettings.php an und füllen Sie diese mit folgendem Inhalt:

<?php
require_once "$IP/LocalSettings.BlueSpice.php";

Einbinden der Erweiterung "BlueSpiceWikiFarm"[Bearbeiten | Quelltext bearbeiten]

Ersetzen Sie in der LocalSettings.php die Zeile

require_once "$IP/LocalSettings.BlueSpice.php";

durch

require_once "$IP/extensions/BlueSpiceWikiFarm/BlueSpiceWikiFarm.php";

Konfiguration Webserver[Bearbeiten | Quelltext bearbeiten]

Im Ordner extensions/BlueSpiceWikiFarm/SimpleFarmer/doc finden Sie Beispieldateien für RewriteRules, die für BlueSpiceWikiFarm nötig sind:

  • htaccess.template - RewriteRules für Apache
  • web.config.template - RewriteRules für IIS

Konfigurieren Sie diese RewriteRules für die Ebene des DocumentRoot Ihres Webservers bzw. Ihres VirtualHosts.

Bei Problemen mit Leerzeichen im Seitennamen: Fügen Sie RewriteRule ^([^\ ]*)\ (.*)$ $1_$2 [E=rspace:yes,N] hinzu,falls diese "rewrite rule" nicht bereits angegeben ist.

Neue Rechte bei MySql anlegen[Bearbeiten | Quelltext bearbeiten]

GRANT ALL ON ´sfr\_%´.* to ´bluespice´@´127.0.0.1´ identified by ´password´;

Wichtig für Windows Farming[Bearbeiten | Quelltext bearbeiten]

https://www.mediawiki.org/wiki/Manual:$wgPhpCli

cronjobs[Bearbeiten | Quelltext bearbeiten]

Muss als Apache-user ausgeführt werden:

*/5 * * * * php /var/www/bluespice/w/extensions/BlueSpiceWikiFarm/SimpleFarmer/maintenance/RunForAll.php --script=maintenance/runJobs.php
*/1 * * * * php /var/www/bluespice/w/extensions/BlueSpiceWikiFarm/SimpleFarmer/maintenance/FarmProcessRunner.php

Abschluss[Bearbeiten | Quelltext bearbeiten]

Die Installation der BlueSpiceWikiFarm ist nun abgeschlossen. Sie erreichen die Farmverwaltung ab sofort im Hauptwiki unter der Spezialseite "Special:SimpleFarmer" (Farmverwaltung).

Wichtig!Sollte der localhost nicht erreichbar sein, laden Sie sich die IIS Erweiterung "URL Rewrite" herunter. https://www.iis.net/downloads/microsoft/url-rewrite




Feedback zur Dokumentation ist im Community-Forum möglich.

Keine Kategorien vergebenBearbeiten

Diskussionen