Commit Graph

46 Commits

Author SHA1 Message Date
Robbt 6cd5550721 added button to generate smartblock and playlist for podcast 2018-12-12 22:53:28 -05:00
Robbt 6e16a34150 Made the podcast limit check only occur when LIBRETIME_ENABLE_BILLING is enabled 2018-09-05 12:50:56 -04:00
Robb Ebright 3515a898a7 Added option for Auto Smartblock and Playlist creation to preferences 2017-08-23 12:16:42 -04:00
Robb Ebright aec0e348c4 Working code to auto generated Smartblock and Playlist for new Podcasts 2017-08-18 00:46:59 -04:00
Lucas Bickel c29285ae48 Vagrant Debian support (and experimental CentOS)
This changes the Vagrant setup to support multiple installations as multiple
boxes. In addition to Ubuntu Vagrant can now be used to install on Debian
as well as on CentOS.

I took the chance to clean up the .deb install a bit and backported analyzer
and celery to SysV proper so it runs there. Some of the distro specfics were
moved to the install script from the python setup scripts to acheive this.

For the CentOS support I added a rather involved OS prepare script. In the
long term this will be added to the preparing-the-server docs we already have.

I had to switch the default port to http-alt (8080). On CentOS 9080 is registered
for ocsp and getting it to work for apache without hacking SELinux is hard. I
think 8080 is the RFC way to go anyhow. If anyone want to override this it
should be rather easy using the --web-port arg and by hacking Vagrantfile.

The PyOpenSSL code has been refactored for all the distros that the Vagrantfile
now supports.

As far as my checks go, I tried this code with all the distros, uploaded a track
and downloaded a unicode and a ssl podcast and was able to listen to them
in each case.

In the experimental CentOS case, the UI is not up to spec since services
need to get scheduled through systemctl and the status overview (ie. on the /?config page)
do not work properly. They need to be as follows:

```
sudo systemctl start airtime-playout
sudo systemctl start airtime-liquidsoap
sudo systemctl start airtime_analyzer.service
sudo systemctl start airtime-celery.service
```
2017-03-12 13:42:22 +01:00
Lucas Bickel d374ab2b3b Fix call to get_author()
This was introduced by the zf1 mega commit 625f92fe44.

625f92fe44 (commitcomment-21156925)
2017-03-05 12:26:54 +01:00
Lucas Bickel 625f92fe44 Vendorize ZF1, fix PHPUnit and configure travis
This a a rather large commit due to the nature of the stuff it is touching. To get PHPUnit up and running again I had to update some deps and I did so by vendorizing them. The vendorizing of zf1 makes sense since distros are already considering to drop it from their repos.

* [x] install vendorized zf1 with composer
* [x] load composer autoloader before zf1
* [x] Implement headAction for all Zend_Rest_Controller based controllers
* [x] switch to yml dataset to get around string only limitations of xml sets (also removed warning in readme)
* [x] use year 2044 as hardcoded date for tests since it is in the future and has the same days like previously used 2016
* [x] make tests easier to run when accessing phpunit directly
* [x] clean up test helper to always use airtime.conf
* [x] switch test dbname to libretime_test
* [x] test db username password switched to libretime/libretime
* [x] install phpunit with composer in a clear version (make tests easier to reproduce on other platforms)
* [x] remove local libs from airtime repo (most of airtime_mvc/library was not needed of in vendor already)
* [x] configure composer autoloading and use it (also removed requires that are not needed anymore)
* [x] add LibreTime prefix for FileNotFoundException (phing had a similar class and these are all pre-namespace style)
* [x] add .travis.yml file
* [x] make etc and logdir configurable with LIBRETIME_CONF_DIR and LIBRETIME_LOG_DIR env (so travis can change it)
* [x] slight cleanup in config for travis not to fail
* [x] add cloud_storage.conf for during test runs
* [x] rewrite mvc testing docs and move them to docs/ folder
* [x] don't use `static::class` in a class that does not have a parent class, use `__CLASS__` instead.
* [x] don't use `<ClassName>::class`, since we already know what class we want `"<ClassName>"` ist just fine.
* [x] fix "can't use method in write context" errors on 5.4 (also helps the optimizer)
* [x] add build status badge on main README.md

Fixes https://github.com/LibreTime/libretime/issues/4

The PHP parts of https://github.com/LibreTime/libretime/pull/10 get obsoleted by this change and it will need rebasing.

This also contains https://github.com/LibreTime/libretime/pull/8, the late static binding compat code was broken for no reason and until CentOS drops php 5.4 there is no reason I'm aware of not to support it. I inlined #8 since the test would be failing on php 5.4 without the change.

If you want to run tests you need to run `composer install` in the root directory and then `cd airtime_mvc/tests && ../../vendor/bin/phpunit`. For the tests to run the user `libretime` needs to be allowed to create the `libretime_test` database. See `docs/TESTING.md` for more info on getting set up.
2017-02-27 17:59:01 +01:00
Duncan Sommerville 9a8e80f74b Change station podcast RSS links back to https; style fix for menu in some browsers 2015-11-18 11:10:14 -05:00
Albert Santoni e915a4f1bb Added iTunes owner field for the station podcast 2015-11-17 20:12:22 -05:00
Albert Santoni ddb2a225f8 Merge branch 'saas-dev-publishing' of github.com:sourcefabric/Airtime into saas-dev-publishing
Conflicts:
	airtime_mvc/application/services/PodcastService.php
