Simple Base is an open source CMS. You Simple Base? Support the Team with a coffee.



Erstellen eines Packages

Wenn man ein Package erstellen will muss der Aufbau der Ordner usw. genauso sein wie der von Simple Base. Was so viel bedeutet wie, will man eine neue Page (z. B. Kontaktformular) als Package bereitstellen, so müsste der Orderaufbau wie folgt sein:

 

  • library
    • Pages
      • Contact.class.php
  • js
    • Pages
      • ContactPage.js
  • package.xml
  • packages
    • Contact
      • component.xml

 

In dem Übergeordneten/Stamm Ordner muss eine package.xml-Datei enthalten sein. Der Gesamte Ordnerinhalt muss dann als TAR-Packet bereitgestellt werden. Die XML-Dateien die in der package.xml Datei angegegen werden (sogenannte Commands), müssen in einem Unterordner unter dem {sbroot}/packages Ordner liegen. Die package.xml hat dabei folgenden aufbau:

 

<package>
  <id>id.of.package</id>
  <name>Custom Package</name>
  <folder>CustomPackage</folder>
  <description></description>
  <version>0.0.0.1</version>
  <>02.05.2014</date>
  <author>www.sb-websolutions.de</author>
  <authorurl>www.sb-websolutions.de</authorurl>
  <commands type="install">
    <command type="acpMenu">packages/CustomPackage/acpMenu.xml</command>
    <command type="userPermission">packages/CustomPackage/permissions.xml</command>
    <command type="pagelayout">packages/CustomPackage/pagelayouts.xml</command>
    <command type="masterpage">packages/CustomPackage/masterpage.xml</command>
    <command...



FastCGI als PHP Unterstützung

Wenn Ihr Simple Base installieren wollt und beim letzten Schritt (Benutzerdaten eingeben) eine Weiße Seite kommt bzw. Fehler kommen wie z. B. "mkdir: Permission denied", dann solltet Ihr in den Domain-Einstellungen/Apache-Einstellungen oder z. B. über Plesk unter dem Punkt

"PHP Unterstützung" die Einstellung "FastCGI" auswählen als Handler:




Ein Meilenstein wurde erreicht

Mit dem gestrigen Tag wurde in Simple Base ein Meilenstein erreicht. Ich habe mir vorgenommen für Simple Base eine Gruppenverwaltung inklusive Rechteverwaltung für die Gruppen zu entwickeln. Die Rechte gab es schon länger, wurde allerdings alles in der Datenbank gepflegt, was natürlich für den Endanwender nicht geeignet ist. Nun kann man das Ganze über die Oberfläche machen. Das war eine kleine Herausforderung für mich, denn die Rechte müssen natürlich dynamisch in der Übersicht angezeigt werden, also sprich wenn ein neues Recht hinzukommt/registriert wird, dann soll es auch im Formular erscheinen - andersrum wenn es gelöscht wird, darf es im Formular nicht mehr auftauchen!

Nun ist der Meilenstein erreicht und somit auch die Veröffentlichung von Simple Base in der Version 1.0.0.0 Beta 5

Da es auf SB Websolutions noch keine Download-Datenbank gibt, bitte ich euch um etwas Gedult, bis diese entwickelt wurde und Simple Base dort veröffentlicht wird. Alle die es nicht aushalten können bis dahin, können mich auch gerne Kontaktieren, denen schicke ich dann eine Version per Mail!




Sessions werden nicht gespeichert nach refresh/submit

Folgende Situation: Ich habe den Simple Base Installer fertiggestellt und bei mir hat es auch wunderbar funktioniert auf dem Windows 7 Rechner mit Xampp und PHP 5.4. Nun wäre es natürlich zu schön um wahr zu sein, wenn es auch noch wo anders Funktionieren würde (Stichwort "Running on my machine bug"). Beim Versuch Simple Base auf einem Webspace (Linux Server) zu installieren, hat es aber schon probleme gegeben.

Was war das Problem?
Das Problem war, dass man nach dem ersten Schritt, der Eingabe der Datenbankzugangsdaten, die Werte in eine Session-Variable speichert um diese später in der Datei zu schreiben. Wollte man den zweiten Schritt beenden und Simple Base installieren, ist man wieder bei Schritt 1 gelandet. Für mich war es gleich klar, es liegt an der Session. Überall durchgeschaut, nicht verstanden was es sein kann. Die Session liegt vorallem im Schritt 2 noch vor, nach einem Refresh aber nicht mehr. Das (gefühlte) ganze Internet danach abgesucht und nichts (brauchbares) gefunden. Auch das übergeben der SID hat nichts gebracht, genauso wie das aufrufen der Methode session_write_close und schon gar nicht das setzen von ini-Werten. Langsam aber sicher bin ich echt verzweifelt gewesen. Doch dann die Lösung...

