Skip to content

Latest commit

 

History

History
576 lines (433 loc) · 13.7 KB

File metadata and controls

576 lines (433 loc) · 13.7 KB

🎙️ Podcast Manager für REDAXO

Version REDAXO PHP License

Der modernste Podcast Manager für REDAXO CMS - Jetzt mit Apple Podcasts 2025 Support, IAB-compliant Statistics und Vidstack Integration!

Screenshot


🚀 Was ist neu in Version 1.1.0?

✨ Major Features

  • Apple Podcasts 2025 Compliant - Alle neuen iTunes Tags
  • Vidstack Integration - Moderner Audio Player mit besserer UX
  • IAB-Compliant Statistics - Monetarisierungs-taugliche Zahlen
  • Markdown RSS Format - Human & machine-readable Beschreibungen
  • PHP 8.4 Compatible - Zukunftssicher ohne deprecated Functions
  • Backend Audio Preview - Live-Vorschau beim Bearbeiten
  • SEO Optimized - JSON-LD, OpenGraph, Twitter Cards
  • Auto ID3 Tags - Automatische Laufzeit-Erkennung
  • Scheduled Publishing - Veröffentlichungsdatum-Filterung
  • GDPR Compliant - Datenschutz-konforme Statistiken

📋 Inhaltsverzeichnis

  1. Features
  2. Installation
  3. Quick Start
  4. Verwendung
  5. Statistics & Tracking
  6. SEO & Marketing
  7. API Dokumentation
  8. Vergleich mit Alternativen
  9. Support

⭐ Features

Content Management

  • 📝 Episode-Verwaltung mit YForm Backend
  • 📅 Scheduled Publishing - Veröffentlichung zu bestimmtem Datum
  • 🏷️ Kategorien - Organisation nach Themen
  • 🖼️ Episode-Bilder - Individuelle Cover pro Episode
  • ✍️ Rich Text Editor - Redactor2 Integration
  • 📖 Markdown Support - In RSS Feeds
  • 🔗 Affiliate Links - Via XOPF Addon

RSS Feeds

  • 📡 RSS 2.0 - Standard-compliant
  • 🍎 Apple Podcasts 2025 - Alle neuen Tags
  • 🎵 Spotify Compatible - Optimiert für Spotify
  • 📝 3 Formate - Text, Markdown, HTML
  • 🔒 Validation - RSS Feed Validator kompatibel

Audio Player

  • 🎵 Vidstack - Moderner Player (2025-ready)
  • 🔄 Fallbacks - Plyr → HTML5
  • Accessibility - ARIA, Keyboard-Navigation
  • 📱 Mobile-optimized - Touch-friendly
  • 👁️ Backend Preview - Live Audio-Vorschau

Statistics & Analytics

  • 📊 IAB 2.1 Compliant - Monetarisierungs-tauglich
  • 🤖 Bot Filtering - Nur echte Hörer zählen
  • 🔒 GDPR Compliant - IP-Anonymisierung
  • 📱 Platform Detection - iOS, Android, etc.
  • 🎧 App Detection - Apple Podcasts, Spotify, etc.
  • 📈 Growth Tracking - 30-Tage Vergleiche
  • 💾 Export - CSV für Werbekunden

SEO & Marketing

  • 🔍 JSON-LD - Structured Data für Google
  • 📱 OpenGraph - Social Media Previews
  • 🐦 Twitter Cards - Optimierte Shares
  • 🗺️ Sitemap - Automatische Integration
  • 🔗 Affiliate Links - XOPF Integration

Technical

  • PHP 8.4 - Neueste PHP-Version
  • 🔄 Backward Compatible - PHP 5.6+
  • 🏗️ Modern Architecture - Standalone Classes
  • 📚 Well Documented - Ausführliche Docs
  • 🧪 Tested - Production-ready

💾 Installation

Voraussetzungen

  • REDAXO 5.13 oder höher
  • PHP 5.6 - 8.4
  • YForm Addon
  • YRewrite Addon

Empfohlene Addons

  • Vidstack (Moderner Audio Player)
  • Redactor2 (Rich Text Editor)
  • XOutputFilter (Affiliate Links)

Schritt-für-Schritt Installation

1. Addon installieren

# Via Composer (empfohlen)
composer require friendsofredaxo/podcastmanager

# Oder manuell
# Download ZIP und nach /redaxo/src/addons/ entpacken

2. Im REDAXO Backend aktivieren

  • Gehe zu: Addons → Podcast Manager
  • Klicke auf Installieren
  • Klicke auf Aktivieren

3. Grund-Konfiguration

Nach der Installation wirst du durch die wichtigsten Schritte geführt:

✅ Datenbank-Tabellen erstellt
✅ Standard-Konfiguration angelegt
✅ Media Manager Typen erstellt
ℹ️ YForm & YRewrite gefunden
ℹ️ Optionale Addons erkannt

