Skip to content

Kotti/kotti_media

Repository files navigation

kotti_media

This is an extension to the Kotti CMS that allows you to add audio and video to your Kotti site.

Find out more about Kotti

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 resource 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

build status

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).