Kirby 2 Podcast Plugin

Jetzt kannst du dein Lieblings-CMS auch zum Podcasten benutzen. Dieses Kirby-Plugin erzeugt einen RSS-Feed speziell für Podcasts, sucht nach MP3s und deren Dauer und Größe.

Für Kirby 3 gibt es ein neues Plugin, welches du hier findest.

Dieses Plugin erzeugt einen RSS-Feed für deinen Podcast und liefert dir einfache Statistiken, die du über Piwik oder Google Analytics noch weiter verfeinern kannst.
Download Code auf GitHub

Update für Kirby 3

Neben der Wartungs des Plugins arbeite ich parallel auch schon an der Umsetzung für Kirby 3. Du wirst also auch nach einem Update weiter podcasten können und es wird viele tolle neue Funktionen geben, die durch das Kirby-Update möglich sind. Schau einfach hin und wieder im Blog vorbei, um auf dem Laufenden zu bleiben.

Funktionen

  • Podcast Kapitel
  • Neue iTunes iOS 11 Spezifikationen unterstützt
  • Downloadstatistiken
  • Erweitere Statistiken via Piwik oder Google Analytics
  • Deine Downloads im Panel (Widget)
  • HTML5 Audioplayer Snippet
  • Blueprints für Episoden und den Feed
  • Mehrere Podcast-Feeds
  • Kirby CLI Unterstützung

Updaten von Version 1

Diese Version wurde von Grund auf neu geschrieben. Eine Neuinstallation ist daher empfohlen. Bitte nutze eine Testumgebung um festzustellen, ob das Plugin noch mit deiner alten Installation kompatibel ist.

Anforderungen

  • Kirby 2.4.1
  • PHP 5.6

Installation

Kirby CLI (empfohlen)

Die Installation mittels Kirby CLI ist am einfachsten

kirby plugin:install mauricerenck/kirby-podcast

Clone the git repository

Du kannst auch einfach das Repository auf GitHub clonen

git clone https://github.com/mauricerenck/kirby-podcast site/plugins/podcast

Install via zip file

Du kannst das neueste Release hier herunterladen: https://github.com/mauricerenck/kirby-podcast/archive/master.zip

Entpacke es und kopiere das podcast Verzeichnis in das Kirby-Plugin-Verzeichnis unter site/plugins/

Setup

Wenn du das Panel benutzt, kannst du nun zwei neue Blueprints nutzen. Den podcastrss Blueprint, der für den Podcast feed genutzt wird.

Es gibt außerdem ein episodeBlueprint für die einzelnen Episoden.

Wenn du das Panel nicht benutzt, findest du einige Markdown-Beispiele im docs Verzeichnis dieses Plugins.

iTunes Kategorien für den Feed

Du findest eine liste der iTunes Kategorien im Docs Verzeichnis. Kategorien müssen auf eine bestimmte Weise angegeben werden:

HauptCategory,HauptCategory/UnterCategory

Beispiel:

Business,Business/Careers

Inhalte vorbereiten

RSS Feed

Den RSS-Feed sollte in einem Unterverzeichnis deines Podcast-Verzeichniess liegen. Es sollte unsichtbar sein (also ohne ein Nummer vor seinem Verzeichnisnamen). Lege dort eine Markdown-Datei mit dem Namen podcastrss.md ab.

Wenn du ein Mehrsprachensystem nutzt, kannst du dort auch entsprechende sprachspezifische Dateien ablegen, wie z.b. podcastrss.de.md

Fülle alle Felder aus. Ein Bispiel findest du im Docs Verzeichnis.

Beispiel:

Angenommen, dein Podcast soll unter https://yoursite.com/podcast erreichbar sein. Gehe in das Content-Verzeichnis und füge den Ordner podcast hinzu. Stelle sicher, dass der Ordner mit der passenden Nummer davor beginnt (je nach gewünschter Reihenfolge deiner Seiten)
Innerhalb des Podcast-Ordners legst du nun einen weiteren Ordner namens feed an. Füge die podcastrss.md Datei hinzu. Fülle alle Felder in der Datei. Dein RSS-Podcast-Feed sollte nun unter https://yoursite.com/podcast/feed erreichbar sein.

Episoden

Um eine Episode zu ergänzen, erstelle einfach den Ordner für die Episode im Podcast-Verzeichnis (parallel zu feed). Genauso als würdest du z.b. einen Blogpost erstellen. Füge eine Markdown-Datei hinzu, z.b. die episode.md. Trage die Inhalte ein. Fertig. Eine Beispieldatei findest du im Docs Verzeichnis.