4. Einstellungen konfigurieren

Gehe zu Podcast Manager → Einstellungen und konfiguriere:

  • Feed Titel - Name deines Podcasts
  • Feed Beschreibung - Was behandelt dein Podcast?
  • Autor & Email - Deine Kontaktdaten
  • Feed Bild - Podcast Cover (mindestens 1400x1400px)
  • Kategorien - Apple Podcasts Kategorien
  • Artikel IDs - Detail-Seite und RSS-Feed Artikel

5. Kategorien anlegen

Unter Podcast Manager → Kategorien kannst du Themen-Kategorien erstellen.

6. Erste Episode erstellen

Unter Podcast Manager → Hauptmenü:

  • Klicke auf Eintrag hinzufügen
  • Fülle alle Felder aus
  • Lade deine Audio-Datei hoch
  • Speichern!

🏁 Quick Start

1. Modul erstellen (Output)

<?php
if (rex::isBackend()) {
    echo "PODCAST output - nur auf der Webseite sichtbar.";
} else {
    $config = [
        'mode'        => 'overview',  // 'start', 'overview', 'detail'
        'show_teaser' => true,
        'limit'       => 10,
        'show_audio'  => true,
        'category'    => '',          // Optional: Kategorie-Filter
    ];
    
    $output = new PodcastOutput($config);
    echo $output->renderWithAssets();
}

2. RSS Feed Template erstellen

<?php
// Content-Type setzen
rex_response::sendContentType('application/xml; charset=utf-8');

// Format wählen: 'text', 'markdown', 'html'
$format = rex_get('format', 'string', 'markdown');

// RSS generieren
$rss = new PodcastRSS($format);
echo $rss->generate('rss2');

exit;

3. URL-Profil erstellen (YRewrite)

In YRewrite ein neues URL-Profil anlegen:

  • Domain: deine-domain.de
  • Startartikel: Deine Podcast-Übersicht
  • 404 Artikel: Dein 404-Artikel

📖 Verwendung

Die 3 Output-Modi

Overview (Episodenliste)

$output = new PodcastOutput(['mode' => 'overview']);
echo $output->render();

→ Listet alle Episoden als Teasers auf

Start (Featured + Teaser)

$output = new PodcastOutput(['mode' => 'start']);
echo $output->render();

→ Erste Episode groß mit Player + Rest als Teaser

Detail (Einzelne Episode)

$output = new PodcastOutput(['mode' => 'detail']);
echo $output->render();

→ Volle Episode mit Player und kompletten Infos

Kategorie-Filterung

// Nur Episodes aus Kategorie 5
$output = new PodcastOutput([
    'mode' => 'overview',
    'category' => 5,
]);
echo $output->render();

Backend Audio-Vorschau

In der YForm-Tabellenkonfiguration:

audio_preview|preview|Audio-Vorschau|audiofiles|1|1

Zeigt Live-Vorschau beim Bearbeiten:

  • 🎵 Audio Player
  • ⏱️ Laufzeit (auto-erkannt via ID3)
  • 📏 Dateigröße

📊 Statistics & Tracking

IAB-Compliant Tracking

Der Podcast Manager trackt Downloads/Streams nach IAB 2.1 Standard:

Was wird getrackt?

  • ✅ Unique Listeners (session-basiert)
  • ✅ Platform (iOS, Android, Windows, etc.)
  • ✅ App (Apple Podcasts, Spotify, etc.)
  • ✅ Download vs. Stream
  • ✅ Completion Rate (wenn verfügbar)
  • ✅ Referrer
  • ✅ Bot-gefiltert

GDPR-Compliant:

  • IP-Adressen werden anonymisiert
  • Keine personenbezogenen Daten
  • Opt-out möglich

Statistiken abrufen

// Episode-Statistiken
$stats = PodcastStats::getEpisodeStats($episodeId, '2025-01-01', '2025-12-31');

echo "Downloads: " . $stats['total_downloads'];
echo "Unique Listeners: " . $stats['unique_listeners'];

// Gesamt-Statistiken
$overall = PodcastStats::getOverallStats();
echo "Wachstum: " . $overall['growth_percentage'] . "%";

Export für Werbekunden

// CSV Export (IAB-compliant)
$csv = PodcastStats::exportIABCompliant($episodeId, $startDate, $endDate);

header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="podcast-stats.csv"');
echo $csv;

Monetarisierung

Die Statistiken sind monetarisierungs-tauglich:

  • ✅ Spotify für Podcast-Anforderungen erfüllt
  • ✅ Apple Podcasts Analytics kompatibel
  • ✅ IAB 2.1 certified numbers
  • ✅ Bot-gefiltert
  • ✅ Unique Listener Tracking

🔍 SEO & Marketing

JSON-LD Structured Data

// Automatisch für Detail-Seiten
echo PodcastSEO::generateStructuredData($episode);

Generiert:

