Skip to main content

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.

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

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

TODO

  • add i18n

  • add/verify support for subtitles and chapter marks

AUTHORS

kotti_media was created by Andreas Kaiser (disko).

Initial audio support has been contibuted by Jeff Pittman (geojeff).

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.

Source Distribution

kotti_media-0.6.tar.gz (4.8 MB view details)

Uploaded Source

File details

Details for the file kotti_media-0.6.tar.gz.

File metadata

  • Download URL: kotti_media-0.6.tar.gz
  • Upload date:
  • Size: 4.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for kotti_media-0.6.tar.gz
Algorithm Hash digest
SHA256 2ec74882b5b4cb9cc61e0bb4b24799f4ffba721faf730ba7db9f2b2c16082149
MD5 73f23c30dc1d148ad71909483dd666b5
BLAKE2b-256 a1e554335ef10cb3c1b785e37b1014089892e497919f307e770e2f71b71d464b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page