[phpnuke logo]
Almost everyone has come into contact with CMS systems at any time. Almost everyone used them without knowing it. Today a lot of homepages are at the bottom of CMS systems. If for example a user registers on a website in order to demand for userdependent parts, he then uses the Content Management System (CMS) without knowing it. It generates userpersonal startpages of a homepage or it filtrates information corresponding to requests of the user, e.g. But CMS systems are able to do more. For instance users are even able to extend the homepage by publishing own articles or by entering into discussion groups. Such a system is PHP Nuke, which understands itself as an editorial system and the following text deals with it.
Fast jeder ist schon mal mir CMS Systemen in Berührung gekommen. Fast jeder hat
sie schon benutzt ohne es zu wissen. Hinter vielen heutiger großer Internet
Auftritte steckt ein CMS System. Wenn Benutzer sich auf einer Webseite anmelden
um zum Beispiel Benutzergebundene Teile in Anspruch zu nehmen, nutzen Sie dabei
oft unbewusst ein Content Management System. Dieses generiert zum Beispiel
Personenbezogene Startseiten einer Homepage oder filtert nach User wünschen
Informationen. Aber CMS Systeme können noch mehr. So kann ein Nutzer sogar
selbst die Homepage erweitern in dem er zum Beispiel eigene Artikel
veröffentlichen oder Diskussionsforen moderieren. Ein solches System ist PHP
Nuke, welches sich selbst als ein Redaktionssystem versteht und welches der
folgende Text zum Inhalt halt.
PHP-Nuke beschreibt sich selbst als ein Web-Portal- und
Online-Community-System, welches Webbasierende Administration, Umfragen, vom
User einstellbare »Boxes«, Themes-Manager und eine benutzerfreundliche
Administrations-GUI multilingual (also mehrsprachig) vereint. Man könnte sagen
Nuke ist ein einfaches WCMS mit Redaktions- oder auch Portalsystem. Kern des
Systems ist deshalb auch das Redaktionsmodul welches ein Fülle an Modulen zur
Verfügung stellt um ein dynamischen Redaktionsorientiertes Portal auf die Beine
zu stellen. Durch das eingebaute Artikel – System ermöglicht PHP-Nuke vor allem
den Projekten eine Verwirklichung, bei denen mehrere Personen auf der Homepage
Artikel schreiben bzw. Verfassen sollen – ohne jedoch die Seite als solche
editieren zu müssen. Auch die eigentliche Verwaltung der Seite, das bedeutet das
System und das äußere Erscheinungsbild, kann bequem über die Homepage erfolgen –
ohne dass die Seite umprogrammiert werden muss. Veröffentlicht und Entwickelt
wurde PHP Nuke im übrigen im Juni 2000 von dem Südamerikaner Francisco Burzi. Zudem ist PHP-Nuke ein frei
verfügbares System, veröffentlicht unter der GPL. Es darf also von jedem
eingesetzt werden, gleich ob kommerziell, privat oder gemeinnützig. Durch den
frei verfügbaren Code und die täglich wachsende Gemeinde an PHP-Nuke Nutzern
werden täglich neue Funktionen zu diesem System verfügbar, die teilweise simpel
zu dem bestehenden System hinzugefügt werden können.
Allerdings ist die GPL seit der Version 5.6 etwas eingeschränkt. Das heißt eine
Copyrightzeile steht nun unter jeder generierten Seite und diese darf nicht
entfernt werden. Allerdings ist noch sehr strittig ob dies rechtens ist und was
es heißt diese Zeile darf nicht entfernt werden. Denn bei geschicktem Einsatz
von Templates ist diese Zeile nach wie vor nicht mehr Sichtbar.
Systemvoraussetzungen :
Plattform übergreifend (benötigt aber Apache Webserver)
PHP v4
Datenbank (MySql, mSQL, PostgreSql, PostgreSQL_local, ODBC, ODBC_Adabas,
Interbase und Sybase möglich)
Speicherplatz des Systems selbst 5-10 MB
Speicherplatz Datenbank variabel da diese immer weiter wächst. Allerdings sollte
hier fürs erste 15 MB völlig ausreichend sein.
Für einen Test zuhause bietet sich ein Projekt von Apachefriends an, welches
einen vorkonfigurierten Apache Webserver mit PHP und mySQL sowie zur Datenbank
Administration phpmyAdmin. Dieses XAAMP genannte Projekt kann man für
verschiedene Plattformen downloaden [www.apachefriends.org].
Historie von PHP Nuke
Hervorgegangen ist PHP Nuke seinerzeit aus dem CS System Thatware. Und hat
dieses mittlerweile weit hinter sich gelassen. Thatware hat bis heute kein Modulkonzept oder Block Aufteilung wie in Nuke. Die erste wirklich ausgereifte
Version von Nuke war die Version 4.4.1a. Hierfür finden Sie auch bereits sehr
viele Downloads und unsere Dokumentation gibt es auch für diese Version. Das
System ist aufgrund seiner Struktur etwas schneller und vor allem wegen des
fehlenden Modulsystems auch sehr leicht anzupassen. Das System ist noch
„relativ“ schlank. Das bedeutet aber nicht, dass ab der Version 5 das PHP-Nuke
System aufgebläht ist. Durch ein konsequentes Aufräumen der Systemdateien ist PHP-Nuke 5 weiterhin recht
schlank geblieben und kann auf Wunsch durch löschen
nicht benötigter Module und Themes etc noch weiter verkleinert werden.
Die Version 5 in PHP-Nuke kannte die wichtigsten Neuerungen:
Blöcke und Module. In der Version 5.5 wurde die Modularisierung endgültig
vollständig umgesetzt. Das PHP-Nuke 5.5 System verfügt über einen weit
fortgeschrittenen Code, ist strukturiert und leicht anzupassen.
Seit PHP-Nuke 5.6 hat sich (leider) nur wenig im Code getan. Die Versionen 5.5,
5.6, 6.0 und 6.5 bis 7.2 sind praktisch baugleich. In Version 6.0 gab es
lediglich ein paar weitere Module und die Version 5 wurde damit abgeschlossen.
In Version 6.9 wurden dann in der Nuke Datenbank zahlreiche Bezeichner der
Tabellen geändert .Leider auch ohne jeglichen Grund dafür zu nennen. Ein Problem
mit dem man wohl leben muss wenn ein GPL Projekt nur von einem Programmierer
alleine betreut wird.
Leider wird zudem ab der Version 5.6 eine Copyrightzeile in den generierten
Seiten eingefügt was das System für den kommerziellen Einsatz ein wenig
unattraktiver macht. Jedoch kann man selbstverständlich eine kommerzielle
Version von PHP Nuke erwerben in der man diese Zeile entfernen darf. Ob das
alles noch mit der GPL übereinstimmt muss noch geklärt werden.
SpinOff / SplittOff PostNuke:
Als Basis diente der ersten PostNuke Version PHPNuke in der Version 5.
PostNuke setzte als erstes Projekt die vollständige Modularisierung, um die
inzwischen auch bei PHPNuke erreicht wurde und setzt nach eigenen Angaben vor
allem auf Leistungsfähigkeit. PostNuke ist angeblich inzwischen in der Lage
500.000 Pageviews täglich zu handhaben. Das Projekt wird bei Sourceforge geführt
[www.postnuke.com].
Größte Unterschied: Das differenzierte User/Admin System mit Rechte-Management
macht es für ausgefeiltere Content-Sites interessant, wo mehrere Admins mit
unterschiedlichen Schreib-Rechten eingerichtet werden sollen.
Weiter Spinoffs sind zum Beispiel MyPHPNuke oder Xaraya. Es gibt jedoch noch
eine Anzahl weiterer die allerdings bisher nicht diesen Bekanntheitsgrad
erreichen konnten.
Installation:
Die Installation von PHP Nuke ist denkbar einfach. Bei einem bestehendem
Webserver mit PHP und SQL Datenbank muss im Prinzip lediglich PHP Nuke in den
htdoc Bereich kopiert werden mit entsprechenden Rechten für die php Dateien
und eine SQL Datenbank für PHP Nuke angelegt werden. Schon ist das System fertig
für den Einsatz.
Wenn die Datenbank für Nuke nicht auf dem localhost läuft muss eventuell noch
die Datei config.php angepasst werden. Dort müssen auch die Änderungen für
Datenbanktyp, Username, Userpasswort etc für den Zugriff auf die Datenbank
erfolgen.
Hier gibt es noch eine $prefix Variable zu beachten. Da PHP Nuke auf die Tabelle
mit einem bestimmten Namen in der Datenbank zugreift scheint es unmöglich zu
sein mehrere PHP Nuke Seiten in einer Datenbank zu verwalten. Wenn man eine
weitere PHP Nuke Seite anlegen möchte müsste man ja erneut die Tabellen in die
Datenbank einfügen, diese bestehen aber ja bereits. Bis PHP 4 konnte man dieses
Problem nur durch Eingriff in den Quellcode lösen. Ab Version 5 gibt es eine
einfache Möglichkeit das Problem zu lösen mittels einer $prefix Variablen in der
config.php.
Das System ist simpel: Jeder Tabelle in der Datenbank wird das Präfix
vorangestellt, aus „Downloads“ wird also „nuke_downloads“ oder „xyz_downloads“,
wenn man als Präfix „xyz“ angibt. Es ist somit möglich in einer Datenbank
mehrere Tabellen mit unterschiedlichen Präfix anzugeben, so dass man mehrere
PHPNuke Seiten mit einer Datenbank steuern kann! Problematisch ist aber, dass
man dazu das mitgelieferte SQL File von Hand ändern muss, da es standardmäßig
auf „nuke“ als Prefix eingestellt ist.
Seit der PHP-Nuke Version 5.4 steht eine weitere $prefix Variable zur Verfügung:
$user_prefix; Der Sinn dieser Variable ist simpel wie effektiv: Geben Sie hier
die Bezeichnung der Datenbank an, in der die User Tabelle liegt, die genutzt
werden soll. Sinn macht dies dann, wenn Sie z.B. auf dem gleichen
Datenbankserver mehrere Datenbanken für PHP-Nuke Seiten haben. Durch dieses
Prefix können sich alle Nuke Seiten die gleiche User-Tabelle teilen. Wenn ein
Benutzer sich auf Seite 1 registriert, wird er auch auf Seite 2 erkannt.
Zum starten von PHP Nuke öffnen Sie im Webbrowser das html Verzeichnis Ihrer PHP
Nuke Installation. Das bedeutet also das dieses Verzeichnis sich am besten in
das Root Verzeichnis Ihres Webservers kopiert wird damit es direkt ansprechbar
ist ;-) Beim ersten Start sollten Sie natürlich einen Admin anlegen. Dazu rufen
Sie einfach admin.php auf oder klicken Sie auf der Home Seite auf das
unterstrichene HERE um einen Superuser anzulegen. Das war's dann auch schon. PHP
Nuke ist nun installiert und läuft bereits mit den Voreinstellungen. Natürlich
muss die Seite jetzt noch nach den eigenen Wünschen hin angepasst werden.
Tipp:
Cookies müssen im Webbrowser aktiviert sein, da die Login Daten hier gespeichert
werden.
Alle Admins werden in der Tabelle _authors gespeichert. Sollte also einmal das
Passwort für einen Admin verloren gegangen sein kann man hier ein wenig
nachhelfen. Wenn hier gar kein Admin mehr drin steht muss beim Aufruf von
admin.php wieder ein Superadmin angelegt werden. Sollte Sie die Admins nicht
alle löschen wollen kann man bei einem gewünschten Admin auch das Passwort
einfach abändern. Die Passwörter sind MD5 Hashs welche man mit einfachen Tools
generieren kann. Zum Beispiel kann man als Passwort für einen Eintrag
21232f297a57a5a743894a0e4a801fc3 eingeben und das Passwort für diesen User
lautet dann 'admin'.
Einfach gesagt kann man bei PHP Nuke in zwei Bereiche unterscheiden. In den User
Bereich und in den Admin Bereich.
Ich möchte hier einmal die Hauptfunktionen für Benutzer einer PHP Nuke Seite in
der Standard Installation kurz vorstellen.
Generell ist eine Nuke Seite im Allgemeinen in 5 Bereiche unterteilt.
Selbstverständlich lassen sich diese Teile grob beeinflussen
durch Deaktivierung der Blöcke oder durch Veränderungen in den Design Templates.
Header
Dieser Bereich enthält meistens ein Suchfeld und Bannerwerbung. header.php
inkludiert die theme.php die derzeit aktiviert ist. Leider nimmt diese dann auch
Einfluss auf die angezeigten Optionen im Header Bereich der Seite. So kann in
dem einem Design hier noch das Suchfeld zu finden sein und in einem anderen
Design nicht mehr. Ein Kritikpunkt an PHPNuke. Die unsaubere Trennung von
Content und Design
Footer
Hier werden standardmäßig Copyright und Erstellungszeit der generierten Seite
ausgegeben. In footer.php ist dann auch die ungeliebte Copyright Zeile des
Autors untergebracht die selbstverständlich nicht gelöscht werden darf.
footer.php hat keinen direkte Anbindung durch Inkludierung an das derzeitige
Theme.
Blöcke
Die Blöcke Unterscheiden sich in Links der Module Block in dem die derzeitig
aktiven Module stehen. Dieser Block lässt sich auch wieder durch inkludieren des
Themes modules.php verändern. In manchen Themes existiert daher dieser Block
überhaupt nicht. Genauso verhält es sich auch mit dem Rechten Block. Der
mittlere Block ist ein Sonderfall. Er enthält die generierte Seite des
aktivierten Moduls und kann nicht gelöscht werden wie etwa bei dem Modules
Block. Generiert wird dieser durch mainfile.php welches dann wieder zu einem
gewissen Teil durch das eingestellte Theme beeinflusst wird.
Angemeldete Nutzer haben Ihr eigenes Menü und können auf alle
Module der Seite zugreifen. Ist ein Nutzer angemeldet speichert Nuke einen
Cookie auf dem Clientrechner mit den Zugangsdaten, einer Session Nummer und dem
eingestellten Theme. Alles MD5 verschlüsselt.
Ihre Informationen:
Unter Informationen kann alles persönliche zum User eingestellt werden.
Beginnend beim Namen über E-Mail Adresse bis hin zu Zeitzone. Außerdem kann hier
das persönliche Passwort abgeändert werden. Sie können auch für das Forum einen
Avatar auswählen oder sogar eigene hoch laden. Dazu muss allerdings das Avatar
Management aktiviert sein. Siehe Admin Bereich Forums.
Startseite anpassen:
Hier kann die persönliche Startseite des Users ein wenig angepasst werden. So
kann hier die maximale Anzahl der Nachrichten die angezeigt werden soll,
eingestellt werden und ein persönliches Menü eingefügt werden in dem eigener
HTML Code für zum Beispiel Links eingesetzt werden kann.
Kommentaransicht:
Einstellungen für dir Diskussionsforen. Filterung nach bestimmten Kriterien,
Sortierung sowie mögliche Reduzierungen der angezeigten Kommentare.
Nachrichten:
Internes Nachrichten/Mail System einer PHP Nuke Seite. Hier gelangt man in den
Mail Bereich der Webseite. Registrierte User können sich hier Nachrichten
schreiben ähnlich des E-Mail Systems. Allerdings ohne Anbindung an das Internet.
Nachrichten können lediglich lokal versendet und empfangen werden.
Seitendesign:
Eröffnet dem User die Möglichkeit für Ihn persönlich die Seite in einem anderem
Design zu präsentieren. Vorausgesetzt es existieren mehrere Designs.
Design befinden sich im 'html/Themes' Ordner der PHP Nuke Installation.
Durch einfaches hinein kopieren oder löschen kann die Auswahl an Designs ohne
Neustart beeinflusst werden.
Abmelden:
Beendet die Nuke Session und löscht den Cookie auf dem Client Rechner.
Der bei weitem Interessantere Teil beim Umgang mit einer PHP
Nuke Seite ist der Admin Bereich. Leider kann Nuke nur einen wirklichen Admin
anlegen der die Seite administrieren darf. Alle anderen Admins sind nur pseudo
Zugänge die lediglich Veränderungen in den Modulen durchführen können, wie zum
Beispiel neue Artikel veröffentlichen etc.. So ist es zwar möglich einen
Superuser zu erzeugen, jedoch darf der dann wirklich alles. Eine abgestufte
Variante der Seiten Admins wie es das zum Beispiel in PostNuke gibt, sucht man
hier vergebens.
Im folgenden werde ich die einzelnen Bereiche des Admin Teils einmal kurz
erläutern.
Neue Artikel :
In diesem Bereich kann der Admin selbst Artikel verfassen. Dieser Artikel kann
dann einem bereits vorhandenem Thema zugeordnet werden und auch Wunsch auch erst
Zeit versetzt veröffentlicht werden. Wenn man es wünscht kann auch direkt eine
Umfrage für diesen Artikel gestartet werden, wo dann Nutzer mit ihre Meinung
abstimmen dürfen.
Backup DB :
Wie der Name schon verrät kann der Admin hier die Datenbank sichern. Die
Sicherung ist denkbar einfach. Der Admin kann sich einfach ein SQL File als
Textdatei generieren lassen welches einfach die SQL Anweisungen enthält die zu
dieser Datenbank führen würden. Bei großen Datenbanken wäre es sinnvoll wenn man
diese Datei vielleicht auch direkt als Zip Datei downloaden könnte da sie als
Textdatei dann doch irgendwann mal recht gross werden. Vielleicht folgt das ja
noch oder man ändert einfach selbst das Modul.
Unter <html/admin/modules/backup.php> werden
die Daten generiert und könnten hier zum Beispiel dann auch gezippet werden.
PHPMyAdmin bietet seit der Version 2.4.0 ebenfalls die Möglichkeit die Datenbank
mit GZIP komprimiert zu sichern.
Banner :
Hier steht dem Admin eine kleine Werbekunden- und Bannerverwaltung zu. Es können
Kunden angelegt werden und Banner zu dem dem Kunden registriert werden sowie die
Anzahl der gekauften Werbe Einblendungen.
Kunden können sich dann über <banners.php?op=login>
einloggen und haben hier Zugriff auf Statistiken Ihrer gebuchten Bannerwerbung.
Klickrate, Views und Status der Banner können abgerufen werden.
Sollte das Banner nicht angezeigt werden so besteht die Möglichkeit das Banner
überhaupt nicht aktiviert worden sind. Oder aber das Theme ist daran Schuld. In
der theme.php des jeweiligen Themes gibt es eine Funktion themeheader() im
oberen Teil muss banners.php irgendwo aufgerufen werden. Bevor dies geschieht
muss
allerdings eine Globale Variable global $banner definiert worden sein!
Überprüfen Sie dies wenn das Banner in einem bestimmten Theme nicht angezeigt
wird.
Blöcke :
Hier liefert Nuke eine Übersicht über die bestehenden Blöcke. Hier kann der Admin
festlegen wo der Block anzeigt wird, das heißt also links, rechts, oben oder
unten, sowie in welcher Reihenfolge die Blöcke angeordnet sind. Außerdem kann er
festlegen wie lange der Block überhaupt erscheint und wer Ihn denn sehen kann.
Also zum Beispiel ein Block mit Statistiken vielleicht nur für Admins. Zu guter
letzt kann man natürlich auch noch neue Blöcke hinzufügen, allerdings nicht nur
HTML Blöcke sondern auch RSS/RDF Blöcke die dann auch eine sich wiederholende
Aktualisierung bedürfen zum Beispiel für Headlines oder Newsticker. Das bedeutet
es werden Headlines, also News von anderen Seiten importiert. Selbstverständlich
kann man auch die eigenen News zum Export freigeben und andere Seiten können
diese dann importieren. Klickt dann ein User auf eine solche exportierte News
gelangt er aber selbstverständlich auf die eigene Seite um sie dort lesen zu können.
Zum Import der News von Ihrer Seite müssen andere Internetauftritte die Datei
backend.php von Ihrer Seite einbinden. Hierbei werden die letzten 10 Meldungen
exportiert. Sollten Sie keinen Export Ihrer News wünschen kann man diese Datei
auch einfach löschen.
Inhalt :
Inhalt oder Content ist ein vorinstalliertes Modul von Nuke. Hier haben Sie die
Möglichkeit eigene Seiten in Nuke einzufügen. Sie können Kategorien anlegen und
Artikelseiten erstellen und der jeweiligen Kategorien zuordnen. Die Erstellung
erklärt sich von selbst so das ich darauf nicht weiter eingehen möchte. Eines
noch als Tipp. Selbstverständlich können Sie hier auch html Tags verwenden um
Ihre Seite anspruchsvoll zu gestalten.
Downloads :
In diesem Modul haben Sie die Möglichkeit Ihren Besuchern verschieden Downloads
anzubieten. Auch hier gibt es wieder Kategorien und Unterkategorien denen die
Downloads zugeordnet werden. Hierbei können Größe der Datei, URL, Autor und
Beschreibung angeben werden. Nutzer haben dann aber nicht nur die Möglichkeit
sich den Link zu downloaden sondern auch eine Bewertung für diesen Download
abzugeben und sich eine Statistik über die abgegebenen Stimmen ansehen. Zudem
dann der Nutze auch ggf. "tote" Links zu melden, welche dann dem Admin als
"Gemeldete defekte Downloads" angezeigt werden. Zudem kann der Admin alle Links
auch automatisch über den Punkt "Überprüfte Downloads/Überprüfe" alle Downloads
auf Erreichbarkeit hin checken lassen. Das Anlegen von Kategorien und Downloads
ist denkbar einfach und ähnlich dem System für Inhalt oder Artikel und erklärt
sich daher von selbst.
Administratoren :
Hier hat der Admin die Möglichkeit neben sich als God Admin noch weitere
Administratoren bzw. Autoren anzulegen. Selbstverständlich auch noch einen God
Admin, doch der darf dann auch wirklich alles, auch den ursprünglichen God Admin
löschen ! Es gibt hier ein kleines System zur Rechteverwaltung was sich darauf
beschränkt was ein Autor tun darf. Autoren können Zugriff auf folgende Bereiche
der Nuke Seite haben :
Artikel |
Themen |
Benutzer |
|
Umfragen |
Bereiche |
Links |
|
Tagesmotto |
FAQ |
Downloads |
|
Testberichte |
Newsletter |
Forum |
|
Inhalt |
Enzyclopädie |
Super-User |
|
Wie man sieht könnte man sich noch weitere Rechte wünschen wie zum Beispiel das
Autoren andere Autoren anlegen können die dann zum Beispiel einen bestimmten
Teil administrieren dürfen. Eine solche Delegation von Arbeit ist leider in PHP
Nuke nicht möglich. Post Nuke der Spinoff hat bereits diese und weiterführende
Möglichkeiten was es für größere Seiten interessanter macht als PHP Nuke.
Benutzer :
Viel gibt es hierzu eigentlich nicht zu sagen. Der Admin kann Benutzer anlegen
oder bestehende Nutzerdaten modifizieren.
Enzyklopädie :
Die Enzyklopädie ist eine Art Glossar. Hier kann man dann bestimmte Begriffe
erklären und einer Sprache zuordnen. Dem Nutzer steht später
selbstverständlich eine Suchfunktion über das Glossar zur Verfügung. Praktisch
bei wissenschaftlichen Themengebieten mit vielen Abkürzungen die nicht
unbedingt jeder kennt.
Tagesmotto :
Tagesmotto oder Emphemeriden sollen eine Nukeseite interessanter gestalten.
Hier kann man zu jedem Tag des Jahres ein Motto oder eine kurze Geschichte
erzählen die dann dem User angezeigt wird.
FAQ :
Im Prinzip genau das gleiche wie das Glossar nur unter einem anderen Namen.
Nur diesmal mit der Möglichkeit die Texte in Kategorienzu Unterteilen.
Zugänglich für die User über das FAQ Modul.
Forums :
Das Forum ist quasi völlig eigenständig und bietet den Nutzern der Nukeseite
die Möglichkeit in einem Forum zu diskutieren. Angemeldete User sind automatisch
auch beim Forum angemeldet und können hier aktiv werden. Wenn man als Admin in
das Forum geht, gelangt man automatisch in den Admin Bereich des Forums. Hier
können dann wieder Einstellungen zum Forum vorgenommen werden oder Statistiken
des Forum eingesehen werden.
Hier kann unter Konfiguration dann auch das Avatar Management aktiviert werden was registrierten Nutzern die Möglichkeit gibt auch eigene Avatare hoch zu laden. User finden diesen Punkt dann aktiviert unter "Your Account / Your Information". Bei der Standard Installation ist das Avatar Management deaktiviert !
Benutzergruppen :
Benutzergruppen soll eine Art Belohnungssystem für besonders aktive Nutzer sein.
Hier kann man Punkte für veröffentlichte Beiträge, Umfragen Beteiligung oder
ähnliches vergeben. Wenn ein Nutzer eine gewisse Punktzahl erreicht hat gelangt
er in eine nächst höhere Benutzergruppe, welche man selbst mit Namen,
Beschreibung und notwendige Punktzahl anlegen kann. Daraus resultiert jedoch
keine einhergehende Rechtevergabe wie man vielleicht vermuten könnte. Der Nutzer
ändert lediglich die Benutzergruppe. Sollte sich damit auch Rechte ändern muss
das der Admin selbst von Hand nachtragen.
HTTP Refer :
Refer sind die Herkunft Links, also von welcher Seite auf die Index.php verlinkt
worden war. Der Admin bekommt hier eine Liste der letzten verlinkenden Seiten
angezeigt und kann diese ggf. auch alle löschen lassen.
Die Referer funktionieren nur, wenn direkt auf die index.php zugegriffen wurde. Wenn erst eine index.html geladen wird, die dann auf die index.php weiterleitet, gehen die Referer verloren. In der index.php werden die Verweise in der Variable $referer abgespeichert.
Mitteilungen :
Hier kann der Admin eine Mitteilung verfassen die dann praktischerweise über
allen Artikeln angezeigt wird. Da diese sich ja immer wieder neu ordnen kann man
keinen Artikel verfassen der diese Aufgabe erfüllen könnte. Deshalb das
Mitteilungssystem. Die Handhabung ist denkbar einfach und selbsterklärend. Einen
Titel, Text, Verfallstag und wer die Mitteilung sehen kann. Viola.
Module :
Hier kann man als Admin Module aktivieren, den Namen ändern oder auch festlegen
wer darauf zugreifen darf. Deaktivierte Module können nur vom Admin aktiviert
werden und sind für normale Nutzer nicht sichtbar. Zudem können Sie aber auch
ein Modul zwar aktivieren es aber nicht im Modulblock erscheinen lassen.
Die Installation der Module ist unterschiedlich und variiert von Modul zu Modul.
Allerdings ist es bei einfachen Modulen oft ausreichend diese einfach in das
Modul Verzeichnis zu kopieren.
Newsletter :
Hier können Sie Newsletter an die Benutzer versenden. Einfach Betreff und Inhalt
eingeben fertig. Sie haben dann die Möglichkeit diese Email entweder an alle
abbonierten Nutzer zu versenden oder an alle. Also vorher überlegen an wen man
dieses Newsletter versenden will. Es ist nicht gerade nett einen Newsletter an
Nutzer zu versenden die gar keinen abboniert haben.
Optimize DB :
Seit PHP Nuke v5.4 steht dem Admin ein Optimize DB zur Verfügung, welches die
Datenbank von "Restmüll" aufräumt um so Ihre Größe und Performance zu erhalten.
Einfach aktivieren und die Datenbank wird aufgeräumt. Zudem erhält man eine
Statistik mit den in der Datenbank enthaltenen Tabellen und deren Größe sowie
der Größe nach dem optimieren.
Testberichte :
Hier gibt es die Möglichkeit Testberichte zu verfassen, zu modifizieren oder
geschriebene Testberichte anderer Autoren freizuschalten. Es ist eine Art von
Artikelsystem wobei der Autor eines Testberichts zudem auch noch Punkte als
Bewertung für das Produkt vergeben kann. Zudem kann zu jedem Testbericht ein
Link und ein Bild angegeben werden. Nutzer können sich diese Textberichte
ansehen und ggf. auch Kommentare dazu verfassen.
Spezial Berichte :
Spezial Bericht ist im Prinzip ähnlich wobei die Berichte in Kategorien verteilt
werden können und Bild undLiinks etc selbst als HTML tag in den Text eingefügt
werden müssen. Den Kategorien kann auch jeweils ein Bild zugeordnet werden
welches sich dann im Verzeichnis <html/images/sections/> befinden muss. Diese
Sections können gesondert durchsucht werden, was auch Sinn macht da es für
Artikel vorgesehen ist die nicht unbedingt im Zusammenhang mit anderen Bereichen
stehen.
Einstellungen :
Dies ist der zentrale Bereich für Einstellungen und Konfiguration einer PHP Nuke
Seite. Hier wird quasi der Kern einer Nuke Seite eingestellt. Der Admin kann
hier die Standard Sprache oder das Standard Theme festlegen.
Dieser Bereich unterteilt sich in mehrere Unterbereiche.
Generelle Einstellung - Hier werden zum Beispiel wie bereits gesagt Theme und Sprache eingestellt aber auch Name der Homepage, Seitenlogo, Seitenspruch, Admin E-Mail Adresse oder auch Anzahl der Artikel die gleichzeitig auf deren Startseite angezeigt werden. Eben alle einfachen generellen Einstellungen.
Multilinguale Optionen - Hier können Sie festlegen ob die Seite überhaupt mehrere Sprachen unterstützen soll und wenn ja ob die Auswahl der aktivierten Sprache als dropdown Menü oder in Landesflaggen erfolgen soll. Die dabei zur Auswahl stehenden Sprachen richtet sich nach den Einträgen im Verzeichnis <html/language> löschen Sie hier einfach die Sprachen die Sie nicht unterstützen wollen. Danach sind diese sofort aus der Auswahl verschwunden. Sollten Sie mehrere Sprachen verwenden denken sie daran das Sie die Blöcke entsprechend übersetzen müssen und ggf. nur für die jeweilige Sprache anzeigen lassen.
Bannereinstellungen - Einfach ja oder nein ob das Bannersystem aktiviert ist. Mehr siehe Banner
Fußnachrichten - Man hat hier die Möglichkeit 3 Footer bereiche anzulegen die auf den Seiten angezeigt werden soll. Wie immer sind html Tags erlaubt.
Backend Einstellungen - Das backend ist ja das Export Modul für die eigenen News Nachrichten. Hier kann man eine Überschrift für diese News festlegen als auch deren Sprache.
Mail neue Artikel an Admin - Legt fest ob der Admin bzw. eine andere Person über neue Artikel benachrichtigt werden soll via E-Mail.
Kommentare Moderieren - Legt fest ob Kommentare zu zum Beispiel Testberichte moderiert werden sollen und wenn ja von Admin oder dem User bzw. Autor.
Kommentar Einstellungen - legt ein Limit in Bytes für einen Kommentar fest als auch einen Namen von nicht registrierten Userkommentaren.
Grafische Einstellungen - Lediglich eine Option ob Grafiken im Admin Menü angezeigt werden sollen oder nur der Text.
Sonstige Einstellungen - Hier können verschieden Optionen eingestellt werden. Ob die Refers aktiviert werden sollen und wenn ja wie viele denn gespeichert werden sollen. Sowie ob man Kommentare zu Artikeln oder Umfragen zulassen möchte.
Benutzeroptionen -Hier werden Benutzer spezifische Einstellungen vorgenommen. Passwortlänge, Empfang von Broadcast Nachrichten, Lesen von Überschriften oder Anzahl der Nachrichten vom Benutzer änderbar aktivieren.
Zensuroptionen - Zu guter letzt noch eine Zenuroption welche ungebliebte Wörter aus den Texten filtern soll und diese durch **** ersetzt. Die zu zensierenden Wörter und die Ersetzung stehen in der Tabelle nuke_bbwords und können im Forums Admin Menü unter Word Censor geändert und erweitert werden.
Artikel :
Benutzer können mit submit.php (meist unter submit news) Artikel verfassen und
an das System schicken. Der Admin hat dann unter Artikeln die Möglichkeit diese
Artikel zu modifizieren und freizuschalten und damit zu veröffentlich oder auch
komplett zu löschen.
Umfragen :
Hier gibt es die Möglichkeit Umfragen zu erstellen oder vorhandene Umfragen zu
modifizieren oder zu löschen. Sollten Sie eine mehrsprachige Seite publizieren
wollen, sollten Sie auch mehrere Umfragen für jede Sprache eine erstellen und
diese dann nur nach der jeweiligen Sprache anzeigen lassen.
Themen :
Mit dem Themen – Manager können die einzelnen Themen organisiert werden. Es
können Themen angelegt und gelöscht werden. Diese Themen tauchen dann im Menü
„Artikel schreiben“ auf und es können somit Artikel diesen Themen zugeordnet
werden. Es können Namen des Thema's, Themeninfos sowie ein Bild angegeben
werden. Das Bild muss sich dann im Verzeichnis <html/images/topics/> befinden.
Links :
Hier steht Ihnen eine Verwaltung einer internen Linkliste zur Verfügung. Als
erstes muss eine Hauptkategorie angelegt werden. Dazu sind dann natürlich auch
wieder Unterkategorien möglich. Nun kann man Links den Kategorien zugeordnet
eintragen. User können wieder wie bei den Downloads diese Links bewerten als
auch defekte Links melden. Genauso wie bei den Downloads stehen dann dem Admin
auch wieder die Optionen defekte Links modifizieren oder alle Links überprüfen
zur Verfügung. Ingesamt eigentlich genau das gleiche wie die Downloadverwaltung
nur das es einfache Links zu Internetseiten sind und keine Dateien.
Logout :
Beendet die Nuke Session und löscht den Cookie auf dem Client Rechner.
Zu den bis jetzt genannten Möglichkeiten Inhalt auf einer PHP
Nuke Seite anzuzeigen will man allerdings sicher auch gerne eigene Inhalte im
gleichen Layout präsentieren. Dazu reicht es oft aus die eigene Seite im PHP
Nuke Rahmen zu laden. Am einfachsten geht das in dem man die Struktur von PHP
Nuke übernimmt und die eigene Seite einfügt.
Legen Sie dazu zum Beispiel eine Seite test.php an mit dem Inhalt :
<?php
include('mainfile.php');
include('header.php');
include('meinedatei.htm');
include('footer.php');
?>
Diese Datei liefert dann die gleiche Struktur wie die "normalen" PHP Nuke
Seiten, allerdings lädt dann im Mainteil, also im mittleren Block die eigene
Seite.
Hinweis : Es empfiehlt sich, bei eingebundenen HTML Seiten die HTML Kopfzeilen
am Anfang und Ende des Dokumentes <html> und </html> zu entfernen, da ja von
PHP-Nuke diese Header erzeugt werden.
Allerdings werden auf diese Weise die rechten Blöcke nicht angezeigt. Wer diese
dennoch einfügen will muss die Variable $index auf 1 setzen. Damit sieht uns
vorheriges Beispiel dann folgendermaßen aus :
<?php
include('mainfile.php');
$index =1;
include('header.php');
include('meinedatei.htm');
include('footer.php');
?>
Wie bereits besprochen werden die Benutzer MD5 verschlüsselt in der Datenbank
gespeichert. Von Zeit zu Zeit will man aber vielleicht einen eigenen Bereich auf
der PHP Nuke Seite haben der nur registrierten Usern zugänglich ist. Der
generelle Aufbau einer Aufforderung an eine PHP Seite geht jeweils über ein SQL
Layer Skript an die Datenbank und über das gleiche Skript dann wieder zurück.
Welches Skript benutzt wird entscheidet dabei die Datei db.php mittels einer
einfachen case Anweisung aufgrund der eingestellten Datenbank. In unserem Fall
nehmen wir einmal an wir benutzen mySQL als Datenbankserver. In der DB.php sieht
das dann so aus :
:
:
switch($dbtype) {
case 'MySQL':
include("".$the_include."/mysql.php");
break;
:
:
db.php inkludiert also das benötigte SQL Layer File für die Datenbank
Kommunikation.
Um jetzt aber zum Beispiel selbst einige Seiten nur für ein registriertes
Mitglied zugänglich zumachen muss man nicht selbst jeweils eine Datenbankverbindung erzeugen sondern kann sich der Funktion is_user() bedienen. Wenn wir
nochmal das Beispiel von eben nehmen aber nur registrierte User Zugriff haben
sollen, ändert sich das Beispiel folgendermaßen :
<?php
include('mainfile.php');
include('header.php');
if(is_user($user)) include('meinedatei.php');
else include(‘nouser.htm’);
include('footer.php');
?>
meinedatei.php wird nur eingefügt wenn der User auch registriert worden ist,
ansonsten wird die Datei nouser.htm eingebunden.
Es gibt einiges was man noch verbessern könnte und zusätzlich
einbauen könnte um Nuke noch attraktiver zu machen. Eine Theme Editor wie bei
vielen kommerziellen Projekten bereits vorhanden würde bestimmt das anpassen an
des Designs an die eigenen Wünsche und Vorstellungen stark verbessern. Auch ein ausgefeilteres
rechte Management wird von vielen Usern als wünschenswert
angesehen. Die Aussichten dafür sehen ganz gut aus. Die Community von Nuke ist
groß und die von PHP sowieso. Es dürfte wohl nur eine Frage der Zeit sein bis
solche Entwicklungen Einzug in eine neue Version von Nuke halten.
Losgelöst von verschieden CMS Systemen sind folgende Fragestellungen interessant.
Kontinuität der Entwicklung
Support
Performance
Bedienung
Sicherheit
PHP Nuke nach diesen Kriterien betrachtet liefert folgende Aussagen :
[Stand September 2004 Nuke Version 7.0]
Kontinuität der Entwicklung
Die Software PHP-Nuke besteht seit den späten 1990ern und wird seitdem kontinuierlich entwickelt. Es gab bisher keinerlei Brüche oder, eine Gefahr von Software aus diesem Bereich, Ankündigungen, das Projekt werde eingestellt. Es ist in keiner Weise ein Ende der Projekt-Entwicklung abzusehen. Trotzdem gib es da einen großen Unterschied zu anderen besonders kommerziellen System. PHP Nuke wird nur von einen Programmierer betreut währen es bei anderen Projekten oft mehrere oder sogar ganze Gruppen sind. Die kann zu Problemen führen zum Beispiel hinsichtlich der Geschwindigkeit von Entwicklungen. Siehe Sicherheit.
Support
In der freien Version von PHP Nuke gibt es keinen Support. Wenn man Hilfe brauch muss man auf externe Dienstleister oder auf die Community zurückgreifen. Mittlerweile gibt es allerdings auch eine kommerzielle Version von Nuke die dann auch den Support beinhaltet.
Performance
Was die Performance angeht lässt sich leider keine allgemein zutreffende Aussage machen das diese stark von der jeweiligen eingesetzten Version abhängt. Man kann jedoch sagen das die Datenbankzugriffe mit größer werden der Version ebenfalls gestiegen sind. Während beim generieren der Startseiten in der Version 5 es noch 30 Datenbank Zugriffe waren sind es in der Version 7 bereits über 60. Es gibt Berichte wonach die Versionen 6 und 7 bei Besucherzahlen von über 1000 am Tag Probleme haben sollen. Wie sooft sollte man das am besten einmal selber testen da es keine verlässlichen unabhängigen test bisher gibt.
Bedienung
Die Bedienung des Systems ist durchaus als intuitiv zu bezeichnen. Man kann sich schnell einarbeiten und auch unerfahren Systemadministratoren sollte nach 2 -3 Nachmittagen die grundsätzliche Bedienung des Systems beherrschen. Für Probleme gibt es einiges an Anleitungen im Netz die die meisten Fragen schnell klären.
Sicherheit
Die Sicherheit von PHP Nuke ist ein aktuelles Problem. Es gibt keine zentrale Anlaufstelle für Sicherheitsfixes und da das System nur von einem Programmierer betreut wird dauert es auch schon mal länger bis entsprechende fixes erscheinen. Hilfreich sind da besonders die vielen erhältlichen VKP`s die zum Teil genau diese Probleme lösen in dem die bereits bekannten Sicherheitslöcher gestopft sind. Ein gutes VKP was bereits sehr stark gegen Angriffe abgesichert ist finden Sie unter <http://www.phpnuke-vkp>.
Als persönliches Fazit würde ich sagen ein CMS System zum
Appetit holen. Aber satt wird man davon nicht.
Sicherlich muss man sagen das PHP Nuke ein bereits recht ausgereiftes
Portalsystem ist mit dem sich sehr schnell ansprechende dynamische Seiten ins
Netz stellen lassen. Wer also ein Redaktionssystem sucht ist hier recht gut
aufgehoben. Durch das durchdachte Modulsystem kann man mit entsprechendem
Aufwand durchaus eigene Ideen verwirklichen und die Community ist groß genug um
Probleme sicher gemeinsam lösen zu können. Es ist quasi kostenlos zu haben, und
sehr genügsam in seinen Ansprüchen. Aber es gibt durchaus auch Schattenseiten.
So führt die verschwommene Trennung des Designs vom Inhalt dazu das die
Entwicklung eigener Templates nur sehr schwer und mit viel Aufwand verbunden
ist. Da haben kommerzielle Systeme die oft mit einem Theme Editor ausgestattet
sind sicherlich einen Vorteil. Außerdem muss man sich damit begnügen das Probleme
nur sehr schleppend vom Autor gelöst werden. Denn anders als bei anderen freien
CMS Systemen arbeitet hier wirklich nur ein Programmierer am System. Das kann
schon mal Probleme machen wenn man auf den Patch einer Sicherheitslücke ein paar
Wochen warten muss. Insgesamt hat mich das System für den Einsatz als
Portalsystem überzeugt, aber mehr kann man damit eigentlich nicht machen es sei
denn man investiert eine Menge Zeit und ist fit in PHP. Denn auf Basis der
Version 5 lassen sich durchaus auch völlig eigene Ideen verwirklichen. Und dazu
gibt es ja auch noch unzählige Module im Netz um Nuke zu erweitern.
Wie immer ist es also wohl Geschmackssache und welche Zielsetzung man den
verfolgt ob PHP Nuke nun das richtige ist oder nicht.
[1] Netskill AG. PHP-Nuke – Eine Empfehlenswerte
Enterprise-Lösung?. Juni 2004.
<http://www.competence-site.de>
[2] Ferner, Jens. PHP-Nuke Dokumentation Version 1.3.
Juni 2004.
<http://www.PHPNuke-book.com>
[3] Storm4Net. PHP Nuke Themes verstehen ?.
November 2002.
<http://www.storm4net.de/support/download>
[4] Schmid,Egon. PHP Handbuch.2000.
PHP Dokumentations Gruppe
[5] Stepken,Guido. MySql Datenbankhandbuch.
September 1999.
<http://www.php-center.de>
[6] SQL Kompendiung. Deutschland: Markt & Technik ,2000.
[7} MySQL.com. MySql Dokumentation. August 2004
<http://www.mysql.com/documentation/mysql/bychapter/>
[8] PHP.net. PHP Referenz-Dokumentation. August
2004
<http://www.php.net/manual/de/>
[9] NukeBoards. Großes deutsches Nuke Community Forum.
September 2004
<http://www.nukeboards.de/>
[1] PHP Nuke. Juni 2004
<http://www.phpnuke.org/>
[2] XAAMP. Apache Webserver VKP inkl PHP und MySQL.
Juni 2004
<http://www.apachefriends.org/de/>
[3] Netzid, PHP NUKE VKP. Juli 2004
<http://www.phpnuke-vkp>.
[4] Postnuke. Postnuke. Juli 2004
<http://www.postnuke.com>
[5] SourceForge. PHPMyAdmin. Juli 2004
<http://www.phpmyadmin.net/
>
VKP
Vorkonfiguriertes Paket
CMS
Content Management System
WCMS
Web Content Management System
WPS
Web Portal System