2015-11-17 19:35:05 -05:00
Albert Santoni 47193403ea Added ATOM xmlns for iTunes support 2015-11-17 19:33:36 -05:00
Duncan Sommerville 6aafe25fd1 Change station RSS image title to match channel title 2015-11-17 19:28:52 -05:00
Duncan Sommerville 1571887928 Change how station logo default is returned 2015-11-17 18:58:58 -05:00
Duncan Sommerville 30c9c730be Bugfixes and itunes compatibility fix 2015-11-17 17:23:21 -05:00
Albert Santoni ef1a57459c Merge remote-tracking branch 'origin/saas-dev-publishing' into saas-dev-publishing 2015-11-17 16:18:57 -05:00
Albert Santoni ff96eba9ea Format podcast RSS XML with newlines 2015-11-17 16:18:38 -05:00
Duncan Sommerville 57d9245fbf SAAS-1214 - add link to preferences from publish dialog when source is disconnected; fix missing check in station rss generation 2015-11-17 12:35:31 -05:00
Duncan Sommerville c12848b2de * SAAS-1212 - fix validation errors in station podcast rss
* Append podcast title to heading in episodes view
2015-11-17 12:26:21 -05:00
Duncan Sommerville 2523391d4d Fix itunes duration format in station podcast xml 2015-11-17 11:53:02 -05:00
Duncan Sommerville 8e867b522c SAAS-1202 - move station podcast to top-level menu item 2015-11-13 14:57:32 -05:00
Duncan Sommerville 74f7c454b5 * SAAS-1184 - more polish for publishing/podcasting
* Fix some issues with the station podcast feed
* Various small fixes
2015-11-11 16:47:07 -05:00
Duncan Sommerville c5a5839eff Better errors from podcast 'Add' dialog 2015-11-10 19:26:25 -05:00
Duncan Sommerville 0360b5e460 * SAAS-1182 - added sanity checks and additional logic to rss import and episode generation
* SAAS-1184 - started work on podcast UI polishing
* Fixed pull request issues
2015-11-09 18:17:49 -05:00
Duncan Sommerville 95fc432445 SAAS-1173 - Add escaping for XML elements 2015-11-04 17:08:25 -05:00
Duncan Sommerville 6683b712c4 Fix a couple of station podcast bugs 2015-11-03 17:13:38 -05:00
Duncan Sommerville 22f8b0f328 * SAAS-1153 - more work on station podcast frontend. Add delete and edit button functionality for episode table
* Various fixes and backend updates
* Move station podcast creation to id getter in Preferences
2015-11-03 16:23:17 -05:00
Duncan Sommerville def8e7280b * SAAS-1161 - refactor backend so episodes are loaded separately from podcast data to speed up loading and improve API readability
* Decouple imported and station podcast behaviour on the frontend
2015-11-02 18:07:16 -05:00
Duncan Sommerville e8980e7a79 Bugfixes and more work on station podcast frontend 2015-10-22 18:03:38 -04:00
Duncan Sommerville 9302027a2b Fix issue with automatic ingest; shift episode ingest to PodcastEpisodesController 2015-10-22 12:12:41 -04:00
Duncan Sommerville 814fc67e90 Work on station podcast editor view 2015-10-21 19:21:52 -04:00
Duncan Sommerville 6c0055895c Set auto ingest timestamp when updating 2015-10-21 11:18:33 -04:00
Duncan Sommerville 0b1df6baf3 * SAAS-1084 - initial work on publishing API backend
* More work on automatic ingest
* Add automatic_ingest_timestamp column to ImportedPodcast
2015-10-20 19:03:34 -04:00
drigato 14104a93ae SAAS-1080: Station podcast feed 2015-10-19 11:54:53 -04:00
Duncan Sommerville bddc121c2d Initial work on automatic ingest for imported podcasts 2015-10-15 14:44:17 -04:00
Duncan Sommerville a2d725f2b9 Fix podcast episode ingest 2015-10-15 11:33:09 -04:00
drigato 40d0619f10 Override Podcast->fromArray 2015-10-15 08:06:01 -04:00
drigato d647bf67ea Refactoring Podcast classes and services 2015-10-14 10:58:13 -04:00
drigato cfb21f8425 Bunch of schema changes 2015-10-13 10:14:23 -04:00
drigato b00ac6750c Testing 2015-09-29 13:04:22 -04:00
Duncan Sommerville 43e9fb59ce SAAS-1071 - more work on celery backend for podcasts; add upgrade to make file_id field in third_party_track_references nullable 2015-09-24 15:57:38 -04:00
Duncan Sommerville ca51dcf3ae SAAS-1071 - more work on backend podcast implementation 2015-09-24 12:58:02 -04:00
drigato 4de42ada6e Disable simplepie caching 2015-09-23 14:50:32 -04:00
drigato 727abac0b8 Switch Podcast reader to use simplepie 2015-09-23 14:47:40 -04:00
Duncan Sommerville 55d5fc62a2 SAAS-1071 - more work on celery backend 2015-09-22 20:22:06 -04:00
drigato f6f23864ce SAAS-1063: REST API for podcasts
/rest/podcast mostly done
2015-09-18 08:15:48 -04:00
drigato 67db2c1d25 SAAS-1063: REST API for podcasts
Hierarchy routing is working
Basic implentation of podcast INDEX and POST actions done
2015-09-16 14:22:13 -04:00