. .

Gedanken zur Ordnerstruktur in pragmaMx 2

Developers BlogNachfolgend ein paar Gedanken und erste Ansätze zu der neuen, entwickler- und benutzerfreundlichen Struktur in unserem neuen CMS. Es zeigt einen Weg ohne alte, festgefahrene Standards und den Abschied von bremsenden Altlasten.

Das Hauptanliegen war, weg zu kommen von den 3 pragmaMx-Grunddateien, admin.php, index.php und modules.php. Das hat verschiedene Beweggründe.
  • Fremdscripte können viel leichter portiert werden, weil das Umschreiben der URL wegfällt. Die Scripte können in ihrem Unterordner direkt verwendet werden.
  • Modulentwickler sind bedeutend freier in der Gestaltung ihrer Programme.
  • Der Aufwand zur Suchmaschinenoptimierung wird einfacher weil etliche Übergabeparameter in der URL wegfallen.
  • Das Berechtigungssystem mit Session und allem Drum und Dran steht auch in beliebigen Unterordnern zur Verfügung.
  • Durch das Verlassen dieser Strukturen, kommen wir endlich weg, vom phpNuke Image, weil Niemand mehr ein nuke an der modules.php zu erkennen glaubt. Das hat den Vorteil, dass wir dadurch sofort sämtliche Versuche an nuke-Hackereien los sind.

Erreicht wird das Ganze durch eine Initialisierungsdatei „.init.php“, die im Prinzip die gleiche Funktion hat, wie vorher die mainfile.php. Sie stellt alles was das System an Einstellungen und Dateien benötigt zur Verfügung. Diese Datei muss in allen Dateien, die irgendwo in einem Unterordner direkt aufgerufen werden sollen includet werden. Dieses Include geschieht automatisch durch das durchlaufen der Ordnerstruktur oberhalb des Scriptes, bis diese Datei gefunden und includet wird. Diese 3 zusätzlichen Zeilen ersetzen den Check, ob diese Datei direkt augerufen wurde, was ja dann ausdrücklich erwünscht ist.

Ab diesem Moment steht diesem Script die gesamte pragmaMx Funktionalität zur Verfügung. Im pragmaMx-Root wird dann nur noch die index.php als Homepage benötigt und diese Initialisierungsdatei, die aber schon durch den führenden Punkt im Dateinamen gar nicht aufgerufen werden kann.

Im pragmaMx-Root befinden sich nur noch 3 Ordner, die fest vom System vorgegeben sind.

  • Im Ordner „System“ befinden sich alle Includes, Klassen, Konfigurationsdateien usw. In diesem Ordner dürfen keine Dateien direkt aufgerufen werden, mit Ausnahme der, zu den Wysiwyg Editoren gehörenden Dateien.
  • Der Ordner „themes“ enthält wie bisher die Themes, die aber intern eine völlig andere Struktur aufweisen werden.
  • Letztendlich der Ordner „admin“. Dieser enthält, wie der Name sagt alle Dateien die zur Administration des Grundsystems gehören. Module und Addons dürfen hier keine Dateien ablegen, die bringen ihre eigene beliebige Ordnerstruktur in ihrem Unterordner mit. Die Dateien im admin-Ordner können in beliebigen Unterordnern angeordnet werden, sie werden alle direkt aufgerufen, der Umweg über die admin.php entfällt. Diese Dateien verwenden nicht das Theme/Layout des eigentlichen CMS, sondern es existiert ein völlig unabhängiges, dezent und einfach aufgebautes, eigenes Administrations Layout.

Alle Module, Addons, Plugins, oder wie diese Zusätze letztendlich benannt werden, haben keinen vorgegebenen Ablageplatz innerhalb der Ordnerstruktur.

Wobei es durchaus möglich ist, dass sich im Laufe der Entwicklung hier noch etwas ändert. Das hier geschriebene ist bisher nur in einem ersten Entwurfszustand und muss sich noch als praktikabel bewähren.

Notiz:


Fortsetzung folgt...

Gedanken zur Ordnerstruktur in pragmaMx 2

Zur Zeit können keine neuen Kommentare geschrieben werden.

Für den Inhalt der Kommentare sind die Verfasser verantwortlich.


Snow2002 schreibt am 16.10.2007 14:27:
Zitat: Fortsetzung folgt...

Öm...gibts denn evtl. nach all der Zeit neue Infos bzw. Gedankengänge, die man erfahren darf? :-)
Kei-kun schreibt am 17.08.2007 07:49:
das gute an den 3 ordnern ist ja das man absolut nix mehr falsch machen kann^^ und man hat einen besseren überblick was wiederum zur einfachheit beiträgt^^ ich freu mich schon auf 0.2 werde es dann sofort nutzen.
fjuergens schreibt am 19.01.2007 19:40:
Hallo zusammen,
toll wäre es auch wenn ihr bei den Artikeln Unterordner einführen würdet.
Das würde die ganze Sache bei den Artikel doch etwas übersichtlicher gestalten
 
