Die Multisites sind auf den ersten Blick sehr verwirrend, und ich selber habe einige Zeit benötigt, bis ich das Konzept verstand. Wenn aber erst einmal der berühmte Groschen gefallen ist, dann sind die Multisites mit SEBLOD eine sehr interessante Möglichkeit, entweder mehrere Domains mit einer Joomla!-Datenbank oder mehrere Aspekte einer Website auf mehrere Subdomains aufzuteilen.
Große Webseiten können beispielsweise bequem aufgeteilt werden. Angenommen, Sie haben eine große Website über Hunde, Katzen und Pferde und dazu einen Onlineshop. Statt einer Website für alles machen Sie vier Websites daraus. Eine für Hunde, eine für Katzen, eine für Pferde und eine für E-Commerce. Der Vorteil ist, dass Sie nach wie vor eine Hauptseite, eine Mastersite, haben, von der aus Sie alles verwalten, einstellen und entsprechend zuordnen, aber vier weitere Domains, Subdomains oder Aliasseiten haben, die zwar alle auf die Hauptseite verlinkt sind, aber Unterschiedliches anzeigen.
Oder Sie erstellen ein Intranet[1] und möchten ein Extranet[2] integrieren. Dann liegt es doch nahe, das sauber zu trennen.
Oder Sie haben eine Mehrsprachenseite und möchten nicht die Mehrsprachigkeit von Joomla! nutzen, sondern für jede Sprache eine eigene Domain einrichten.
Das dahinter stehende Konzept ist, dass Sie beliebig viele Domains, Subdomains oder Aliasdomains erstellen, die alle auf die Haupt-Joomla!-Installation verweisen. Das machen Sie in aller Regel in der Domainverwaltung Ihres Hosters.
Bild 20.1: Drei Subdomains, die alle auf das gleiche Verzeichnis der Hauptdomain zeigen, in dem Joomla! liegt (Auszug aus Plesk – bei Ihnen könnte die Ansicht abweichen).
Wenn Sie dann eine neue Seite in SEBLOD anlegen, werden automatisch neue Benutzergruppen und Zugriffsebenen angelegt und der jeweiligen Multisite zugeordnet. Letztlich haben Sie ein entsprechendes Rechtesystem, mit dem Sie das alles verwalten. Allerdings bietet Ihnen SEBLOD darüber eine deutlich bessere Übersicht und Verwaltung und die eine oder andere Möglichkeit mehr, die auf dem herkömmlichen Weg schwerer umzusetzen wäre. Und SEBLOD ordnet die jeweiligen Benutzergruppen und Zugriffsebenen einer eindeutigen Website zu. Das können Sie so mit Joomla! nicht umsetzen.
20.1 Einrichtung einer neuen Multisite
Rufen Sie in SEBLOD die Seiten auf. Sie erreichen diesen Bereich am einfachsten über das Konstruktion-Menü. Gehen Sie über den Komponentenaufruf, klicken Sie wahlweise links im Menü auf Seiten oder im Iconbereich auf Seiten Manager. Danach ein beherzter Klick auf Neu.
Die erste Auswahl fragt nach Basis, Standard oder Erweitert.
SEBLOD steuert die Multisites und zugehörige Beiträge, Kategorien, User, Menüs etc. über die Rechteverwaltung. Für jede einzelne Multisite werden mindestens zwei neue Benutzergruppen, zwei neue Benutzer und mindestens eine neue Zugriffsebene angelegt.
Bild 20.2: Die neuen Benutzergruppen
- Basis geht davon aus, dass Sie eine relativ überschaubare Website haben, die mit einem registrierten Benutzer und einem Administrator auskommt.
- Standard geht bereits von einer etwas komplexeren Website aus, die nicht nur einen unterschiedlichen registrierten Bereich hat, sondern auch ein eigenes öffentliches Frontend.
- Erweitert geht von einer komplexen Website mit öffentlichem Frontend, Bereichen für registrierte Benutzer und einem Autorensystem aus. Für das Backend wird neben dem Administrator auch ein Manager angelegt.
Die eigentliche Multisite ändert sich zunächst nicht – es geht lediglich darum, dass SEBLOD Ihnen etwas Arbeit abnimmt, indem es die entsprechenden Berechtigungen für Sie voranlegt.
Sollte Ihnen im Moment noch unklar sein, was genau hier passiert – ich werde gleich die Fäden im Wirrwarr ordnen.
Doch zunächst klicken Sie auf Erstellen, nachdem Sie für den ersten Versuch Standard auswählen. Diese Auswahl ist auch voreingestellt. In der Standard-Auswahl können wir sowohl das Frontend als auch den Bereich für registrierte Benutzer direkt beeinflussen.
Der Titel ist für Sie und wird auch in der Rechteverwaltung benutzt und sollte eine konkrete Aussage über den Inhalt der Multisite machen.
Der Seiten Name hingegen wird in der Site selber benutzt und kann mit Inkludiere Seiten-Name wahlweise Vor oder Nach dem Seitentitel ausgegeben werden oder überhaupt nicht. Diese Einstellung ist identisch mit der Joomla!-Einstellung für den Seitennamen, wo Sie auch einstellen können, ob er im Browserfenster oder in den Browser-Tabs angezeigt werden soll.
Neben dem Titel finden Sie die Url. Dort geben Sie die Domain der Multisite ein.
Als Beispiel simuliere ich eine Reiseseite. Dafür habe ich drei Domains angelegt:
- italien.domain.de
- frankreich.domain.de
- spanien.domain.de
URL-Eingabe
Lassen Sie bei der URL-Eingabe das »http://« am Anfang weg, da SEBLOD es auf jeden Fall vor die URL schreibt. Wenn Sie es dort hinschreiben, steht es zweimal am Anfang der URL, was natürlich nicht funktioniert.
Alle diese Domains – nur noch einmal zur Erinnerung – zeigen auf das gleiche Verzeichnis: die Joomla!-Installation. Wenn Sie diese Domains direkt in Ihrem Browser aufrufen würden, würden Sie also jedes Mal die gleiche Website sehen. SEBLOD legt nun seine Berechtigungen an, die alle mit dem Seitennamen enden, und kann somit diese Berechtigungen einwandfrei der in der URL angegebenen Website zuordnen. Wenn Sie nun beispielsweise einen neuen Menüverweis anlegen und eben dieser neuen Zugriffsebene zuordnen, dann haben Sie einen Menüverweis, der nur auf dieser zugeordneten Website angezeigt wird.
Sie können für diese Multisite eine eigene Meta-Beschreibung und Meta-Schlüsselworte angeben. Andernfalls wird die Metabeschreibung der Mastersite genommen. Als Mastersite bezeichne ich die eigentliche Joomla!-Installation.
- In Homepage tragen Sie die Startseite ein. Lassen Sie die Einstellung auf Standard nutzen stehen, wird die Defaultstartseite benutzt. Oder Sie stellen eine individuelle Startseite für diese Domain ein.
- In Sprache können Sie diese Domain, diese Multisite, einer bestimmten Sprache zuordnen, sofern Sie Mehrsprachigkeit nutzen. Auch können Sie für diese Site ein eigenes Template zuordnen.
Falls Sie jetzt denken, dass das doch sowieso alles möglich ist in Joomla!, haben Sie natürlich recht. Aber dafür müssten Sie auf jeder einzelnen Domain ein eigenes Joomla! installieren und alle einzeln administrieren. Auch können die einzelnen Domains nicht kooperieren, beispielsweise dass alle Benutzer sich überall einloggen können. In SEBLOD haben Sie nur eine einzige Datenbank und eine einzige Joomla!Installation.
Sie können zu jeder einzelnen Multisite, die Sie angelegt haben, eine eigene Seite in SEBLOD anlegen und entsprechend individuell gestalten. Aber vielleicht möchten Sie auch zwei oder mehr Multisites mit den gleichen Einstellungen in SEBLOD übernehmen. Dann können Sie in Aliases (URLs) weitere Multisites angeben, die mit den gleichen Einstellungen arbeiten wie die, die unter Url angegeben ist. Angenommen, ich trage in Url: frankreich.domain.de und unter Aliases (URLs): italien.domain.de ein, dann gelten die Einstellungen für beide Domains/Multisites, und zwar sowohl die unmittelbaren Einstellungen in dieser Eingabemaske als auch die Berechtigungen.
Zu den Feldern schreibe ich weiter unten etwas ausführlicher. Wenn Sie entsprechende Felder angelegt haben, können Sie sie hier auswählen und der Multisite explizit zuordnen.
Wenn Sie auf das kleine Benutzericon klicken, das Sie erst nach dem ersten Speichern sehen können und das Sie dann im Bereich Optionen unten rechts vorfinden, erhalten Sie ganz unten einen Überblick über die Einstellungen der einzelnen Benutzergruppen und Zugriffsebenen. Sie können diese hier ändern, indem Sie sie entsprechend auswählen. Mit Großschreibtaste und linker Maustaste können Sie mehrere Einträge markieren. Sie finden hier die standardmäßig angelegten Berechtigungen und die von SEBLOD. Wenn Sie bereits eigene Berechtigungen angelegt haben, finden Sie diese hier auch und können somit sehr individuell das Rechtesystem den einzelnen Multisites zuordnen.
Bild 20.4: Die Einstellungen der Berechtigungen für jede Multisite auf einen Blick.
20.2 Die Multi-Berechtigungen
Es wird Zeit, dass wir die neuen Berechtigungen konkret in der Praxis einsetzen, um das Prinzip zu durchleuchten.
Sie haben generell folgende Zugriffsebenen:
- [ Öffentlich
- [ Registriert
- [ Administrator
In den einzelnen Bereichen können sich weitere Untergruppen, wie beispielsweise die Autoren oder Manager, befinden. Diese Hauptbereiche haben Sie generell auch in den Multisite-Berechtigungen.
Standard und Erweitert haben eine Guest Only-, eine Registered- und eine AdministratorGruppe. Erweitert hat zusätzlich den Autor und den Manager. Basis hat nur den Administrator.
Basis, Standard und Erweitert sind jeweils die Zugriffsrechte auf alle genannten Gruppen. So können Sie beispielsweise Menüs anlegen, die von allen gesehen werden können – egal ob eingeloggt oder nicht –, indem Sie die Zugriffsebene Standard setzen. Oder Sie legen Menüs an, die nur für registrierte und eingeloggte Benutzer sichtbar sind, indem Sie die Zugriffsebene Registered – Standard setzen, oder nur für Administratoren mit Administrator – Standard. Standard bezieht sich auf die Auswahl, die Sie beim Anlegen einer neuen Multisite getroffen haben. Statt des Worts Standard steht in der Zugriffsliste und den Benutzergruppen der Titel.
Dadurch, dass Sie bei jeder angelegten Multisite ein eigenes Rechtesystem nur für diese eine Site kreieren, haben Sie alle Freiheiten, Beiträge, Menüs, Kategorien und Module den einzelnen Multisites zuzuordnen.
Bild 20.5: Die Standardrechte plus eigene Rechte für jede Multisite.
Alles, was mit den Standardzugriffen von Joomla! versehen ist, wird auf allen Multisites angezeigt. Somit können Sie Daten nur für bestimmte Seiten sowie auch für alle Seiten zugänglich machen. Da Sie weiterhin eigene Gruppen definieren können, die unterschiedliche Zugriffsebenen erhalten, ist es auch möglich, dass Sie bestimmte Inhalte nur auf ausgewählten Multisites anzeigen lassen. Beispielsweise könnten Informationen über Schutzimpfungen nur auf Domains mit Reiseberichten zu relevanten Ländern auftauchen, nicht jedoch, wenn Sie von Reisezielen in Deutschland berichten.
Schauen wir uns das Ganze am besten in der Praxis an: Dazu legen wir am einfachsten einen Beitrag an, den wir danach per Kategorieblog auf unsere Startseite bringen.
Um das Ganze für meine Reiseseiten vernünftig auseinanderzuhalten, habe ich meine Subdomain für die Italien-Reiseberichte mit dem Titel Italien versehen und mir passende Kategorien angelegt: Italien, Spanien, Frankreich. Für meine Mastersite möchte ich mit der Kategorie Reisen arbeiten.
Für den Anfang schreibe ich zwei Beiträge: einen für Italien und einen für das Reisen an sich. Nun wechseln Sie bitte in das Main Menu. Der vorhandene Eintrag Home (sofern Sie ein frisch angelegtes Joomla! haben) bietet sich als Startseite für die Mastersite weiterhin an. Markieren Sie einfach den »Reisen an sich«-Beitrag als Haupteintrag.
Danach legen Sie einen neuen Menüeintrag an. Als Menüeintragstyp bietet sich das Kategorieblog in unserem ersten Beispiel an. Als Kategorie wird Italien eingestellt. Bei der Zugriffsebene wählen Sie Italien aus. Nun das Ganze speichern und im Browser sowohl die Master-Domain als auch die Italien-Domain aufrufen. Sie sehen bei der Master-Domain lediglich Home als Startseite und einen einzigen Menüverweis. Auf der Italien-Domain haben Sie neben Home auch den eben angelegten Italien-Menüverweis.
So weit – so gut, wir haben nun einen Menüverweis, der nur auf einer der beiden Domains angezeigt wird. Wenn Sie jedoch mehrere Menüverweise angelegt haben, ist es ja sinnvoll, für jede Multisite ein eigenes Startmenü festzulegen. Wenn Sie das nun tun, werden Sie zu Ihrer Verwunderung vermutlich zweimal den gleichen Menüeintrag auf der Multisite sehen: einmal in der regulären Reihenfolge des Menüs und einmal ganz oben als Startseite.
Bei der Betrachtung des Quellcodes werden Sie auch feststellen, dass es sich tatsächlich um den gleichen Menüverweis handelt, der von SEBLOD dupliziert wird. Das ist natürlich weder schön noch sinnvoll. Abhilfe schaffen Sie, wenn Sie ein eigenständiges Menü mit entsprechendem Menümodul anlegen, das Sie nur der Zugriffsebene für die Multisite zuordnen.
So habe ich ein neues Menü namens Italien erstellt und es einem gleichnamigen Modul zugewiesen, das die Zugriffsebene Italien erhalten hat. Nun wird zum einen dieses Menü tatsächlich nur und ausschließlich auf der passenden Multisite angezeigt, und Sie können auch einen Homepage-Eintrag festlegen, der nur einmal angezeigt, aber bei jedem Aufruf der Multidomain als Erstes ausgegeben wird.
Sie können nun Kategorien, Beiträge, Menüverweise, Module und Plug-ins nach Belieben Ihren Subdomains zuordnen und somit jede Website individuell gestalten. Alles läuft über eine Datenbank. Damit haben Sie auch die Möglichkeit, Ihre registrierten Benutzer den Seiten zuzuweisen. Diese müssen sich nicht mehrmals
anmelden, weil überall ein eigenes Joomla! läuft, sondern werden zentral verwaltet. Sie können einem einzelnen Benutzer eine oder mehrere Benutzergruppen zuordnen. Somit können Sie sehr individuell bestimmen, auf welchen Seiten ein Benutzer sich anmelden kann.
Ebenso verhält es sich mit Beiträgen oder Menüs. Sie können die Rechteverwaltung von Joomla! mit allen Möglichkeiten nutzen und erhalten somit mit Joomla! und SEBLOD ein mächtiges Werkzeug an die Hand.
20.3 Post von der Mastersite
Wenn Sie eine neue Multisite in SEBLOD anlegen, erhalten Sie einige E-Mails von
Ihrer Hauptdomain. Je nachdem, was Sie bei der Seitenerstellung ausgewählt haben – Basis, Standard oder Erweitert –, bekommen Sie unterschiedlich viel Post. Grundsätzlich ist immer eine E-Mail mit dem Betreff Seiten Erstellung auf [Titel Ihrer Multisite] dabei, die für den Administrator der Site gedacht ist. Zudem erhalten Sie meist mehrere E-Mails mit dem Betreff Details zum neuen Benutzer.
Alle E-Mails erhalten einen neuen Benutzernamen und ein Passwort, stets in der gleichen Art angelegt:
001 |
Benutzername: [Benutzergruppe].[Titel der Multisite] |
002 |
Passwort: [Benutzergruppe] |
Mit diesen Zugangsdaten können Sie sich auf der entsprechenden Site anmelden und die verschiedenen Ansichten überprüfen.
Sie können aber auch sehen, welcher Benutzergruppe der jeweilige Benutzer zugewiesen ist, falls Sie noch Zweifel über die unterschiedlichen Rollen der Benutzer haben sollten. Sie können aber natürlich jederzeit neue Benutzer anlegen, die entsprechende Rechte auf den Multisites haben.
Achtung, Passwörter!
Jemand, der SEBLOD kennt, kennt auch die standardgenerierten Zugänge von SEBLOD. Ändern Sie deshalb unbedingt die Passwörter!
20.4 Eigene Felder
Sie können jeder Multisite eigene Felder mitgeben, die Sie per Ajax[3]-Programmierung verarbeiten können. Wer nicht programmierkundig ist, für den gibt es auf der Produktseite von SEBLOD ein Plug-in[4] für 5 Euro, das diese Aufgabe übernimmt.
Rufen Sie zunächst die Optionen von SEBLOD auf. Sie finden sie, wenn Sie direkt auf SEBLOD 3.x in der Komponentenauswahl klicken. In den Optionen zunächst den Tab Komponente aufrufen und Entwicklungs-Speicherung auf Ja setzen. Nach dem Speichern wechseln Sie bitte in die Felder von SEBLOD.
Bild 20.6: Eigene Felder anlegen – in den Optionen die Entwicklungs-Speicherung einstellen.
Bei den Feldern habe ich ein Textfeld angelegt, in dem ich festhalten möchte, wann ich die jeweilige Multisite erstellt habe. Bei der Speicherung gilt es zu beachten, dass Sie als Formular Entwicklung auswählen und als Ort:
json[options][ein_Name_Ihrer_Wahl] eintragen. Als Beispiel:
Bild 20.7: Speichern unter Entwicklung und json.
Sie können später auf dieses Feld, das entsprechend in der Datenbank angelegt wird, mittels Json[5] und entsprechender Programmierung zugreifen.
Idealerweise setzen Sie das Feld selber auf Off (die Einstellung finden Sie oben rechts), denn dieses Feld wird in keinem Formular oder Listentyp benötigt. SEBLOD erkennt durch den Speicherort Entwicklung auch, dass es sich um ein besonderes Feld handelt.
Wechseln Sie wieder in die Optionen und rufen Sie dort den Tab Multisites auf. Sie können nun das eben angelegte Feld auswählen.
Bild 20.8: Ein Feld für die Multisites hinzufügen.
Wenn Sie wieder in die Seitenübersicht für die Multisites gehen und entweder eine bereits angelegte Multisite editieren oder eine neue anlegen, finden Sie unter Felder das soeben angelegte Feld, das Sie mit Inhalten füllen können.
Bild 20.9: Das Feld in der Multisite.
Im Zweifelsfall »Text«
Eigentlich wollte ich ein Datumsfeld anlegen, was ja bei dem Inhalt auch naheliegend wäre. Aber jedes Mal, wenn ich dann die Multisite aufrief, hatte sich das Formular komplett verabschiedet und war nicht mehr benutzbar.
Ich habe nicht alle Feldtypen ausprobiert, aber falls Sie Ähnliches beobachten, liegt es am Feldtyp des neu angelegten Feldes. Ändern Sie es im Zweifelsfall auf Text, dann funktioniert es immer.
20.5 Mastersite?
Es gibt verschiedene Ansätze, wie Sie mit Ihren Multisites arbeiten können:
Da ist zum einen eine »große« Domain, in der alles liegt und in der der Benutzer mit einem ausgeklügelten Rechtesystem nur das sieht, was er sehen darf und soll. Das kann schnell zu Unübersichtlichkeiten führen, gerade wenn Sie eine große Site haben, in der es womöglich mehr als die Standardberechtigungen gibt.
Oder Sie arbeiten mit einer Mastersite, die Sie zur Verwaltung benutzen, die aber nicht von Benutzern besucht wird.
Wenn Sie mit einer Mastersite arbeiten möchten, dann können Sie diese Site quasi verstecken, indem Sie sie offline schalten und wirklich nur zu Verwaltungszwecken benutzen. Schalten Sie aber die Site in der Hauptkonfiguration offline, sind auch die Subdomains davon betroffen. Aber Sie können sich eine neue Multisite anlegen – Basis würde hier auch vollkommen reichen – und die URL auf sich selbst legen. Diese Seite können Sie dann offline schalten.
Bild 20.10: Die Hauptdomain Offline schalten.
SEBLOD behandelt die Hauptdomain, Ihre Mastersite, nun als eine ganz normale Multisite und schaltet folglich nur diese Site offline. Zusätzlich erhalten Sie eine neue Berechtigung und können sich einige interne Beiträge oder Module anlegen. Auf dieser Site können Sie schalten und walten und haben gute Chancen, den Überblick zu behalten, weil alles sauber zugeordnet ist.
[2] Das Intranet ist ein nicht öffentliches Rechnernetz, beispielsweise ein firmeninternes Netz.
Das Extranet ist Bestandteil des Intranets, aber für eine Personengruppe festgelegt. Beispielsweise könnte es sich dabei um einen Bereich für Lieferanten oder für die Führungsetage handeln.
[3] Ajax = Asynchronous JavaScript and XML
[4] Plug-in: SEBLOD Site (Multi-sites): http://www.seblod.com/products/1720
[5] JSON = JavaScript Object Notation, ein kompaktes und einfaches Datenformat