wiki:POKAL/CMS

Das Content-Managament-System (CMS) für POKAL

Screenshot vom POKAL-CMS (Bolt CMS) Bearbeiten der Startseite im Browser mit Bolt.

Verwaltung von Uploads in Bolt Bolt unterstützt bequem das Verwalten von Dateien.

Bearbeiten von Templates in Bolt Auch Templates inkl. CSS und JavaScript-Files können im Browser geschrieben werden.

Um statische Inhalte, also Textseiten, auf POKAL besser verwalten zu können, wurde Anfang 2015 ein richtiges CMS installiert, und zwar das PHP-basierte Bolt CMS. Es ist leichtgewichtig und arbeitet mit einer SQLite-Datenbank. Bolt ist auf Server/POKAL2 installiert.

Adressen

Alle Seiten unterhalb des Verzeichnisses https://pokal.uni-frankfurt.de/pages werden von dem CMS ausgeliefert, in gleicher Weise wie POAK alle Anfragen unter https://pokal.uni-frankfurt.de/poak bedient.

Der Login zum Backend von Bolt findet sich unter https://pokal.uni-frankfurt.de/pages/bolt. Derzeit ist nur ein admin-Account in Benutzung, lokale Passwortverwaltung. Siehe auch #1115 für Zugang.

Funktionen

Bolt funktioniert ähnlich wie Django, nur ein bisschen luxuriöser. So kann man Templates (Twig), Konfigurationsdateien, etc. direkt im Browser bearbeiten. Man kann verschiedene Seitentypen anlegen, was funktioniert als würde man Django-Modelle definieren. Derzeit wird vor allem ein Modell verwendet, und zwar page, welches einfach einen body (HTML) beinhaltet und ein paar andere Funktionen, um z.B. den Seitentitel zu wählen. In dem man auswählt, mit welchem Template eine page gerendert werden soll, kann man das Rahmengerüst einer Seite bestimmen (z.B. mit Menü rechts oder ohne).

Technisches

Bolt CMS wird per PHP aus dem Verzeichnis /home/sageserver/bolt ausgeliefert. PHP wird per php-fpm, also über FastCGI, als Benutzer www-data ausgeführt. Siehe auch das Kernticket #1085 für Dokumentation dazu.

Es hat etwa einen Tag gedauert, Bolt beizubringen, aus einem Nginx-Unterverzeichnis, welches nicht dem Document Root entspricht, herausgeliefert zu werden. Gelöst habe ich das nun, in dem Bolt selbst ein Unterverzeichnis "vorgegaukelt" wird. So steht jetzt auf Server/POKAL2 in der Nginx-Konfiguration:

	# BOLT Testinstallation fuer POKAL #1085.
	# Bolt ist ein CMS auf PHP-Basis.
	location /pages {
		root /home/sageserver/bolt/;
		try_files $uri $uri/ /index.php?$query_string /pages/index.php?$query_string;
		index index.php;

		location ~ \.php {
			fastcgi_pass unix:/var/run/php5-fpm.sock;
			fastcgi_index index.php;
			include fastcgi_params;
			fastcgi_split_path_info       ^(.+\.php)(/.+)$;
			fastcgi_param PATH_INFO       $fastcgi_path_info;
   	    		fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
			fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
			fastcgi_param HTTPS on;
		}

		# usw.
	}

Tatsächlich ist die index.php von Bolt aber im Verzeichnis /home/sageserver/bolt/pages installiert. Dies ist ein fieser Trick, ohne dem ich das Ding gar nicht zum Laufen bekommen habe. Wenn das CMS in ein anderes Unterverzeichnis umziehen will, muss man den Pfad also sowohl im Dateisystem ("Pseudo-Unterordner") als auch in der nginx-Konfiguration ändern.

Tickets

Folgende Tickets besprechen das Thema Statische Seiten auf POKAL:

#443
POKAL-web2
#553
Bereich überlegen, in dem POKAL-Materialien sinnvoll gehostet werden können
#833
Coole 404-Seite
#954
POKAL Hilfe: A first primer
#1006
POAK kann Textseiten übernehmen
#1084
POKAL Nutzungsszenarien
#1085
Statische Seiten in POKAL: CMS oder Wiki

Last modified 2 years ago Last modified on Sep 10, 2015 2:49:41 PM

Attachments (3)

Download all attachments as: .zip