moodle/mod/wiki/ewiki/README.de
moodler 39fcb981b8 Wiki module, copied from contrib/wiki.
I've left out stuff that didn't seem necessary ... including a lot
of the Wiki plugins which were quote large... I'm not sure if this
is currently working ... I'm about to try it out.
2004-06-02 12:45:55 +00:00

820 lines
28 KiB
Plaintext

README.de
¯¯¯¯¯¯¯¯¯
Dies ist eine teilweise Übersetzung der README Datei, die weiterhin als
Referenz verwendet sollte, da hier nur ein paar allgemeine und Setup-
Informationen enthalten sind.
1 Was ist das?
1.1 Warum "ErfurtWiki"?
1.2 WikiAlternativen
1.3 Autor
1.4 ProjektSeiten
1.5 Support bekommen
1.6 Lizens
2 Wie jetzt?
2.1 In yoursite.php integrieren
2.2 Den WikiSeitenNamen bestimmen
2.9.1 WikiSprache einstellen (deutsch)
3 Im Detail
3.1 die ewiki_ Funktionen
3.2 $GLOBALS Verschmutzung
3.3 die EWIKI_ Konstanten
3.4 $ewiki_config[] array
4.1 Nur die WikiQuelltextTransformation einsetzen
6.1.2 Ohne MySQL DB verwenden (WICHTIG)
6.1.3 db_fast_files
7.3.3 BöseBäckSläshes \\\\" (WICHTIG)
9.5.5 Paßwörter und tools/
-------------------------------------------------------------------------
Was ist das?
¯¯¯¯¯¯¯¯¯¯¯¯
Dies ist eine "WikiWikiWeb" Bibliothek, die in der PHP Webskriptsprache
implementiert ist. Ein WikiWiki ist eine Webseite, die von wirklich jedem
verändert/ergänzt werden kann, der dort vorbeischaut (ohne vorhergehenden
Registrierungskram).
Es sollte relativ einfach in bestehende Websites integrierbar sein,
weil es eben kein komplettes Script sondern vielmehr eine Bibliothek
ist, die kein fertiges Seitenlayout erzwingt. Stattdessen können die
erzeugten WikiSeiten als Inhalt in das Layout einer bestehenden Seite
eingebunden werden.
Warum "ErfurtWiki"?
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Meine Heimatstadt (Erfurt liegt nahe bei Weimar.de) - und das ist wirklich
nix weiter als ein Name! Der interne Projektname ist übrigens "ewiki".
Warum sollte man ausgerechnet dieses Wiki verwenden wollen?
- es ist wirklich alles notwendige in einer einzigen Skriptdatei, so
daß keine 20 anderen Dateien mit herumliegen müssen, wenn man es
in die eigene Site einbindet
- vordefinierte Layouts werden nicht aufgezwungen, es gibt Beispielseiten
aber keine Skins oder Themes aus denen man wählen müßte; das Wiki paßt
sich wirklich in eine existierende Seite ein
- es ist vergleichsweise schnell, reguläre Ausdrücke werden zwar auch hier
verwendet, aber nicht so exzessiv wie in anderen Wikis
(hauptsächlich einfache und flinke String-Funktionen)
- der Funktionsumfang ist inzwischen beachtlich :)
WikiAlternativen
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Es gibt auch noch andere hübsche WikiWare, falls jemand hiermit nicht
glücklich werden tut:
* PhpWiki ist deutlich vollständiger,
siehe http://freshmeat.net/projects/phpwiki,
unterstützt versch. Datenbanktypen, Lokalisierung, integrierter
Administrationsbereich
* Miki ist eine kleine WikiImplementierung in PHP von Jukka
Zitting. http://miki.sourceforge.net/
* http://coWiki.org/ ist tatsächlich mehr ein CMS denn ein Wiki
* Und schließlich: sfWiki - das sourceforge Wiki (daher auch zu finden
bei http://sfwiki.sourceforge.net/). Teile der WikiSyntax sieht ein
wenig merkwürdig aus, ein paar andere Sachen sind ganz nett; und es
unterstützt Benutzerauthentifizierung
* für andere Wikis in anderen Programmiersprachen einfach mal die
Suchmaschienen nerven:
http://www.freshmeat.net/search/?q=wiki&section=projects
http://www.google.com/search?q=wiki
Autor
¯¯¯¯¯
Mario Salzer <milky*erphesfurt·de>
ICQ95596825 und Yahoo: icq95596825
Und alle anderen wurden in die Datei CREDITS verbannt ;->
Dies ist ein relativ neues Projekt. Um es zu verbessern, bin ich sehr
auf Rückmeldungen angewiesen. Jede Mail ist ein wertvoller Beitrag!
ProjektSeiten
¯¯¯¯¯¯¯¯¯¯¯¯¯
freshmeat
- http://freshmeat.net/ewiki
demo:
- http://erfurtwiki.sourceforge.net/
neueste Versionen (instabile EnwicklerVersionen):
- http://erfurtwiki.sourceforge.net/downloads/
Support bekommen
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Hilfe bei der Installation gibt's natürlich, und selbstverständlich sind
wir auch dankbar für jeden Hinweis über bestehende Probleme und Fehler
(bekanntermaßen ist die REAMDE noch nicht ausführlich genug und stellenweise
überhaupt keine Hilfe).
Bevor du aber einen BugReport versendest, lies dir bitte folgende Anleitung
durch (absolut notwendig um KOSTENLOSEN support zu bekommen):
http://www.lugbz.org/documents/smart-questions_de.html
Danach bitte nicht zögern, einen der Autoren zu kontakten oder einfach eine
Nachricht in BugReports oder UserSuggestion auf unserer ProjektSeite zu
hinterlassen.
Wenn du dich auf unserer http://erfurtwiki.sourceforge.net/?MailingList
anmeldest, hast du die Möglichkeit Hilfe für dein Problem von einer größeren
Gruppe von Leuten zu bekommen (an- und wieder abmelden geht schnell).
Lizens
¯¯¯¯¯¯
Dieses "Programm" wird als "Public Domain" vertrieben. Public Domain
ist wie "FreeWare", nur ein bischen mehr frei ;-> Man kann sich das
vorstellen, wie die GPL ohne an die GPL gebunden zu sein. (Tatsächlich
wollte ich einfach keine LICENSE Datei mitreinpacken, die größer ist als
das eigentliche Programm.)
Da dies ein freies (Bier) Stück Software ist, kann mich natürlich
niemand für irgendwelche Fehler oder all die WIRKLICH SCHLIMMEN
FESTPLATTEN-SCHÄDEN verantwortlich machen, die bei der Verwendung
entstehen könnten ;>
-------------------------------------------------------------------------
Wie jetzt?
¯¯¯¯¯¯¯¯¯¯
ewiki benötigt:
- Webserver (Apache, Nanoweb, ...)
- PHP 4.1 oder neuer
- nach Mglk. eine MySQL Datenbank (läuft aber auch ohne)
- deine bereits exitierenden Webseite
- die wundervollen "magic slashes" in antiken PHP version sollten wirklich
abgeschalten sein
Wenn du keine MySQL-Datenbank hast, dann verwende die Erweiterung für
die Datei-Datenbank.
In yoursite.php integrieren
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
In den nächsten Abschitten, soll mit dem Begriff "yoursite.php" der
Teil deiner bestehenden Seite verstanden werden, der das Seitenlayout
erzeugt (der also zumindest die <html><body> Tags um die Ausgaben von
ewiki.php bastelt).
Die schlichteste Lösung findet sich auch noch mal in example-2.php:
<HTML>
<BODY>
<?php
mysql_connect("localhost", "DB-USER-NAME", "PASSWORD");
mysql_query("use DATABASE-NAME-HERE");
define("EWIKI_SCRIPT", "yoursite.php?page=);
error_reporting(0);
include("ewiki.php");
echo ewiki_page();
?>
</BODY>
</HTML>
Die ersten beiden Befehle öffnen eine Verbindung zur MySQL-Datenbank,
normalerweise würde man das Ergebnis von mysql_conect() in einer Variable
wie "$db" ablegen, aber da PHP ohnehin nicht auf deren Verwendung besteht,
wenn es nur eine DB-Verbindung gibt, wird eine solche Variable in
"ewiki.php" auch gar nicht verwendet (und der Name dieser Variable wäre
damit hier egal).
Der Wert in der define() Zeile sagt ewiki wie die Hyperlinks zu den
referenzierten WikiSeiten lauten müssen, damit ewiki.php auch für die
nächste angeklickte WikiSeite aufgerufen wird.
Wenn du nur ein einziges "yoursite.php" Skript hast, wirst du den Wert
direkt in "ewiki.php" verändern wollen.
Das error_reporting(0) wird sehr empfohlen.
Das include("ewiki.php") lädt endlich die ewiki "Bibliothek" und setzt
alle bis hierher noch nicht definierten EWIKI_ Konstanten.
Der Aufruf der ewiki_page() Funktion gibt diejenige WikiSeite zurück, die
vom Browser angefragt wurde. Du mußt hier "echo" davorsetzen, denn sonst
wird der Text nicht ausgegeben (verpufft im PHP-Nirvana) - ewiki gibt die
erzeugte Seite nicht selber aus.
Den WikiSeitenNamen bestimmen
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Wenn du ewiki_page() einfach so aufrufst wie im oberen Beispiel angegeben
(empfohlen), dann wird es versuchen, den Namen der angefragten Seite selber
zu ermmitteln ($_SERVER["PATH_INFO"] oder GET-Variablen '?id=' oder '?name='
oder '?page=' oder '?file=' in $_REQUEST["name"]).
Wenn yoursite.php aber einen anderen Weg benutzt (andere Parameternamen),
um den WikiSeitenNamen zu übergeben, dann kann man ihn schlicht als ersten
Parameter angeben:
ewiki_page( $id = "WikiSeitenNanem" );
Example-4.php zeigt das beispielsweise, um die Liste der aktualisierten
Seiten einzubinden.
WikiSprache einstellen (deutsch)
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Ich hab es jetzt schon einige Leute behaupten hören, aber auch beim
IntranetExplodierer kann man die "bevorzugten Sprachen" irgendwo einstellen.
Wers nicht findet, kann ja auch gleichmal auf einen aktuellen Browser
wechseln - das lohnt sich nicht nur wegen der vielen Seiten, die es dann
plötzlich doch auf Deutsch gibt!
Wer es partou nicht hinbekommt, kann natürlich die deutsche Sprache für
ewiki erzwingen; hilfreich hierfür ist z.B. die include()-Datei
"fragments/force_lang_de.php".
Es funktioniert aber auch mit diesem Befehl, der irgendwo in ewiki.php,
config.php oder yoursite.php eingefügt werden kann (nicht empfohlen):
$_SERVER["HTTP_ACCEPT_LANGUAGE"] = "de; q=1.0, en; q=0.2, eo, nl";
-------------------------------------------------------------------------
Im Detail
¯¯¯¯¯¯¯¯¯
Die MySQL DB Tabellenstruktur ist zu einem gewissen Grad kompatibel mit der
des allseits bekannten »PHPWiki« (normalerweise reicht es EWIKI_DB_TABLE_NAME
auf "wiki" zu ändern, um PhpWikis DB weiterzuverwenden).
Dies ist der MySQL Befehl, der die DB-Tabelle erstellt (beim ersten Start,
automatisch):
CREATE TABLE ewiki (
pagename VARCHAR(160) NOT NULL,
version INTEGER UNSIGNED NOT NULL DEFAULT 0,
flags INTEGER UNSIGNED DEFAULT 0,
content MEDIUMTEXT,
author VARCHAR(100) DEFAULT 'ewiki',
created INTEGER UNSIGNED DEFAULT 0,
lastmodified INTEGER UNSIGNED DEFAULT 0,
refs TEXT,
meta TEXT,
hits INTEGER UNSIGNED DEFAULT 0,
PRIMARY KEY id (pagename, version)
)
Den Spaltennamen {pagename} mochte ich eigentlich nicht, aber weil das der
offensichtlich einzige Unterschied zur PhpWiki-Tabelle war, kam mir die Idee
mit der Kombatibilität un so hab ich das adaptiert.
Dummerweise muß nun die ewiki_database() Funktion "pagename" ständig von
und nach "id" übersetzen.
Die Spalte {version} wird zur Speicherung der verschiedenen abgelegten
Seitenänderungen verwendet. In anderen Wikis gibt es zu diesem Zweck eine
Bonus-tabelle wie "backup" oder "history", aber ich hab den Sinn von sowas
bisher nicht verstanden; und daher gibt es in ewiki nur diese eine Tabelle
(und das scheint absolut zu reichen)!
Die erste {version} einer Seite erhält die Nummer 1. Eine bestehende
Seiten {version} wird niemals überschrieben werden => sehr sicherer MySQL-
Einsatz.
Mehr über die {flags} in dem entsprechenden Abschnitt in der README. Das
Feld {content} enthält natürlich den WikiSeitenQuelltext. {created} und
{lastmodified} enthalten die entsprechenden Zeitangaben im UNIX format.
{refs} enthälte eine "\n" - getrennte Liste von referenzierten WikiSeiten.
Der Code um diese List zu erzeugen ist etwas unsauber, so daß oftmals
GeisterSeiten aufgeführt sind. Wieauchimmer, daß beeinträchtigt ewiki
nicht wirklich, und eine Korrektur wäre Zeit- und Geschwindigkeits-
verschwendung.
{meta} kann Bonusinfos enth, so daß die Tabellenstruktur nicht bei jeder
Erweiterung geändert werden muß. Aktuell nur für Binärdaten (Bilder)
verwendet.
{hits} zählt die Seitenaufrufe, und ist nicht in {meta} integriert, weil
separat schneller und einfacher zu verwenden.
Die ewiki DB Tabelle kann nicht nur Texteseiten enthalten, sondern auch
binären Inhalt (vornehmlich Bilder), siehe {flags}.
Das Ein-Tabellen-Konzept hat es übrigens auch recht einfach gemacht, das
Datei-basierte DB-Backend zu entwickeln. Eine Beispieldatei:
id: WikiPageName
version: 1
flags: 1
author: 127.0.0.1:3054
created: 1046532697
lastmodified: 1046532697
refs: \nErfurtWiki\nNewestPages\n
!! WikiSourceContent
<more-text>...
ewiki_ Funktionen
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Einige der Basis-Funktionen aus ewiki.php können getrennt von den anderen
verwendet werden, andere sind ausgelegt um durch bessere Implementierungen
ersetzt zu werden.
ewiki_page($id)
---------------
Hauptfunktion, die die angefragte WikiSeite (oder die mit $id
angegebene) aus der DB holt, und mit ewiki_format() die fertige
HTML-Seite erzeugt.
Wenn die angefragte Seite nicht existert, wird eine edit-Box
zurückgegeben.
ewiki_page_...()
----------------
Die meisten Fkt. mit diesem Prefix wurden aus der Hauptfkt.
herausgetrennt, um ewiki übersichtlicher und leichter erweiterbar
zu machen.
Die meisten enthalten Code um spezielle/interne Seiten zu erzeugen
(Suche, Neuest, Info, und das Edit <FORMular>, ...)
ewiki_script()
--------------
Erzeugt URL aus angegebener Seiten $id und $action, verwendet dazu
die EWIKI_SCRIPT-Konstante. Dieser wrapper ermöglicht es auch die
eigentlich reservierten Schrägstriche in Seitennamen zu verwenden.
ewiki_control_links($id, $data)
-------------------------------
Gibt die Zeile mit "DieseSeiteÄndern, SeitenInfo, ... links" aus.
ewiki_format($wiki_source, $scan_links=1, $html_allowed=0)
----------------------------------------------------------
Erzeugt die formatierten (HTML) Ausgabe für den übergebenen
WikiQuelltext.
Der zweite Parameter gibt an, ob nach denen im Quelltext referenzierten
WikiLinks in der DB nachgesehen werden soll. Wenn dieser Parameter 0
ist, dann wird eine bereits vorh. $ewiki_links Array stattdessen
verwendet, um zu prüfen ob eine Seite in der DB vorh. ist.
ewiki_link_regex_callback()
---------------------------
Aufgerufen aus ewiki_format(). Um ewiki_format() {die eigentliche
WikiEngine} weiter von der Datenbank zu trennen, verwendet diese
Fkt. das globale array in $ewiki_links, in dem normalerweise vorher
schon gefundene WikiSeiten eingetragen wurden (siehe zweiter Param.
von ewiki_format) um entweder einen normalen Verweis oder einen
Fragezeichen-Link auszugeben (wenn die angegebene Seite noch nicht
exisitiert).
ewiki_binary()
--------------
Wird automatisch aufgerufen, wenn das Skript mit dem ?binary= Anhang
aufgerufen wird, um referenzierte / hochgeladene Bilder auszugeben.
ewiki_author()
--------------
erzeugt einen String, der mit REMOTE_ADDR und $ewiki_author
angereichert wurde.
ewiki_database($FUNCTION, $args=array() )
------------------------------------------
Diese Funktion ist die "Datenbankabstraktion" in ewiki. Sie enthält
''only'' sechs SQL Kommandos, die ersetzt werden müßtem, wenn du eine
andere DB verwenden mußt.
Die einzelnen "atomaren" Funktionen sind beschrieben in der
orignialen README-Datei.
$GLOBALS Verschmutzung
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Zumindest die ewiki_page() Funktion erzeugt einige Variablen im globalen
Namensraum. Natürlich haben auch diese Namen, die sich mit irgendetwas
aus yoursite.php überschneiden sollten:
$ewiki_id - Enthält die DB-$id der aktuellen Seite, ist nicht
immer identisch mit $ewiki_title.
$ewiki_action - Der $action-Parameter, mit dem die Seite angefordert
wurde.
$ewiki_title - Wird nach dem ersten Aufruf von ewiki_page() gestzt,
am nützlichsten um in dem <TITLE> Tag ausgegeben
zu werden - dafür muß aber ewiki_page() schon im
Kopfbereich aufgerufen werden, die Ausgabe gepuffert,
damit der Seitentitel noch innerhalb von <HEAD>
ausgegeben werden kann.
$ewiki_script - Eine Kopie von EWIKI_SCRIPT.
$ewiki_links - Ist ein Arraym daß in ewiki_format() prodiziert wird, und
alle gesuchten WikiSeitenNamen mit einem Wert von 0 oder 1
assoziiert, je nach dem, ob die Seite existiert oder nicht.
Wird diese variable jedoch auf ==true gesetzt (also kein
Array), wird angenommen, daß alle WikiSeiten existieren.
$ewiki_author - Der Inhalt dieser Variable wird in der {author}-Spalte
von gespeicherten WikiSeiten abgelegt (zusammen mit
IP:PORT).
Wenn yoursite.php Benutzer kennt und authentifizieren
kann, sollte der Nutzername hier abgelegt werden.
Diese Feld sollte aber NICHT ZUGEMÜLLT werden mit
irgendwelchen Bonusinfos.
$ewiki_auth_user - Enthält Namen eines wirklich authentifizierten
Benutzers im _PROTECTED_MODE. Nicht notwendig, wird aber
u.a. gerne von ewiki_auth() und ewiki_auth_user() zur
Vereinfachung verwendet.
$ewiki_ring - Berechtigungslevel im _PROTECTED_MODE
3 = nur lesen
2 = normaler Benutzer (lesen, editieren, ...)
1 = Moderator (auch Seiten löschen?)
0 = Administrator (darf alles)
$ewiki_plugins - Dieses array verbindet Aufgabengruppen (z.B. "database"
oder "image_resize") mit Funktionsnamen.
Dies stellt einen wirklich einfachen und dennoch mächtigen
Weg dar, um ewiki zu erweitern.
Es gibt ein eigenes Kapitel darüber in der orig. README.
$ewiki_config - Ersetzt teilweise die EWIKI_ Konstanten.
Folgende gibt's nich mehr (teilweise in $ewiki_config):
$ewiki_data, $ewiki_interwiki, $ewiki_internal_pages,
EWIKI_ Konstanten
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - -
WARNUNG: Dieser Abschnitt ist grundsätzlich besonders inaktuell! Von daher
sollte ein Studium des gleichnamigen Abschnitts in der orig. README-Datei
wirklich vorgezogen werden!! Viele der neu hinzugekommenen Konstanten werden
hier schlichtweg nicht erwähnt, oder inzwischen sogar __falsch__ beschrieben.
- - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - -
Dieser Abschnitt erklärt einige der Konstanten und wie man sie verwenden
kann, um ewiki nach der eigenen Pfeife tanzen zu lassen.
Normalerweise solltest diese innherhalb von "ewiki.php" angepaßt werden, einige
sind jedoch mehr wie Statusvariablen ausgelegt und sollten von "yoursite.php"
in Abhängigkeit von dort vorhanden Infos gesetzt werden (wenn dort Benutzer
eingeloggt sind z.B.).
Dann ist es gut einige der Konstanten vorzudefinieren (einmal def. Konst.
können nicht wieder geändert werden).
EWIKI_SCRIPT
Wichtigste Einstellung. Wird von ewiki.php verwendet, um Links zu
anderen WikiSeiten zu erzeugen.
Es benötigt den Namen von yourscript.php, daß selbst wiederrum
ewiki.php geeignet einbindet.
Der Name der angefragten WikiSeite wird immer schlicht an den hier
definierten TextString angehängt, daher sollter dieser immer in
"/" oder "?" oder "?id=" oder "?name=" oder "?page=" enden, damit
eine gültige URL dabei herauskommt und der SeitenName von ewiki_page()
gefunden wird.
Wenn auf deinem Server mod_rewrite vorhanden ist und funktioniert,
könntest du diese Konst. auch leer lassen, so alle Anfragen zu
http://wiki.example.com/ an das richtige Skript übergeben werden.
Ansonsten ist es gut, wenn eine URL absolut zum Server-Hauptpfad
angegeben ist, also z.B. "/~user/wiki/index.php/", damit Browser
keine ungültigen URLs erzeugen, sobald eine $action vor den
Seitennamen gesetzt wird (z.B. "edit/DieseSeite").
Die Konstante wird von ewiki_script() eingesetzt um URLs zu den
angegebenen Seiten zu erstellen (wobei einige Fehler abgefangen
werden).
EWIKI_SCRIPT_URL
Sollte eine absolute URL enthalten, die ebenfalls zum ewiki-wrapper
zeigt, z.B. "http://www.example.com/wiki/?id="
EWIKI_DB_TABLE_NAME
Setzt den Namen der MySQL DB Tabelle fest, die erzeugt und verwendet
werden soll, um alle WikiSeiten abzulegen.
EWIKI_PAGE_INDEX
Definiert den Namen der WikiSeite, die als Startseite angezeigt werden
soll.
EWIKI_PAGE_NEWEST
Name (intern erzeugt) der Seite, die List der zuletzt hinzugefügten
Seiten enthält.
EWIKI_PAGE_SEARCH
Enthält den WikiSeitenNamen für dei SuchFunktion.
EWIKI_CONTROL_LINE
Wenn auf 0 gestzt, wird die Zeile unter einer WikiSeite mit
"DieseSeiteÄndern, SeitenInfo, ..." nicht angezeigt.
In diesem Fall sollte der Edit-Link in yoursite.php erzeugt werden.
Besser ist es normalerweise das Aussehen der Ausgabe in
ewiki_control_links() selbst zu ändern.
EWIKI_AUTO_EDIT
Bei 1 (voreinstellung) wird automatisch eine Edit-Box für
nicht-exisiterende Seiten angezeigt, ansonsten wird eine ZwischenSeite
("Bitte ändere mich!") angezeigt (wie in PhpWiki).
EWIKI_LIST_LIMIT
Maximale Anzahl von Seiten, die in den generierten Listen angezeigt
werden sollen (Suche, ...)
EWIKI_PRINT_TITLE
Wenn 0 werden keine SeitenTitel (WikiSeiten und InterneSeiten)
angeziegt.
EWIKI_ALLOW_HTML
Normalerweise sollte im Wiki keine HTML erlaubt sein - böses JavaScript
und <brokenHTML/>, andere Leute nerven.
Siehe orig. README für mehr Informationen.
EWIKI_RESCUE_HTML
Überholt, siehe plugins/markup_rescuehtml.php
EWIKI_DB_F_TEXT
Dieses Flag wird für normale WikiSeiten in der DB gesetzt.
EWIKI_DB_F_BINARY
Für binären Inhalt in der DB.
EWIKI_DB_F_DISABLED
DB-Eintrage werden hiermit ausgeknippst.
EWIKI_DB_F_HTML
Erlaubt die Verwendung von HTML im WikiQuelltext, unabhängig von
EWIKI_ALLOW_HTML.
EWIKI_DB_F_READONLY
WikiSeite kann nicht verändert werden, so dieses Flag gesetzt ist.
EWIKI_DB_F_WRITEABLE
Umkehrung von READONLY, nur nützlich wenn zuvor alle Seiten mit
EWIKI_EDIT_AUTHENTICATE schriebgeschützt wurden.
EWIKI_ALLOW_OVERWRITE
Für eingeloggte nutzer kann yoursite.php diese Konst. auf 1 setzen, um
auch das Ändern von schreibgeschützten Seiten zu erlauben.
EWIKI_EDIT_AUTHENTICATE
Hiermit kann man ewiki dahingehend kaputt machen, daß alle Seiten
schreibgeschützt werden, und nur veränderbar sind, so yoursite.php
$ewiki_author setzt.
EWIKI_SCRIPT_BINARY
Um binäre Daten ausgeben zu können, muß hier ein wrapper-script
angegeben werden, daß ein Datenbank-Verbindung öffnet und keine
Textausgaben erzeugt, bevor nicht ewiki.php eingebunden wurde,
da sonst nur Datenmüll ausgegeben würde.
Um alle binary-Funktionalität (Bilder hochladen / cachen) loszuwerden,
einfach diese Konstante auf "" setzen, und die folgenden zwei auf 0:
EWIKI_CACHE_IMAGES
Bilder zwischenspeichern.
EWIKI_IMAGE_MAXSIZE
Maximale Größe von Bildern die in der DB abgelegt werden sollen.
EWIKI_IMAGE_RESIZE
Bilder herunterskalieren, wenn zu groß.
EWIKI_IDF_INTERNAL
Wird verwendet um hochgeladene Bilder zu identifizieren. Bitte
im laufenden Betrieb nicht ändern.
EWIKI_ADDPARAMDELIM
Automatisch definiert, enthält entweder "?" oder "&", abhängig von
EWIKI_SCRIPT.
EWIKI_T_*
überholt, siehe ewiki_t() und $ewiki_t[] in der englischen README
EWIKI_CHARS_U
EWIKI_CHARS_L
Erlaubte Zeichen in WikiSeitenNamen (große und kleine Letter). Hiermit
kann man das wiki lokalisieren; deutsche Umlaute sind schon enthalten.
UNIX_MILLENNIUM
Sehr wichtiges Ereignis ;)
Im tools/ Ordner ist ein kleines Script, mit dem man die erwähnten
SeitenFlags ändern kann.
$ewiki_config[] array
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Einige der EWIKI_ Konstanten wurden durch Einträge im $ewiki_config[] Array
ersetzt oder ergänzt (die Konstanten können weiterhin zur Voreinstellung
verwendet werden). Der Vorteil dieses Arrays ist, daß die Einstellungen auch
zur Laufzeit geändert werden können.
Für eine komplette und (einigermaßen) aktuelle Übersicht bemühe bitte die
englischsprachige README.
-------------------------------------------------------------------------
Nur WikiQuelltextTransformation einsetzen
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Die ewiki_format Funktion war entworfen, um sie auch unabhängig von dem
restlichen WikiSkript einsetzen zu können.
Benötigt normalerweise nur den "wiki_source" Parmeter und erzeugt die
HTML-Seite daraus.
ewiki_format($wiki_source, 0);
Alles was man noch anpassen muß ist die $ewiki_links Variable. Setze
$ewiki_links=true ("true" und nicht "1") so daß ewiki_format() später
annimmt alle WikiSeiten würden existieren.
Wers eilig hat, kann auch die extrahierte Variante fragments/wiki_format.inc
verwenden, die Frank Luithle beigesteuert hat.
-------------------------------------------------------------------------
Ohne MySQL DB verwenden
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Sollte dein Provider keine MySQL Datenbank für dich bereithalten, kannst
du das plugin "db_flat_files.php" verwenden (einfach include("plugins/...");
aufrufen um es zu laden).
Alle WikiSeiten werden dann in Textdateien in einem nur dafür
bereitgestelltem Ordner gespeichert. Stelle hierzu noch die Konstante
EWIKI_DBFILES_DIRECTORY in der Datei "ewiki.php" passend ein ("/tmp" würde
jedesmal gelöscht, wenn der Server neu startet).
Das Verzeichnus muß relativ zum ewiki.php script angegeben werden, oder
absolut zum Serverhauptverzeichnis, nicht aber relativ zum DocumentRoot
deines Webspeicherplatzes! In diesem Beispiel wäre "./pages" richtig:
Erstelle ein neues Verzeichnis (via FTP-Programm) und gib dem Webserver
Schreibzugriff dafür mit dem Befehl " chmod 777 ./pages ".
ftp> cd .../ewiki
ftp> mkdir pages
ftp> chmod 777 pages
ftp> ls
-rw----r-- 1 deinname deinname 57024 01. Jan 00:00 ewiki.php
-rw----r-- 1 deinname deinname 512 01. Jan 00:00 index.php
drw----r-x 2 deinname deinname 4096 01. Jan 00:00 init-pages
drwxrwxrwx 2 deinname deinname 4096 25. Feb 23:59 pages
drw----r-x 5 deinname deinname 4096 01. Jan 00:00 plugins
-rw----r-- 1 deinname deinname 15826 01. Jan 00:00 README.de
ftp> quit
Mit einem graphischem FTP-Programm gibt es auch immer die Mglk. die
"Dateizugriffsrechte" einzustellen.
db_fast_files
¯¯¯¯¯¯¯¯¯¯¯¯¯
Diese neuere Version von db_flat_files, speichert die WikiSeiten
komprimiert in einem Binär-Format (kann man nicht mehr mit Editor
ansehen und bearbeiten). Zusätzlich wurde der HitZähler aktiviert.
db_fast_files wurde in db_flat_files integriert, so daß das neue
Format jetzt nur noch über eine Konstante aktiviert werden muß
(beide Dateiformate können gleichzeitig in der DB vorhanden sein).
Für die schnellere Variante aktiviere in "plugins/db_flat_files.php"
die entsprechende Konstante:
define("EWIKI_DB_FAST_FILES", 1);
(Diese Einstellung könntest du aber auch schon in der "config.php"
eintragen.)
Zusätzliche Konstante: EWIKI_DBFILES_GZLEVEL sagt wieviel Zeit
beim Komprimieren verschwendet werden soll:
0 - keine Komprimierung
1 - ein ganz klein wenig Kompr.
2 - Voreinstellung, schnell
5 - normaler Wert in zlib, gute Komprimierung
9 - langsam für allerbeste Kompression
Dieses plugin wurde von Carsten Senf beigesteuert.
--------------------------------------------------------------------------
BöseBäckSläshes
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Wenn auf deinen Seiten pötzlich viele "\" RückwärtsSchrägStriche
auftauchen liegt das an einer Fehlkonfiguration von PHP. In älteren
Versionen war leider immer die Option "magic_slashes_gpc" aktiviert
(siehe auch php.ini).
Bitte am besten deinen WebserverProvider das zu ändern. Wenn du aber bei
einem der BilligHoster (umsonst wie sourceforge.net oder tripod.com) bist,
gilt wie immer: einem geschenkten Gaul...
Dann verwende bitte "fragements/strip_wonderful_slashes.php", um das
Problem zumindest zu umschiffen, oder ändere deine .htaccess Datei (Apache)
wie darin beschrieben.
--------------------------------------------------------------------------
Paßwörter und tools/
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Die tools/ sind gefährlich und daher per Voreinstellung nicht ohne weiteres
Nutzbar. In der Datei "tools/t_config.php" wird das Script
"fragmenst/funcs/auth.php" geladen, daß für den Browser-Login-Dialog
verantwortlich ist. Wenn du also die tools/ verwenden willst, mußt du dort
zuerst einen Benutzer mit Paßwort eintragen, sonst geht nix.
Um hingegen dein Wiki zu schützen, so daß nur einige wenige Personen die
Seiten editieren können, ließ dir bitte die Datei "plugins/auth/README.auth"
durch (leider nur in Englisch). Sie beschreibt den _PROTECTED_MODE und
stellt die entsprechenden Plugins vor.