moodle/mod/wiki/ewiki/README.de

820 lines
28 KiB
Plaintext
Raw Normal View History

README.de
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Dies ist eine teilweise <20>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<65>ckSl<53>shes \\\\" (WICHTIG)
9.5.5 Pa<50>w<EFBFBD>rter und tools/
-------------------------------------------------------------------------
Was ist das?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Dies ist eine "WikiWikiWeb" Bibliothek, die in der PHP Webskriptsprache
implementiert ist. Ein WikiWiki ist eine Webseite, die von wirklich jedem
ver<EFBFBD>ndert/erg<72>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"?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Meine Heimatstadt (Erfurt liegt nahe bei Weimar.de) - und das ist wirklich
nix weiter als ein Name! Der interne Projektname ist <20>brigens "ewiki".
Warum sollte man ausgerechnet dieses Wiki verwenden wollen?
- es ist wirklich alles notwendige in einer einzigen Skriptdatei, so
da<64> 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<><6D>te; das Wiki pa<70>t
sich wirklich in eine existierende Seite ein
- es ist vergleichsweise schnell, regul<75>re Ausdr<64>cke werden zwar auch hier
verwendet, aber nicht so exzessiv wie in anderen Wikis
(haupts<74>chlich einfache und flinke String-Funktionen)
- der Funktionsumfang ist inzwischen beachtlich :)
WikiAlternativen
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Es gibt auch noch andere h<>bsche WikiWare, falls jemand hiermit nicht
gl<EFBFBD>cklich werden tut:
* PhpWiki ist deutlich vollst<73>ndiger,
siehe http://freshmeat.net/projects/phpwiki,
unterst<73>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<74>chlich mehr ein CMS denn ein Wiki
* Und schlie<69>lich: sfWiki - das sourceforge Wiki (daher auch zu finden
bei http://sfwiki.sourceforge.net/). Teile der WikiSyntax sieht ein
wenig merkw<6B>rdig aus, ein paar andere Sachen sind ganz nett; und es
unterst<73>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
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Mario Salzer <milky*erphesfurt<72>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
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
freshmeat
- http://freshmeat.net/ewiki
demo:
- http://erfurtwiki.sourceforge.net/
neueste Versionen (instabile EnwicklerVersionen):
- http://erfurtwiki.sourceforge.net/downloads/
Support bekommen
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Hilfe bei der Installation gibt's nat<61>rlich, und selbstverst<73>ndlich sind
wir auch dankbar f<>r jeden Hinweis <20>ber bestehende Probleme und Fehler
(bekannterma<6D>en ist die REAMDE noch nicht ausf<73>hrlich genug und stellenweise
<EFBFBD>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<67><72>eren
Gruppe von Leuten zu bekommen (an- und wieder abmelden geht schnell).
Lizens
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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<74>chlich
wollte ich einfach keine LICENSE Datei mitreinpacken, die gr<67><72>er ist als
das eigentliche Programm.)
Da dies ein freies (Bier) St<53>ck Software ist, kann mich nat<61>rlich
niemand f<>r irgendwelche Fehler oder all die WIRKLICH SCHLIMMEN
FESTPLATTEN-SCH<43>DEN verantwortlich machen, die bei der Verwendung
entstehen k<>nnten ;>
-------------------------------------------------------------------------
Wie jetzt?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ewiki ben<65>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
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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 <20>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<EFBFBD>chste angeklickte WikiSeite aufgerufen wird.
Wenn du nur ein einziges "yoursite.php" Skript hast, wirst du den Wert
direkt in "ewiki.php" ver<65>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<75>ck, die
vom Browser angefragt wurde. Du mu<6D>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
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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 <20>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)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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<EFBFBD>tzlich doch auf Deutsch gibt!
Wer es partou nicht hinbekommt, kann nat<61>rlich die deutsche Sprache f<>r
ewiki erzwingen; hilfreich hierf<72>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<65>gt werden kann (nicht empfohlen):
$_SERVER["HTTP_ACCEPT_LANGUAGE"] = "de; q=1.0, en; q=0.2, eo, nl";
-------------------------------------------------------------------------
Im Detail
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Die MySQL DB Tabellenstruktur ist zu einem gewissen Grad kompatibel mit der
des allseits bekannten <20>PHPWiki<6B> (normalerweise reicht es EWIKI_DB_TABLE_NAME
auf "wiki" zu <20>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<69>t un so hab ich das adaptiert.
Dummerweise mu<6D> nun die ewiki_database() Funktion "pagename" st<73>ndig von
und nach "id" <20>bersetzen.
Die Spalte {version} wird zur Speicherung der verschiedenen abgelegten
Seiten<EFBFBD>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<72>lt die Nummer 1. Eine bestehende
Seiten {version} wird niemals <20>berschrieben werden => sehr sicherer MySQL-
Einsatz.
Mehr <20>ber die {flags} in dem entsprechenden Abschnitt in der README. Das
Feld {content} enth<74>lt nat<61>rlich den WikiSeitenQuelltext. {created} und
{lastmodified} enthalten die entsprechenden Zeitangaben im UNIX format.
{refs} enth<74>lte eine "\n" - getrennte Liste von referenzierten WikiSeiten.
Der Code um diese List zu erzeugen ist etwas unsauber, so da<64> oftmals
GeisterSeiten aufgef<65>hrt sind. Wieauchimmer, da<64> beeintr<74>chtigt ewiki
nicht wirklich, und eine Korrektur w<>re Zeit- und Geschwindigkeits-
verschwendung.
{meta} kann Bonusinfos enth, so da<64> die Tabellenstruktur nicht bei jeder
Erweiterung ge<67>ndert werden mu<6D>. Aktuell nur f<>r Bin<69>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<EFBFBD>ren Inhalt (vornehmlich Bilder), siehe {flags}.
Das Ein-Tabellen-Konzept hat es <20>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
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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<75>ckgegeben.
ewiki_page_...()
----------------
Die meisten Fkt. mit diesem Prefix wurden aus der Hauptfkt.
herausgetrennt, um ewiki <20>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<72>glicht es auch die
eigentlich reservierten Schr<68>gstriche in Seitennamen zu verwenden.
ewiki_control_links($id, $data)
-------------------------------
Gibt die Zeile mit "DieseSeite<74>ndern, SeitenInfo, ... links" aus.
ewiki_format($wiki_source, $scan_links=1, $html_allowed=0)
----------------------------------------------------------
Erzeugt die formatierten (HTML) Ausgabe f<>r den <20>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<70>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<74>lt
''only'' sechs SQL Kommandos, die ersetzt werden m<><6D>tem, wenn du eine
andere DB verwenden mu<6D>t.
Die einzelnen "atomaren" Funktionen sind beschrieben in der
orignialen README-Datei.
$GLOBALS Verschmutzung
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Zumindest die ewiki_page() Funktion erzeugt einige Variablen im globalen
Namensraum. Nat<61>rlich haben auch diese Namen, die sich mit irgendetwas
aus yoursite.php <20>berschneiden sollten:
$ewiki_id - Enth<74>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<61>r mu<6D> 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<64> 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<64> 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<45>LLT werden mit
irgendwelchen Bonusinfos.
$ewiki_auth_user - Enth<74>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<61>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
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - -
WARNUNG: Dieser Abschnitt ist grunds<64>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<72>hnt, oder inzwischen sogar __falsch__ beschrieben.
- - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - -
Dieser Abschnitt erkl<6B>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<70>t werden, einige
sind jedoch mehr wie Statusvariablen ausgelegt und sollten von "yoursite.php"
in Abh<62>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<EFBFBD>nnen nicht wieder ge<67>ndert werden).
EWIKI_SCRIPT
Wichtigste Einstellung. Wird von ewiki.php verwendet, um Links zu
anderen WikiSeiten zu erzeugen.
Es ben<65>tigt den Namen von yourscript.php, da<64> selbst wiederrum
ewiki.php geeignet einbindet.
Der Name der angefragten WikiSeite wird immer schlicht an den hier
definierten TextString angeh<65>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 <20>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<6E>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<65>gten
Seiten enth<74>lt.
EWIKI_PAGE_SEARCH
Enth<74>lt den WikiSeitenNamen f<>r dei SuchFunktion.
EWIKI_CONTROL_LINE
Wenn auf 0 gestzt, wird die Zeile unter einer WikiSeite mit
"DieseSeite<74>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 <20>ndern.
EWIKI_AUTO_EDIT
Bei 1 (voreinstellung) wird automatisch eine Edit-Box f<>r
nicht-exisiterende Seiten angezeigt, ansonsten wird eine ZwischenSeite
("Bitte <20>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
<20>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<69>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<62>ngig von
EWIKI_ALLOW_HTML.
EWIKI_DB_F_READONLY
WikiSeite kann nicht ver<65>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<63>tzt wurden.
EWIKI_ALLOW_OVERWRITE
F<>r eingeloggte nutzer kann yoursite.php diese Konst. auf 1 setzen, um
auch das <20>ndern von schreibgesch<63>tzten Seiten zu erlauben.
EWIKI_EDIT_AUTHENTICATE
Hiermit kann man ewiki dahingehend kaputt machen, da<64> alle Seiten
schreibgesch<63>tzt werden, und nur ver<65>nderbar sind, so yoursite.php
$ewiki_author setzt.
EWIKI_SCRIPT_BINARY
Um bin<69>re Daten ausgeben zu k<>nnen, mu<6D> hier ein wrapper-script
angegeben werden, da<64> ein Datenbank-Verbindung <20>ffnet und keine
Textausgaben erzeugt, bevor nicht ewiki.php eingebunden wurde,
da sonst nur Datenm<6E>ll ausgegeben w<>rde.
Um alle binary-Funktionalit<69>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<47><72>e von Bildern die in der DB abgelegt werden sollen.
EWIKI_IMAGE_RESIZE
Bilder herunterskalieren, wenn zu gro<72>.
EWIKI_IDF_INTERNAL
Wird verwendet um hochgeladene Bilder zu identifizieren. Bitte
im laufenden Betrieb nicht <20>ndern.
EWIKI_ADDPARAMDELIM
Automatisch definiert, enth<74>lt entweder "?" oder "&", abh<62>ngig von
EWIKI_SCRIPT.
EWIKI_T_*
<20>berholt, siehe ewiki_t() und $ewiki_t[] in der englischen README
EWIKI_CHARS_U
EWIKI_CHARS_L
Erlaubte Zeichen in WikiSeitenNamen (gro<72>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<72>hnten
SeitenFlags <20>ndern kann.
$ewiki_config[] array
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Einige der EWIKI_ Konstanten wurden durch Eintr<74>ge im $ewiki_config[] Array
ersetzt oder erg<72>nzt (die Konstanten k<>nnen weiterhin zur Voreinstellung
verwendet werden). Der Vorteil dieses Arrays ist, da<64> die Einstellungen auch
zur Laufzeit ge<67>ndert werden k<>nnen.
F<EFBFBD>r eine komplette und (einigerma<6D>en) aktuelle <20>bersicht bem<65>he bitte die
englischsprachige README.
-------------------------------------------------------------------------
Nur WikiQuelltextTransformation einsetzen
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Die ewiki_format Funktion war entworfen, um sie auch unabh<62>ngig von dem
restlichen WikiSkript einsetzen zu k<>nnen.
Ben<EFBFBD>tigt normalerweise nur den "wiki_source" Parmeter und erzeugt die
HTML-Seite daraus.
ewiki_format($wiki_source, 0);
Alles was man noch anpassen mu<6D> ist die $ewiki_links Variable. Setze
$ewiki_links=true ("true" und nicht "1") so da<64> ewiki_format() sp<73>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
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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<61>r
bereitgestelltem Ordner gespeichert. Stelle hierzu noch die Konstante
EWIKI_DBFILES_DIRECTORY in der Datei "ewiki.php" passend ein ("/tmp" w<>rde
jedesmal gel<65>scht, wenn der Server neu startet).
Das Verzeichnus mu<6D> 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<61>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
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Diese neuere Version von db_flat_files, speichert die WikiSeiten
komprimiert in einem Bin<69>r-Format (kann man nicht mehr mit Editor
ansehen und bearbeiten). Zus<75>tzlich wurde der HitZ<74>hler aktiviert.
db_fast_files wurde in db_flat_files integriert, so da<64> das neue
Format jetzt nur noch <20>ber eine Konstante aktiviert werden mu<6D>
(beide Dateiformate k<>nnen gleichzeitig in der DB vorhanden sein).
F<EFBFBD>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<EFBFBD>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<EFBFBD>seB<EFBFBD>ckSl<EFBFBD>shes
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Wenn auf deinen Seiten p<>tzlich viele "\" R<>ckw<6B>rtsSchr<68>gStriche
auftauchen liegt das an einer Fehlkonfiguration von PHP. In <20>lteren
Versionen war leider immer die Option "magic_slashes_gpc" aktiviert
(siehe auch php.ini).
Bitte am besten deinen WebserverProvider das zu <20>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 <20>ndere deine .htaccess Datei (Apache)
wie darin beschrieben.
--------------------------------------------------------------------------
Pa<EFBFBD>w<EFBFBD>rter und tools/
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Die tools/ sind gef<65>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<64> f<>r den Browser-Login-Dialog
verantwortlich ist. Wenn du also die tools/ verwenden willst, mu<6D>t du dort
zuerst einen Benutzer mit Pa<50>wort eintragen, sonst geht nix.
Um hingegen dein Wiki zu sch<63>tzen, so da<64> nur einige wenige Personen die
Seiten editieren k<>nnen, lie<69> dir bitte die Datei "plugins/auth/README.auth"
durch (leider nur in Englisch). Sie beschreibt den _PROTECTED_MODE und
stellt die entsprechenden Plugins vor.