Sdk product overview

From Kaltura Wiki

Jump to: navigation, search

Contents

[edit] Terminology

Term Meaning Comments
API Application Programming Interface
CDN Content Delivery Network
Partner An organization or individual that is authorized to access the APIs, and that gets a Partner-ID
Campaign A collection of objects (users, entries, shows) that are associated for promotional reasons. Campaigns are always contained within one channel
Channel The activity spurred by a partner. I.e. all users, shows, entries are part of a channel. A partner may have more than one channel. (i.e. every facebook app creates a channel)
VAR Value Added Reseller VARs are partners that develop apps and channels for 3rd parties.
The Kaltura Global Network The partners and sites that license Kaltura’s technology

[edit] Introduction

This document provides an overview of Kaltura’s Collaborative Media Platform and Software Development Kit (SDK). The platform offers partners and Value Added Resellers (VARs) the ability to integrate Kaltura’s collaborative media technology into 3rd party websites. This ability includes functionalities in several different areas including:

  1. Ingestion. The ability to upload, convert, and transcode media in a wide variety of formats.
  2. Hosting and Content Delivery. The ability to store media assets and access them from any 3rd party web site.
  3. Playback. The ability to integrate a customizable smart player into any 3rd party site.
  4. Mashup and Remix tools. The ability to combine, annotate, and edit media assets and to create playlists and remixes.
  5. Content Libraries. The ability to legally access and use pre-existing material for viewing or remixing.
  6. Monetization. The ability to integrate advertisements and actionable e-commerce objects inside media streams.
  7. Promotion. The ability to promote the media projects within and outside the Kaltura Global Network, to share files across the network and to communicate with individuals and communities in the network.
  8. Merchandising. The ability to turn media projects into merchandize such as printed photos, t-shirts, DVDs and other commerce items.


The Platform includes five main components:

  1. APIs and Web-services. The core of the SDK is an extensive library of Application Programming Interfaces (APIs) that allow partners to interact with the platform’s web-services directly from other websites and other applications in a programmatic manner. The API exposes certain functionalities, for free or for a fee. The backend relies on Kaltura.com’s data center and content delivery network which provide hosting services.
  2. Plug-in library. A set of customizable Widgets and reference implementations that allow developers to adapt existing components and integrate already implemented functionalities into their sites without having to re-write code from scratch (for example, upload wizard, webcam recorder, transitions, annotations, and overlays). Each of these plugins and widgets is available together with its source code under an open source license, and allows easy customization and changes to the look and feel.
  3. Management Console. Each partner gets access to a management console that allows setting certain parameters regarding the application (for example, change the body of email messaging), to control and moderate content (for example to remove copyrighted material), and to control billing. The Management console allows new developers to get their developer-id and to provide identification and business information.
  4. Partner support network. The SDK includes detailed documentation for all the API in several major languages, reference implementation in several programming languages, and a source control system for the open-source parts of the SDK. The support network includes a dynamic Wiki, FAQs, links to sample implementations, bug reporting, service ticket system, etc.

[edit] Components Description

[edit] Management Console

The management console is the partners’ portal that allows them to manage their interface with Kaltura. The management console includes the following functionality.

  1. Registration and Partner-id assignment. Allow new partners to enter admin and technical contact information, upload a logo and a short description of their business.
  2. Log-in. allows active partners to log in to the management console, and access all the functionality described below. Module allows two levels of log-in: admin and viewer. Viewers cannot access admin pages.
  3. Reporting. A set of dashboards that allow partners to view recent activity in tabular and graphical manner (i.e. recent shows, users, flagged content, etc). Reports allow direct click to admin functions pertinent to content viewed (i.e. delete problematic content).
  4. Content Management. A set of screens that allow partners to manage content, including the ability to set simple business rules for handling news content, to filter, delete, or block problematic content, to set permissions and license options, to match content with advertisements, and to manage batch upload of content.
  5. User management. A set of screens that allow partners to manage users, including the ability to set simple business rules for handling news users, to filter, delete, or block problematic users and to pre-register users.
  6. Billing. A set of screens that allows partners to manage their account balances, monitor hosting costs, licensing fees and revenues shares.
  7. Admin panel. Allows partners to viewers and admins to their account, change contact and billing information, create channels and campaigns for promotions, set the text of system messages, etc.

[edit] APIs and Web-services

The core of the SDK is an extensive library of Application Programming Interfaces (APIs) that allow partners to interact with the platform through web-services. API’s are based on the REST principles ( http://en.wikipedia.org/wiki/Representational_State_Transfer ). These will include:

  1. Session Authentication.
  2. User services including:
    • Registration
    • Log in
    • Profile update
    • Comments
    • Reporting
    • Favoriting
    • Deletion
  3. Project (KShow) services including
    • Creation and permissions settings
    • Customization
    • Commenting
    • Favortiting
    • Reporting
    • Thumbnail settings
    • Deletion
    • Export to DVD
  4. Content (entry) services including:
    • Upload and metadata insert
    • Commenting
    • Favoriting
    • Reporting
    • Deletion
    • Printing
  5. KEditor Services, including
    • Query of assets, and current rough-cut
    • Query of past versions
    • Rough-cut publishing


Reference implementations and a test environment for accessing these webservices are provided in multiple programming languages, starting with PHP.

[edit] Plug-in library

A set of customizable Widgets and reference implementations that allow developers to adapt existing components and integrate already implemented functionalities into their sites without having to re-write code from scratch. Each of these objects is available to partners together with its source code under an open source license, and will allow easy customization and change of the look and feel. Widgets communicate with webservices, and to that extent serve as reference implementations. Widget codes authenticate vis-?-vis the server to become active.

There are two families of plugins and widgets.

  1. Emedable widgets, including
    • Customizable player
    • Upload widget (contributor wizard)
    • Search widget
    • Editor widget (can have simple/advanced mode, and work on a canvas or open full screen)
    • Annotation widget that allows users to add comments, links, tags, voice-overs to content.
  2. Editor Extensions
    • Transitions (i.e. dissolve)
    • Overlays, including dynamic data layers and connection to 3rd party webservices (i.e. connection to Amazon Web Services to get sales rank)
    • Effects (i.e. color correction)
    • Extensions (i.e. chat tool, r/t video tool)

3rd party developers are encouraged to develop plug-ins to be included in the plug-in library and offered to other partners for free or for a fee.

[edit] Developer Support Network

The platform includes a support system that helps partners accelerate the development and integration process, including:

  1. Wiki-based Knowledge Base, with detailed documentation for all the API in several major languages, reference implementation in several programming languages, FAQ database, user forum, etc.
  2. Source Control. For the widget library projects, as well as other reference implementations. Normal partners will only be able to view the source, but not commit to it. Approved developers are able to sign up as committers.
  3. Bug Reporting system, allowing partners to report bugs pertaining to their SDK implementations.
  4. Support Ticket Center, allowing partners to report service interruptions or any other urgent issue.

[edit] System Architecture Diagram

This Wiki's logo
Personal tools