Haupt- und Sub-Domain mit einer BC Installation?

Hier können Tipps und Tricks rund um die Verwendung von BlackCat CMS gepostet werden. Später wird es hierfür einen speziellen Bereich auf unserer Homepage geben.
DG70
Beiträge: 39
Registriert: Fr 5. Dez 2014, 12:59

Haupt- und Sub-Domain mit einer BC Installation?

Beitrag von DG70 » So 1. Feb 2015, 21:42

Hallo,

ist es möglich neben der Haupt-Domain auch eine Sub-Domain über nur eine BC Installation zu erstellen und zu pflegen?
Ich möchte die Sub-Domain über die Haupt-Domain (im Menü), aber auch direkt ansprechen können.
Das Aussehen der Seiten sollte auch leicht unterschiedlich sein, soweit ich es verstanden habe geht das über die Auswahl Template Varianten?

Gruß, Dirk

Benutzeravatar
creativecat
Beiträge: 805
Registriert: Mi 6. Feb 2013, 12:41
Kontaktdaten:

Re: Haupt- und Sub-Domain mit einer BC Installation?

Beitrag von creativecat » So 1. Feb 2015, 23:58

Ganz spontan würde ich sagen: Geht aktuell nicht.
In der config.php wird die URL eindeutig festgelegt. Aber vielleicht fällt ja shadowcat eine schnelle unkomplizierte Lösung ein?

Benutzeravatar
shadowcat
Administrator
Beiträge: 3983
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Haupt- und Sub-Domain mit einer BC Installation?

Beitrag von shadowcat » Mo 2. Feb 2015, 12:39

Das steht auf meiner Wunschliste, derzeit geht es aber nicht. Allenfalls "von hinten durch die Brust ins Auge" mit getrennten Templates und Verteilung der Seiten auf verschiedene Menüs.
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Benutzeravatar
shadowcat
Administrator
Beiträge: 3983
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Haupt- und Sub-Domain mit einer BC Installation?

Beitrag von shadowcat » Di 3. Feb 2015, 12:24

Um das mal etwas ausführlicher zu beantworten...

Es wäre phantastisch, wenn man mit einer BC-Installation - einer "Engine" - quasi beliebig viele Sites betreiben könnte. Im Optimalfall würde diese "Engine" sogar außerhalb des www-Verzeichnisses liegen, also außerhalb des Bereichs, den der Besucher mit "world"-Rechten betreten kann.

Leider sprechen viele Kernproblematiken dagegen. Website Baker und somit auch LEPTON und BlackCat waren nie dafür ausgelegt, mit einer Installation mehrere Seiten zu betreiben. Dementsprechend sind sie auch entwickelt worden. Das geht natürlich mit der config.php los, das ist aber eigentlich das geringste Problem.
  • Es gibt keine Möglichkeit, im Backend und in der Datenbank verschiedene Sites voneinander zu trennen.
  • Genau genommen gibt es nicht mal getrennte Backends für verschiedene Sites.
  • Module werden zwar grundsätzlich über die Access Files im page(s)-Verzeichnis angesprochen, vieles spielt sich aber direkt über das Modulverzeichnis ab, etwa die Einbindung von Javascripts, Bildern und/oder CSS. Dementsprechend müssen die Module immer über das Web ansprechbar sein, können also nicht außerhalb des www-Verzeichnisses liegen.
Es gibt noch weitere, aber das würde wohl zu weit führen.

Alles in allem wäre ein sehr tiefer Einschnitt notwendig, um das Grundproblem zumindest teilweise zu lösen. So wäre es immerhin denkbar, den "framework"-Ordner auszulagern - die verwendeten Module müßten aber immer noch im Verzeichnis der Site und somit mehrfach installiert werden. Die Datenbank müßte um eine Zuordnung zu einer Site erweitert werden. Und was ist mit dem Backend? Wenn man Sites trennen will, will man auch den Zugriff auf dieselben trennen...

Kurzum, mit der vorhandenen Basis ist es schwer, eine brauchbare Lösung zu schaffen. Ich glaube, im WB-Forum gibt es irgendwo einen Lösungsansatz, das ist aber ziemlicher Frickelkram und mit vielen Einschränkungen behaftet.

Vielleicht beschreibst Du mal genauer, welche Ressourcen Du über die Sites hinweg gemeinsam verwenden möchtest. Geht es hauptsächlich um die Module? Gibt es unterschiedliche Benutzer? (Dann vergiß es.)

Ich könnte mir ansonsten einen Ansatz wie bei mehrsprachigen Seiten vorstellen. Mit ein bißchen Hilfe per .htaccess könnte man vielleicht was hinbiegen.
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Benutzeravatar
creativecat
Beiträge: 805
Registriert: Mi 6. Feb 2013, 12:41
Kontaktdaten:

Re: Haupt- und Sub-Domain mit einer BC Installation?

Beitrag von creativecat » Di 3. Feb 2015, 15:56

OT on
Ich missbrauche diesen Thread kurz mal, weil ich spontan eine Idee zum angesprochenen Problem habe. Module könnten nämlich durchaus, so wie sie sind, unterhalb des "Public-Bereichs" liegen. Das geht perfekt zusammen mit meiner SEO-Idee, die Inhalte der JS/CSS mit den headers.inc.php "einzusammeln" und dann einmalig (optional komprimiert) im Public-Bereich abzulegen. Alle für das Modul erlaubten ansprechbaren Dateien könnten dann über eine "Schlüsseldatei" eingebunden werde. Entweder müssen die Module hier tatsächlich angepasst werden, oder die Anfragen ans Modul-Verzeichnis abgefangen und an die Schlüsseldatei umgeleitet werden. Da bekommt man direkt Lust aufs klöppeln!
Das sollten wir mal intern weiter diskutieren :-)
OT off

