Giter Site home page Giter Site logo

rfa.kaltura2's Introduction

rfa.kaltura2

For creating video content in Plone CMS while leveraging the Kaltura Video Platform

Features

  • Add and Upload videos through the Plone CMS
  • Use Kaltura Players for displaying videos
  • Use Kaltura as a Video DAM (Digital Asset Manager)
  • Syncronize video metadata between Kaltura KMC and Plone
  • Plone 5.2 and Python 3 compatable

Examples

Most video content at www.rfa.org is stored on Kaltura but rendered through Plone CMS. New Videos can be created in Plone and Videos can be treated like any other content type in Plone, yet storage, transcoding, players and delivery are configured in Kaltura.

Documentation

Documentation is lacking. I'm sorry.

Installation

Install rfa.kaltura2 by adding it to your buildout:

[buildout]

...

eggs =
    rfa.kaltura2

and then running bin/buildout

Contribute

Support

If you are having issues, please let us know through the plone community forums. Tag @flipmcf

License

The project is licensed under the GPLv2. copyright both Radio Free Asia and Michael McFadden (flipmcf)

rfa.kaltura2's People

Contributors

flipmcf avatar adunderground avatar bizuyghur avatar

Watchers

James Cloos avatar  avatar  avatar Smith Augustin Jr avatar  avatar Fred Gleason avatar  avatar David Baden avatar Young avatar

rfa.kaltura2's Issues

kconnect() is really inefficient:

connect is called all over the place in rfa.kaltura2.
It's designed to return a client (and session key) that can be used to communicate to the API, and it gets that session key through an authentication dance.

Instead of holding onto that session key and re-using it within the plone application (like save the session key it to the registry and re-use it to create more client connections) it asks for a new one on every call to kconnect() and re-does the authentication dance.

To make matters worse, kconnect() tells the kaltura server to keep that session key authorized for 86400 (one day) even though we throw it away and immediately ask for a new one on every call.

This is embarrassing and needs to be fixed.

Playlists Don't work

Playlists are not implemented. They were broken and not used in rfa.kaltura so simply not implemented in rfa.kaltura2

Add Distribution Action

As a Plone Editor (user of content management system)
I want to be able to distribute a video (to youtube) on-demand
So that I don't have to login to the KMC or understand KMC-specific errors

I invision a button on the action bar or within the actions drop-down called "distribute"
This leads the user to a distribution view, which will query the KMC for available distribution channels and allow the user to Fire a distribution request to the KMC for the video in context.

entryID should not be a field on Video Object

The canonical way to get the entry id should be 'object.entryId'

The 'backend' way to get the entry id should be 'object.KalturaObject.getId()' - but this shouldn't be used under normal circumstances.

object.entryId getter (dexterity) needs to be created and used, and should under most circumstances, simply call 'object.KalturaObject.getId()' and handle all exceptions that may occur due to that call.

This was the behavior in rfa.kaltura in Archetypes.
https://github.com/RadioFreeAsia/rfa.kaltura/blob/9eb2a48178280bafbb1c2c665bd74ab14f99ceb6/rfa/kaltura/content/base.py#L12
https://github.com/RadioFreeAsia/rfa.kaltura/blob/9eb2a48178280bafbb1c2c665bd74ab14f99ceb6/rfa/kaltura/content/base.py#L108

This caused a bug that was just fixed by this commit:
3b87589

Deleting Media Entry in KMC - Plone object doesn't react

Somehow, a plone object must know if a media object on Kaltura was deleted, and the URL is no longer valid. Poll the KMC for the media entry (on some specified time) and update the object state in Plone to reflect that it's no longer valid. Probably automatically unpublish the object so the Plone content doesn't show up and break the site.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.