webkadabra / podcaster
Yii 2 Podcast hosting module
Installs: 15
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:yii2-module
Requires
- php: >=5.4.0
- creocoder/yii2-taggable: dev-master
- kartik-v/yii2-builder: ^1.6
- kartik-v/yii2-date-range: ^1.6
- kartik-v/yii2-datecontrol: ^1.9
- kartik-v/yii2-grid: ^3.1
- kartik-v/yii2-widget-datetimepicker: ^1.4
- kartik-v/yii2-widget-select2: ^2.1
- rmrevin/yii2-fontawesome: ^3.1
- sjaakp/yii2-gcharts: dev-master
- yiisoft/yii2: ^2.0
- yiisoft/yii2-bootstrap: *
- zelenin/yii2-rss: ^0.1.1
Requires (Dev)
- yiisoft/yii2-debug: ~2.0.0
- yiisoft/yii2-gii: ~2.0.0
This package is not auto-updated.
Last update: 2024-11-08 11:57:33 UTC
README
Features
- Host unlimited podcasts & episodes in
MP3
format - Playback statistics (downloads, referrals, playback locations etc.)
- Tool to create episodes’ show notes: just write comment as you listen to the podcast, and a timestamp will be automatically added to the note
- Podcast notes
- Generate XML/RSS feed for iTunes etc
- Feedburner (or any external feed service) support
Additionally, podcaster
playback will continue to work and write stats even if your database is temporary down (e.g. your VPS is rebooting, or there is maintenance; see documentation below).
Package includes podcaster
module as well as a complete & ready to roll application.
Requirements
- PHP, MYSQL
- Composer
- FTP access to upload episodes
If you do not have Composer, you may install it by following the instructions at getcomposer.org.
Installation
This module is a standard Yii2 Application module - you can add it to an existing Yii 2 app. There is an example application provided with the code, based on Yii 2 Basic application template.
Below you will find instructions on how to setup both options.
Option 1: Setup and run included example application
-
Configure your database connection in file
example/config/db.php
. You can also just createyii2basic
database accessible toroot
user without using password. -
Install composer packages by running command
php composer.phar install
- Run migrations:
php example/yii migrate --migrationPath=./src/podcaster/migrations
- Point your server (
example.com
) toexample/web
folder. Go to your website and enjoy! (seeUsage
section of this readme)
Option 2: add podcaster
module to an existing project
- Add
podcaster
module to your config (usually it'sconfig/web.php
file)
'modules' => [
'podcaster' => [
'class' => 'webkadabra\podcaster\Module',
'layout' => '//podcaster',
'uploadPath' => '@app/media/', // upload podcasts to www-unreachable directory
],
]
- Add urlRules to your config:
// ...
'components' => [
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
[
'pattern' => 'podcast/<podcast:\w+>/feed',
'route' => 'podcaster/feed/feed', 'suffix' => '.xml'
],
[
'pattern' => 'podcast/<podcast:\w+>/feed-<dest>',
'route' => 'podcaster/feed/feed', 'suffix' => '.xml'
],
[
'pattern' => '<channel:\w+>/stream/<episodeId>',
'route' => 'podcaster/traffic/stream', 'suffix' => '.mp3'
],
[
'pattern' => '<channel:\w+>/<episodeId>',
'route' => 'podcaster/traffic/download', 'suffix' => '.mp3'
],
],
],
],
Then, run migrations from your application root folder:
php yii migrate --migrationPath=vendor/webkadabra/src/podcaster/migrations
Usage
- Create podcast via "Podcast Management" menu
- Upload your podcast episodes to a configured folder (by default, it's
media
folder in the root path of your app) with your favorite FTP client (FileZilla
is recommended) - Add podcast episodes via "Episodes" menu
Support project development
Hey guys, I'm disabled developer that can't hold a job in the office. If you can - support my opensource, I gotta keep the cats fed. Thanks!
Bitcoin address (I can not accept Paypal in my country):
1Ceg8xdYpFmyPgeqqWDBBXVztcuNsWTMpq
TODO
- Upload via UI (not supported at the moment)
- Episodes Tags
- Data export (shownotes etc.)