Ich denke mit dem Gedanken stehe ich nicht so ganz allein da in der CMS Welt...

Ansonsten macht ihr einen tollen Job.....

sergey schreibt am 16.01.2007 12:58:
Hey erst mal.
Ich hab noch ne Idee, passt zwar nicht unter das, könnte aber ganz hilfreich sein:
Macht doch die Bereiche (Menü, Header, Content, Footer, etc.) mit div Bereichen aus CSS.
Damit fällt es einfacher sein Wunschdesign so zu realisieren, wie man es möchte.

Ansonsten find ich das CMS, toll ;)

Gruss

sergey

bajazzo schreibt am 22.12.2006 13:57:
ich halte es für sehr wichtig von vorne rein alle (wiederhole alle) grafische und Style Elemente in die Theme zu verschieben. Weiter wäre die Möglichkeit Blöcke und Module einzelne CSS Klassen zu vergeben (oder zu bearbeiten) sinnvoll.

Genauso wie bei vielen von uns, ist das Thema "Gestaltung" nicht mein Lieblingskind, aber spätestens wenn man eine neue Thema erstellen möchte, ist man wegen Ob.G. ziemlich eingegrenzt.

Außerdem, ist es 5 vor 12 sich von BB und NUKE Code zu trennen. Die Smiles und ähnliches sind zwar niedlich aber der Editor bietet einfach mehr und wirkt nun mal erwachsener.

Und, aus meiner Sicht, das wichtigste: unbedingt Module selbstständig in Zusammenspiel nur mit Grundsystem. Also keine Querverbindungen. Ich weiss, das sind nunmal alte Laster. Aber wenn es Gelegenheit gibt die Los zu werden, dann bei 0.2.

xels schreibt am 17.12.2006 00:06:
Wird es denn aufgrund der grundlegenden Änderungen ein "normales" Update auf das 0.2.0 geben oder muss man sein Seite dann komplett "neu aufestzen" ?? Ich denke das fragen sich viele hier.
Brammer schreibt am 15.12.2006 21:53:
Hallo Leute:

ich bin immer mehr davon überzeugt, dass richtige CMS zu nutzen. Ich hoffe in der neuen version kann ich einem Administrator alle module separat freischalten und nicht nur wie jetzt einige grundmodule...

Weiter so Ihr seit spitze

Saludos y un abrazo fuerte Peter

V4Mp schreibt am 14.12.2006 18:18:
Hört sich alles sehr schön an...
Interessieren würde mich mal, mit welchen Grundlegenden Modulen das neue PragmaMX ausgestattet sein wird.
Schließlich haben hier schon viele Hobbyentwickler kleine Scripte für deren Page geschrieben.

Ich denk an so Sachen wie das Avatar-Modul etc.
Außerdem, welches Forum wird bei PragmaMX 2.0 die Rolle spielen? Oder gibt es da wieder die Auswahl zwischen zweien?!

Fragen über Fragen... hoffe diese werden bald irgendwo beantwortet.

Ansonsten erstmal Hut ab, denn so habt ihr euch eine Mänge arbeit gemacht und habt auch noch ordentlich Arbeit vor euch.

Schade finde ich ein wenig den weggang von Nuke. Schließlich wurde grade so Neulingen ein Einstieg mit großer Modulauswahl gegeben.
Allerdings ist natürlich die Sicherheit höher!

PS: EIN WUNSCH! BITTE MACHT VORALLEM DIE E-MAIL ADDYS SPAM SICHER!!! ;) Aber da werdet ihr auch selber dran denken. Cya

Ria schreibt am 14.12.2006 14:03:
Hört sich sehr fortschrittlich an. Könnte man zu solchen Infos wie:

"Der Ordner „themes“ enthält wie bisher die Themes, die aber intern eine völlig andere Struktur aufweisen werden."

Eine Zusatzinformation mit dazutun, ob z.B. man dann das alte rainbow Theme weiterbenutzen kann bzw. besser neu macht?

Oder anders gefragt wo hört die Abwärtskompatibilität, im besondern oder allgemein, auf?

Das scheint nicht nur mich zu interessieren.
Gruss Ria
Falkaner schreibt am 11.12.2006 12:32:
Klingt gut, aber macht die neue Ordnerstruktur in Bezug auf die Abwärtskompatibilität zu früheren PragmaMX-Versionen Probleme?
Jay-E schreibt am 10.12.2006 10:25:
Hey das hört sich doch super an ....... ich kanns echt kaum erwarten bis die 2.0 drausen ist, aber das wird noch ne weile dauern :(

naja ich find eure Arbeit super macht weiter so jungs :D

design by hENNE, layout based on YAML