Basic infrastructure needed by cmml wiki:

  • server-side python scripting
  • cgi support
  • firefox plugin does only one http request to get the content to allow for dynamic content creation, where one http request is regarded as a singular transcation and two requests may not return a consistent answer (i.e. getting annodex and cmml content separately won't work) -> needs to handle cmml inside stream through the underlying media framework, e.g. xine, vlc, DirectShow?
  • cmml 2.1: put a link tag into cmml for editing
  • new feature in firefox plugin: display edit button (link rel=edit)

Design:

  • build up an initial Web of videos, head tags perpared and fix
  • allow the editing of cmml clip content through the "edit" link button
  • edit page is a html form with the possibility to upload images
  • there is a "preview toc" button which displays on the same page at the bottom a table of content (as html) with keyframes, desc, meta tags, hyperlinks
  • there is a "preview video" button which takes you into the firefox plugin with all the newly created text, hyperlinks and images
  • upon "preview" there is a check whether all the images exist (warnings on missing images only)

For LCA2005

  • admin interface: upload a video & create a default wiki page
  • functionality for editing:
  • have a pool of images to choose from (e.g. the powerpoint slides or pre-created video frames)
  • have an upload image function (cache directory)
  • maybe create images from the clips that are created using a script and mplayer
  • should all be able to able run off a DVD (off-line), e.g. a data directory of Annodex files, abootable CD running Apache
  • have a "publish" mechanism (e.g. a publish directory for CMML and Annodex files)
  • we might need different resolutions for the video, e.g. a low (modem), medium (DSL) and high (DVD) bandwidth/screensize version
  • the firefox plugin should have a toolbar with the transport control and the link-buttons
  • POST request vs. GET request in the cgi script: only POST is doable at the moment, so use session ID and store all the information of the editing in a session file that gets returned; store session info in a database (SQLlight; python)