Die Lösung: Bevor man etwas ausbibt (echo, reines HTML oder sonst was) muss man die Session starten (session_start()) da Sie sonst nicht gespeichert wird. Da der Installer aber den Header und den Footer immer ausgibt (im nicht PHP-Bereich), habe ich also...



Simple Base Installer

Nach langer Stille, folgt nun wieder mal ein Beitrag von mir. In letzer Zeit habe ich mich um den Simple Base Installer gekümmert. Da man wegen dem kompletten neubau ab Beta 2 Simple Base nicht automatisiert installieren kann, ist der Installer der einzige Grund warum man Simple Base noch nicht (offiziell) Downloaden kann. Ich will natürlich keinem die Manuelle einrichtung der Datenbank Tabellen usw. zumuten. Wenn ich Simple Base verwendet habe, habe ich dies gemacht, aber glaubt mir, das ist keine wirklich spaßige Sache.

Da nun der Installer fertig ist, kann ich mich noch um ein Paar andere kleine "Schönheitsfehler" kümmern und dann kann man Simple Base auch schon offiziell hier auf sb-websolutions downloaden und installieren. Und das geht auch noch ganz leicht. Nach dem downloaden Entpackt man die ZIP-Datei und kopiert die install.php und die SB.Setup.tar Dateien auf den Server und führt die install.php-Datei aus. Es werden die Voraussetzungen (ist PHP >= 5.3.2 installiert) überprüft und wenn dies der Fall ist, muss man die Datenbankzugangsdaten eingeben und ein Administratoraccount für Simple Base anlegen. Die SB.Setup.tar-Datei wird dann entpackt und automatisch die Datenbanktabellen, Benutzer, Komponenten, Berechtigungen, Startseite usw. angelegt. Danach kann man Simple Base auch schon benutzen.

Ich hoffe ich werde bald wieder Zeit haben um die letzten Aufgaben zu erledigen und um Simple Base offiziell zum Doanload anzubieten.



SEO freundliche URLs in der Navigation

Die wichtigsten Links innerhalb einer Seite befinden sich normalerweise in der Navigation ganz oben. Heute habe ich die Globalen Einstellungen von Simple Base um den Punkt "SEO aktiv" ergänzt. Wenn dieser Hacken gesetzt wird, dann werden die internen Links der Top-Navigation automatisch von z. B. /index.php?page=simple-base in den viel besser aussehenden und besser merkenden Link /simple-base.html umgewandelt. Mittels dem mod_rewrite Modul des Servers und der .htaccess-Datei wird dann trotzdem auf die richtige Seite sozusagen "weitergeleitet". Realisiert werden muss dann nur noch eine Weiterleitung, die von /index.php?page=simple-base automatisch auf /simple-base.html weiterleitet, sofern SEO aktiviert ist, wegen dem sogenannten "Duplicat Content". Denn wenn eine Seite den selben inhalt bietet aber unterschiedliche URLs sind, wie in dem Fall oben (/index.php?page=simple-base und /simple-base.html) dann sehen es Google & Co. als zwei verschiedene Seiten mit dem selben Inhalt an. Das Selbe gilt übrigens auch für Seiten mit www und ohne www.

Die Links die z. B. in einer Seite verwendet werden, müssten dann noch mit einem Zusatzplugin "manipuliert" werden. Dieses PlugIn steht allerdings schon auf meiner To-Do-Liste. Bis dahin heißt es, die URL händisch "schön" anzugeben!



Rechteverwaltung für Seiten in Simple Base

Gestern habe ich in Simple Base eine Rechteverwaltung für Seiten eingebaut. Das bedeutet, dass für jede "dynamische" Seite, also jede Seite die man beliebieg oft (selbst) erstellen kann, bestimmen kann, wer (Benutzergruppe) diese Seite sehen kann und wer nicht. Beim erstellen einer Seite wird prinzipiell die Grundeinstellung der Gruppenberechtigung "Kann Seite(n) sehen" verwendet. Das bedeutet, kann Gruppe X die Seite prinzipiell sehen und Gruppe Y nicht, so wird beim anlegen der Seite diese Einstellung automatisch auf die Seite angewandt. Möchte man für eine bestimmte Seite allerdings eigene Rechte haben (z. B. Gruppe X darf nicht sehen, Gruppe Y aber schon) kann man das eben in der Rechteverwaltung für die jeweilige Seite einstellen!

Momentan ist es aber nicht möglich Seiten aus der Navigation zu exkludieren, wenn man auf die Seite keine Leseberechtigung hat. Wenn ein Benutzer auf den Navigationspunkt klickt, kommt eine "Access denied" Fehlermeldung. Das ist zwar nicht schön (auch für Suchmaschinen nicht) aber ist vorerst nicht anders zu lösen, bzw. wird später noch umgebaut.

Was die Module angeht, da bin ich mir noch nicht sicher. Was meint Ihr sollen einzelne Module eine Rechteverwaltung bekommen wie auf Seitenebene? Also sprich Gruppe X kann die Seite A und das Modul B zwar sehen aber das Modul C nicht? Die ganze Überprüfung der Rechte ist natürlich auch eine Performance last.



