Soc geeklog2 media plugin

From GeeklogWiki
Jump to: navigation, search

This is an old project idea for our (now defunct) sister project, AptitudeCMS (aka Geeklog 2). This project outline is therefore only of historical interest and you can not apply for this project in future instances of the Google Summer of Code. Please see our ideas page for a current list of GSoC project ideas.


Overview

Rich content must include video, photos as well as integration with existing services. The goal of this plugin is:

  1. Allow the upload and categorization of video and photos (really any files ala the Geeklog 1.x File Management Plugin)
  2. Encoding of video content to shrink size and save bandwidth
  3. Integrate the plugin with sites like Flickr, YouTube and the like.
  4. The upload capabilities must allow the secure, arbitrary upload of any files
  5. Highly configurable. Having the ability to limit file size, mime types and specific plugin features will be paramount.

The goals is that the resulting plugin allows the embedding of this kind of content in articles seamlessly while providing a YouTube or Flickr like interface for browsing content.

Resources

For ideas please refer to other OSS tools like WordPress that has similar modules.

Level of Difficulty

Hard

Being able to handle file uploads securely, special processing of video (Transcoding, possibly on another server), and handling the merriad of file types in a UI that is intuitive will be a huge challenge.

Level of Difficulty

Hard

Dealing securely with file uploads, handling video yet providing a UI that can handle any kind of file will be the challenge.

Objective

Develop a core for the plugin that would contain all hooks needed for the iAPI. Develop the iAPI and keep it as small as possible trying to keep it in line with the core GL2 APIs.

Level of Difficulty

Midrange to Hard

The hard part will be figuring out how to implement the iAPI without making it huge. It needs to stay small and easy to use. But at the same time provide everything needed to implement the multiple types of media.