« Logbuch Übersicht

(October CMS) Rainlab Blog Artikel via MySQL exportieren

Veröffentlicht am:

Aktuell bin ich dabei mein Blog www.netzware.net neu aufzubauen und auf ein anderes CMS/Blog System umzuziehen. Als Blog System verwende ich momentan das October CMS mit dem Rainlab Blog Plugin. Mit dieser Kombination bin ich sehr zufrieden, doch die Entwickler von October haben sich dazu entschieden das CMS ab Version 2 als Closed Source zu vertreiben. Da die Version 1 zukünftig nicht mehr mit Updates versorgt wird, werde ich auf ein anderes Blog System wechseln.

Damit kein Artikel verloren geht, habe ich Artikel alle aus der Datenbank exportiert.

Rainlab Blog Posts exportieren

Das Rainlab Blog Plugin ist eines der beliebtesten Blog Plugins für das CMS und besitzt eine recht einfache Tabellenstruktur. Das macht die Abfragen der Artikel um so einfacher.

Mittels dieser MySQL Abfrage lassen sich alle veröffentlichten Artiekl inkl. Kategorie auslesen.

SELECT 
  rbp.id,
  rbp.title,
  rbp.slug,
  rbp.content,
  rbp.content_html,
  rbp.published_at,
  rbp.created_at,
  rbp.updated_at,
  (
  	SELECT
	GROUP_CONCAT(rainlab_blog_categories.id, ':', rainlab_blog_categories.name SEPARATOR ';')
	FROM rainlab_blog_categories
	INNER JOIN rainlab_blog_posts_categories ON(rainlab_blog_posts_categories.post_id = rbp.id)
	WHERE rainlab_blog_categories.id = rainlab_blog_posts_categories.category_id
  ) AS kategorie
FROM `rainlab_blog_posts` AS rbp
WHERE rbp.published = 1

Ursprünglich habe ich die Kategorien per LEFT JOIN ausgelesen. Damit habe ich aber das Problem das es pro Artikel Kategorie eine Zeile gibt. Ein Artikel mit drei verknüpften Kategorieren wird dadurch drei mal ausgegeben. Das ist grundlegend kein Problem, bläht aber den Artikelimport umso mehr auf.

Stattdessen habe ich die Kategorien in einer Subquery via GROUP_CONCAT abgefragt. So stehen alle Kategorien in einer Spalte mit ID aufgelistet. Ein Artikel mit mehreren Kategorien sieht in dem Export demnach so aus: 2:Allgemein;3:Mobile

Je nachdem welches Blogging System ich in Zukunft verwende, muss ich die Kategorien beim Import einmal extrahieren und einzeln hinzufügen. Das dürfte über ein PHP oder python Script kein Problem darstellen.

Typemill oder Bludit

Momentan tendiere ich zwischen Typemill und Bludit. Wordpress kommt für mich nicht infrage, da es mittlerweile nicht mehr viel mit einem reinen Blog System zu tun hat, sondern nur noch als erweiterbares Agentur CMS dient. Das ist mittlerweile meine persönliche Meinung zu Wordpress.


« Logbuch Übersicht