{
  "@context": "https://schema.org",
  "@type": "PodcastEpisode",
  "name": "Episode Titel",
  "episodeNumber": "123"
}

OpenGraph & Twitter Cards

// Für Social Media Shares
echo PodcastSEO::generateOpenGraphTags($episode);
echo PodcastSEO::generateTwitterCardTags($episode);

Alle SEO Tags auf einmal

echo PodcastSEO::generateAllTags($episode);

Generiert:

  • JSON-LD Structured Data
  • OpenGraph Meta Tags
  • Twitter Card Tags

Sitemap Integration

// In deinem Sitemap-Generator
echo PodcastSEO::generateSitemapEntries();

🎨 Anpassungen

Custom CSS

/* Podcast Player */
.podcast-audio-player {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

/* Episode Liste */
.modul-podfeed-list .thumbnail {
    transition: all 0.3s;
}

.modul-podfeed-list .thumbnail:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

Custom Templates

Erstelle eigene Views in:

/redaxo/data/addons/podcastmanager/views/

📚 API Dokumentation

PodcastOutput Class

$output = new PodcastOutput([
    'mode'        => 'overview',      // start, overview, detail
    'show_teaser' => true,            // bool
    'limit'       => 10,              // int
    'show_audio'  => true,            // bool
    'width'       => 12,              // 1-12 (Bootstrap)
    'category'    => '',              // int (Kategorie-ID)
    'order'       => 'DESC',          // ASC, DESC
    'seo_enabled' => true,            // bool
]);

// Nur HTML
echo $output->render();

// Mit CSS/JS
echo $output->renderWithAssets();

PodcastRSS Class

// Format: 'text', 'markdown', 'html'
$rss = new PodcastRSS('markdown');

// Type: 'rss2', 'itunes'
echo $rss->generate('rss2');

PodcastStats Class

// Track Download
PodcastStats::track($episode, 'stream', [
    'bytes_sent' => 15000000,
    'duration_seconds' => 1800,
    'completed' => true,
]);

// Get Statistics
$stats = PodcastStats::getEpisodeStats($episodeId);
$overall = PodcastStats::getOverallStats();

// Export
$csv = PodcastStats::exportIABCompliant($episodeId);

PodcastSEO Class

// JSON-LD
PodcastSEO::generateStructuredData($episode);

// OpenGraph
PodcastSEO::generateOpenGraphTags($episode);

// Twitter Cards
PodcastSEO::generateTwitterCardTags($episode);

// All-in-One
PodcastSEO::generateAllTags($episode);

// Sitemap
PodcastSEO::generateSitemapEntries();

🆚 Vergleich mit Alternativen

Feature-Matrix

Feature REDAXO PM Podlove PowerPress
RSS 2.0
Apple Podcasts 2025 ✅✅
Markdown Format ✅✅
IAB Statistics ✅✅ ✅✅ ⚠️
Vidstack Player ✅✅
Backend Preview ✅✅
SEO Complete ✅✅ ⚠️
PHP 8.4 ✅✅ ⚠️ ⚠️
GDPR Compliant ✅✅ ⚠️
Gesamt 9/10 8.5/10 7/10

Vollständiger Vergleich →

Warum REDAXO Podcast Manager?

Modernste Technologie - PHP 8.4, Vidstack, etc.
Beste SEO - JSON-LD, OpenGraph, Twitter Cards
IAB-Compliant - Monetarisierungs-tauglich
Markdown RSS - Einzigartig!
Backend Preview - Nur hier!
Zukunftssicher - Aktive Entwicklung


📖 Weitere Dokumentation


🤝 Support

Community Support

Professioneller Support

Kontaktiere Friends Of REDAXO für:

  • Custom Development
  • Installation & Setup
  • Training & Workshops
  • Performance Optimization

👥 Credits

Entwickelt von:

Powered by:

Besonderer Dank an:

  • Alle Tester und Early Adopters
  • REDAXO Community

📄 Lizenz

MIT License - Siehe LICENSE Datei


🗺️ Roadmap

Q1 2025

  • ✅ Apple Podcasts 2025 Support
  • ✅ Vidstack Integration
  • ✅ IAB Statistics
  • ✅ Markdown RSS

Q2 2025

  • 📅 Chapter Markers Support
  • 📅 Transkripte
  • 📅 Multi-Feed Support
  • 📅 Advanced Analytics Dashboard

Q3 2025

  • 📅 Video Podcast Support
  • 📅 Live Streaming
  • 📅 Listener Surveys

Q4 2025

  • 📅 AI-powered Transcription
  • 📅 Auto-generated Chapters
  • 📅 Dynamic Ad Insertion

⭐ Star us on GitHub!

Wenn dir der Podcast Manager gefällt, gib uns einen ⭐ auf GitHub!

GitHub Repository →


Happy Podcasting! 🎙️

Made with ❤️ by Friends Of REDAXO