Deine Episode wird im Feed erscheinen, sobald die Seite sichtbar geschaltet ist. Damit du Folgen vorproduzieren kannst, kannst du das Date-Feld benutzen. Trage ein Datum und eine Uhrzeit in der Zukunft ein, deine Episode wird erst dann im Feed erscheinen. Eventuell musst du dafür auch dein Theme anpassen (damit es dort nicht schon vorher auftaucht). Füge dazu einfach einen Filter zur Query hinzu:

$page->children()->visible()->flip()->filterBy('date', '<=', time())

Optionen

Um die Zahl der Einträge im Statistik-Widget zu steuern setze:

c::set('plugin.podcast.widget.entries', 10);

Um den Atom-Tag-Link zu überschreiben, setze:

c::set('plugin.podcast.atom.link', 'http://yourdomain.tld/path/to/file.php');

Das kann sinnvoll sein, wenn du deine Feed-URL umziehst.

Erweiterte Statistiken

Standardmäßig nutzt das Plugin ein simples Downloadtracking. Jeder Download erhöht einen Zähler der Episode. Du kannst aber auch erweiterte Statistiken nutzen, z.b. mit Piwik (empfohlen) oder Google Analytics (nicht umfassend getestet).

Piwik

Du kannst Piwik zum Tracken deines Podcasts nutzen. Du kannst Ziele, Events und/oder Aktionen erfassen. Um ein Ziel zu erfassen, musst du dieses zunächst in Piwik erstellen. Mehr dazu hier: https://piwik.org/docs/tracking-goals-web-analytics

Um das Piwik-Tracking zu aktivieren, setze einfach die URL zu Piwik und die Piwik ID deiner Seite. Sofern du keine Ziel-ID, keinen Event-Namen oder Aktion setzt, wird nichts passieren. Du kannst alle dieser Möglichkeiten aktivieren oder nur einzelne.

Diese Optionen stehen in der config.php zur Verfügung:

Option Value Mandatory
plugin.podcast.piwik.Base Deine Piwik URL yes
plugin.podcast.piwik.Id Die Piwik ID deiner Webseite yes
plugin.podcast.piwik.Token Dein Piwik Access Token https://piwik.org/faq/general/faq_114 yes
plugin.podcast.piwik.GoalId Setze die ID eines Ziels, um es zu erfassen optional
plugin.podcast.piwik.EventName Gib einen Namen für das Download-Event an, um es zu erfassen optional
plugin.podcast.piwik.Action (bool) Setze es auf true um die Download-Aktion zu erfassen. optional

Beispiel:

c::set('plugin.podcast.piwik.Base', 'http://stats.mypiwik.net/');
c::set('plugin.podcast.piwik.Id', 2);
c::set('plugin.podcast.piwik.Token', '1234567890abcdg6');
c::set('plugin.podcast.piwik.GoalId', 1);
c::set('plugin.podcast.piwik.EventName', 'Download');
c::set('plugin.podcast.piwik.Action', true);

Google Analytics

Du kannst auch Google Analytics zum Tracken benutzen. Bitte beachte, dass ich diese Funktion bisher nicht umfangreich testen konnte. Setze Deine UI-ID um das Tracking zu aktivieren, dann gibt einen Event-Namen ein und entscheide ob du auch pageviews auslösen möchtest.

Option Value Mandatory
plugin.podcast.GA.UA UA-1234566 yes
plugin.podcast.GA.pageView (bool) true optional
plugin.podcast.GA.eventName Download optional

Beispiel:

c::set('plugin.podcast.GA.UA', 'UA-1234567890');
c::set('plugin.podcast.GA.pageView', true);
c::set('plugin.podcast.GA.eventName', 'Episode');

Kapitel

Dieses Plugin unterstützt Kapitel. Wenn du den Blueprint benutzt, hast du bereits die Möglichkeit Kapitelmarken einzutragen. Gebe einfach einen Zeitstempel, einen Titel und eine optionale URL ein. Du kannst beliebig viele Kapitel hinzufügen.

Im Docs-Verzeichnis gibt es ein Beispiel in der Episoden-Datei.

Player

Derzeit wird lediglich der HTML5 Audio-Player genutzt. Dieser hat naturgemäß einen sehr geringen Funktionsumfang. Ich arbeite an der Integration eines umfangreicheren Player. Um den HTML5-Player zu nutzen, benutze das Snippet in deinem Template:

 snippet('podcastplayer'); ?>

Du kannst auch einen anderen Player nutzen, schaue dir die Datei snippets/podcastplayer.php im podcast plugin Verzeichnis an. Dort findest du den passenden Code, den du auch in deinem Player nutzen kannst. Stelle unbedingt sicher, dass du auch das Umschreiben der mp3-URL verwendest. Das ermöglicht das Tracken von Downloads.

License

http://www.opensource.org/licenses/mit-license.php

Author

Maurice Renck https://maurice-renck.de