Add media content to your Kotti site
Project description
This is an extension to the Kotti CMS that allows you to add audio and video to your Kotti site.
kotti_media uses MediaElementJS for video and audio views and thus supports native HTML5 playback on all platforms that support this. Each video can have multiple formats (MP4 (.h264 baseline profile), WebM, Ogg/Theora) to achieve this goal. For audio, supported formats include mp3 and wav. For older Platforms MediaElementJS includes a Adobe Flash / MS Silverlight plugin fallback, so that every resopurce can be played on every platform if all supported formats are uploaded.
Compatibility
For Kotti >= 0.10 use the latest release of kotti_media.
For Kotti < 0.10 use kotti_video < 0.6.
For Kotti < 0.7 use kotti_video < 0.2.
Setup
To activate the kotti_media add-on in your Kotti site, you need to add an entry to the kotti.configurators setting in your Paste Deploy config. If you don’t have a kotti.configurators option, add one. The line in your [app:main] section could then look like this:
kotti.configurators = kotti_media.kotti_configure
With this, you’ll be able to add video and audio items in your site. Video and Audio content types are containers, into which you add specific media file types.
In your settings file, set kotti_media.asset_overrides to a list of asset specifications. This allows you to set up a directory in your package that will mirror kotti_media’s own and that allows you to override kotti_media’s templates on a case by case basis.
You can also set kotti_media.use_fanstatic to a false value (false, 0, no, and so on) to disable the need() call. This is especially useful if your application is built with modern frontend development tools like Grunt, Gulp and Bower and you manage your Javascript dependencies with them. This setting is not needed if you completely disable Fanstatic for your application.
Usage
A standard way to use kotti_media is to first create a Document in your content tree; this document will become the media section of your application. Then you can add childs to your media section by appending audio/video content to it. kotti_media comes with a handy media_folder_view that can be used to display your ‘media section’ Document (that is to display every media attached to it).
Registration is done like this:
from kotti.resources import Document
from kotti.util import _
def includeme(config):
Document.type_info.add_selectable_default_view("media_folder_view",
_("Media Folder"))
You will then be able to select that view for your media section Document in the user interface.
Work in progress
kotti_media is considered alpha software, not yet suitable for use in production environments. The current state of the project is in no way feature complete nor API stable. If you really want to use it in your project(s), make sure to pin the exact version in your requirements. Not doing so will likely break your project when future releases become available.
Development
Contributions to kotti_media are highly welcome. Just clone its Github repository and submit your contributions as pull requests.
Testing
kotti_media aims for complete test coverage. Please make sure that you add tests for new features and that all tests pass before submitting pull requests. Running the test suite is as easy as running py.test from the source directory (you might need to run python setup.py dev to have all the test requirements installed in your virtualenv).
TODO
add i18n
add/verify support for subtitles and chapter marks
CHANGES
0.6 - 2014-11-11
Migrate to Bootstrap 3. This requires Kotti>=0.10b1 and is a backward incompatible change if you have customized any template!
Remove the size settings from the player options. They didn’t work at all. Players scale to their containers now.
Add a populator for development.
Add a setting to disable calls Fanstatic’s need methods. See README for the rationale.
0.5.2 - 2014-11-10
Enable overriding of assets using kotti_media.asset_overrides configuration variable. [cazino]
0.5.1 - 2013-07-12
Don’t check for data if unnecessary as it causes full loading of that column which is particular bad with media files. This is a huge performance boost on related views.
0.5 - 2013-04-25
Upgrade to Kotti>=0.8. This breaks backward compatibility. Pin kotti_media to “<0.5dev” if you are on Kotti 0.7.x.
Use Kotti’s pytest plugin.
0.4
Make player options user configurable.
0.3.2
Bugfix: respect permissions when iterating over children in media_folder_view
0.3.1
Fix documentation.
0.3
Rename package to kotti_media (was: kotti_video).
Add tests (100% coverage from now on).
Add audio support.
Add external URL support for CDN storage / delivery of file data.
Add media_folder_view for context kotti.resources.Document.
0.2
Release for Kotti >= 0.7dev.
0.1
Initial release.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.