Benutzeravatar
shadowcat
Administrator
Beiträge: 3983
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Haupt- und Sub-Domain mit einer BC Installation?

Beitrag von shadowcat » Di 3. Feb 2015, 15:58

Wenn Du's baust, bin ich dafür. :lol: :lol: :lol:
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Benutzeravatar
shadowcat
Administrator
Beiträge: 3983
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Haupt- und Sub-Domain mit einer BC Installation?

Beitrag von shadowcat » Mi 4. Feb 2015, 10:48

My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Benutzeravatar
shadowcat
Administrator
Beiträge: 3983
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Haupt- und Sub-Domain mit einer BC Installation?

Beitrag von shadowcat » Mi 4. Feb 2015, 15:10

Ich bastle an einer Methode mit Templatevarianten, jeweils eigenem Menü, aber natürlich gemeinsamen Backend. Funktioniert dann so ähnlich wie die Verzweigung nach Sprachen bei WB. Ich müßte aber mehr Details wissen, um wirklich weiterhelfen zu können.
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

DG70
Beiträge: 39
Registriert: Fr 5. Dez 2014, 12:59

Re: Haupt- und Sub-Domain mit einer BC Installation?

Beitrag von DG70 » Do 5. Feb 2015, 21:39

Die Idee ist folgende ...
Mein erstes Projekt mit BC ist eine Vereinshomepage. Der Verein informiert auf der Seite über regionale Veranstaltungen, präsentiert sich mit Vorstand, Sportarten, etc ...Alle 2-3 Jahre gibt es eine nationale Veranstaltung einer Sportart, hierfür wird eine eigene, kompakte Seite benötigt. Diese soll über eine Sub-Domain direkt erreichbar sein.
Ich möchte nun beide "Seiten" über eine BC Installation (gleicher Login, etc.) pflegen.

In einem WB Forum habe ich gelesen, das in einer WB Umgebung die Seite der Sub-Domain nach dem Erstellen aus dem Haupt-Domainordner in den Sub-Domainordner einfach kopiert wurde und in index.php umbenannt wurde ... (?)

Wenn ich nun doch zwei BC Installationen brauche, ist das sicher auch ok. Soviel Platz wird ja nicht benötigt.

Benutzeravatar
shadowcat
Administrator
Beiträge: 3983
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Haupt- und Sub-Domain mit einer BC Installation?

Beitrag von shadowcat » Fr 6. Feb 2015, 09:56

Ich beschreibe mal meine Lösung, die hat nur einen Haken, dazu gleich mehr.

Ich baue meine Homepage neu auf und will die auch in Bereiche einteilen, weil ich sonst zu viel Kram auf einer Seite haben. Also der Hauptbereich ist dann halt webbird.de, dann gibt's einen getrennten Bereich für die wblib2, dann vielleicht noch einen für die Addons, Showcases, usw. Dafür habe ich entsprechende Root-Seiten, unter denen dann die eigentlichen Seiten liegen - halt wie bei der Multisprachen-Lösung in WB.

Ich benutze für alle Seiten das gleiche Template, möchte also nur das Menü getrennt haben. Hierzu habe ich zwei Varianten erstellt, nämlich default und doc. Diese unterscheiden sich eigentlich nur im Menüaufruf. Es gibt in beiden eine header.tpl mit einem {cat_submenu()} Markup. In der Klammer steht dann jeweils die ID der Rootseite. (Geht natürlich auch mit {show_menu()}.) Bis auf das einmalige manuelle Anpassen der Datei klappt das eigentlich schon ganz gut.

Nun zu dem Haken: Da sich Template-Varianten derzeit nicht vererben lassen - also ein ganzer Teilbaum "erbt" die Variante von einer Basisseite - muß man für jede neue Unterseite die Template-Variante neu einstellen. Das ist ein bißchen nervig, aber unterm Strich eigentlich nicht so wild, denn die Einstellung bleibt dann ja erhalten, ist also eine einmalige Sache.

Subdomains habe ich dafür momentan nicht, das müßte aber auch funktionieren, nämlich über eine Einstiegsseite. Das ist unter dem obigen Link beschrieben. Die Introseite schaut einfach, welche Domain aufgerufen wurde, und leitet dann auf die entsprechende Rootseite weiter.

Was ich nicht habe, ist Praxiserfahrung. :D In meiner lokalen Testumgebung (BC Portable) sieht das aber schon ganz okay aus. Ist halt nur die Frage, ob Du das den Benutzern beibringen kannst.

Zu dem Varianten-Vererbungs-Problem hab ich einen Issue aufgemacht, mal schauen, wie wir das lösen können. Zumindest sollte eine neu erstellte Unterseite die Einstellungen der Elternseite erben. Beim Template tut sie das, bei der Variante (noch) nicht. Das dürfte also zunächst eine Kleinigkeit sein. Später kann man sich überlegen, ob und wie man das bei Änderungen umsetzen kann. So eine Art Haken "an alle Unterseiten vererben" oder so.
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Antworten