Wintergartenselbstbau und Simple Base

In meinem Blogbeitrag "Simple was? Simple Base!" vom 23. März habe ich bereits erwähnt dass wintergartenselbstbau.de Simple Base verwendet. Nun möchte ich näher darauf eingehen. Wintergartenselbstbau.de soll Menschen helfen Ihren Wintergarten selber zu bauen. Dabei ist die eigentliche Zielgruppe meist Personen über 55 Jahre. Deshalb sollte die Homepage sehr einfach zu bedienen, übersichtlich und vom Design her schlicht gehalten sein. Die Homepage die vorher dort zu sehen war, war eine Katastrophe. Alles in "reinem" HTML geschrieben mit Tabellen-Layout und einer Flashnavigation. Okay, man muss dazu sagen, dass die Homepage im Jahre 2002 erstellt und nie mehr geändert wurde (zumindest was die Technoligie angeht). Dementsprechen war die Seite auch nicht wirklich Suchmaschinen freundlich. Mich hat gewundert, dass die Page überhaupt auf einen Pagerank von 1 kam.

Nun ja. Ich habe den Seiteninhaber davon überzeugt auf Simple Base umzusteigen. Vereinbart wurde eine schrittweise einführung. So sollte z. B. erst einmal ein Design erstellt werden und in Simple Base eingebaut. Danach der inhalt nach und nach eingepflegt. Die Galerie und die Glossar Seite (auf der Hompage unter Index zu finden) sollte erstmal überhaupt nicht verändert werden. Da mit dem Glossar allerdings auch mehr verbunden ist/war als einfach nur eine Auflistung der Wörter, musste ich doch noch eine Glossar Seite entwickeln. Nehmen wir mal an auf der...



Wie viel CSS 3 steckt in deinem Browser?

CSS 3 verwenden schon einige Seiten. Doch kann man es wirklich schon einsetzen bzw. welche Browser können was? Die meisten Browser, sogar der Internet Explorer, können sehr viele CSS 3 Eigenschaften. Um herauszufinden welcher Browser, welche Selektoren unterstützen, kann man das Tool auf der Homepage CSS 3 Info verwenden. Was mir aufgefallen ist, mit meinem Browser (FireFox 19.0.2) funktionieren zwar alle Selektoren in CSS 3. Aber, zum Beispiel, leider nicht alle Eigenschaften. Mit dem Tool CSS 3 Test hat man da schon mehr Analyse-Werte. Demnach supported mein Browser "nur" 58% (505 von 937). Der Google Chrome hingegen hat 64% (570 von 937)). Eine überraschung für mich war der Internet Explorer 10. Der kommt sogar auf 54% (444 von 937).

Also ja, man kann CSS 3 schon verwenden um coole Sachen damit zu machen. Aber man sollte nicht übertreiben. Denn nicht alles was z. B. im Chrome oder FireFox funktioniert, funktioniert im Internet Explorer (wie so oft). An sich aber zwei gute und nützliche Test-Seiten. Was bekommt Ihr denn bei eurem Browser raus?



Simple was? Simple Base!

Am 27. November 2010 habe ich in meinem Forum einen Beitrag geschrieben. In diesem Beitrag habe ich meine Idee Projekt "Simple Base" vorgestellt und dazu die Forenbenutzer um Hilfe gebeten. Es sind auch gleich drei Benutzer in dieses Projekt hinzugestossen. Leider waren es am Schluss nur noch (mit mir zusammen) drei Personen. Nach der Beta 2 (die bisher im Forum herunterladbar ist) habe ich mich dazu entschlossen die nächste Version sehr stark zu überarbeiten. Es ist darauf hinausgelaufen, dass ich alles von Anfang an entwicklet habe. Aber ich muss sagen, es hat sich gelohnt. Simple Base ist wirklich gut geworden, nach der Neuerstellung. Somit bin ich also der einzige Entwickler von Simple Base. Allerdings werden die zwei anderen Entwickler ggf. auch wieder an Simple Base entwickeln, wenn offiziell die Beta 4 veröffentlicht wird.

Was ist Simple Base?


Simple Base ist ein kostenloses Content Management System (CMS) welches auf PHP Basiert und die SMARTY-Template Engine verwendet. Es wird kein Framework verwendet, sondern ein eigenes Framework entwickelt und letztendlich auch benutzt. Ziel von Simple Base soll es sein einfach in der Benutzung zu sein. Deshalb auch der Name.

Warum noch ein CMS?


Es gibt sehr viele CM-Systeme die man im Internet kostenlos herunterladen und verwenden darf, auch für den kommerziellen Einsatz, warum also dann Simple Base? Meiner Erfahrung nach, sind viele CM-Systeme zwar richtig gut (z. B. Joomla) aber für den einen oder anderen Endanwender...