Upload
mediamosa
View
2.125
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Presentation by Tom Kuipers from the UvA at the MediaMosa Community day november 25th at SURFnet
Citation preview
MediaMosa in Blackboard and Android - technical backgroundVLE and mobile development
Informatiseringscentrum
November 25, 2010
MediaMosa in Blackboard and Android 2
Agenda
It’s all about XML Java API Blackboard Building Block Android App Q&A
MediaMosa in Blackboard and Android 3
MediaMosa interface
MediaMosa Java API
GET /asset/G6360d62gs4yaS4IyTmMUHhB
<item id="1"> <asset_id>G6360d62gs4yaS4IyTmMUHhB</asset_id> <app_id>5</app_id> <owner_id>jansen</owner_id> <videotimestamp>2009-10-08 14:11:20</videotimestamp> <videotimestampmodified>2009-10-08 14:11:20</videotimestampmodified> [...]</item>
MediaMosa in Blackboard and Android 4
MediaMosa interface
REST module in WLE
MediaMosa in Blackboard and Android 5
MediaMosa in Blackboard and Android 6
XML Schema (XSD)
Validation Service contract Documentation Code generation
MediaMosa in Blackboard and Android 7
Validation
Automatically determine if message is valid or invalid. Are required elements present? Do they contain valid values according to their data types?
Priscilla Walmsley, “The Importance of Schema Design in SOA” (2010)
MediaMosa in Blackboard and Android 8
Service contract
A schema serves as part of the understanding between two parties. The service provider and the service consumer can both use the schema as a machine-enforceable set of rules describing the interface.
Priscilla Walmsley, “The Importance of Schema Design in SOA” (2010)
MediaMosa in Blackboard and Android 9
Documentation
Schemas document the service contract for the developers and end users that will be implementing or using the service. Narrative human-readable annotations can be added to schema components to further document them.
Priscilla Walmsley, “The Importance of Schema Design in SOA” (2010)
MediaMosa in Blackboard and Android 10
Code generation
Schemas are also used to generate classes and interfaces that are used to read and write the XML message payloads. When a service contract is designed first, classes can be generated automatically from the schema definitions, ensuring that they match. The schema provides information not only about what elements (objects) will appear in XML messages, but also about their data types.
Priscilla Walmsley, “The Importance of Schema Design in SOA” (2010)
MediaMosa in Blackboard and Android 11
XSL Transformation (XSLT)
Transform structure of XML document Translate MediaMosa responses to format which
conforms to schema Translate <item> to <asset>, <mediafile>, <job> etc.
MediaMosa in Blackboard and Android 12
Java API
Make REST calls Process XML responses Partial implementation of the MediaMosa API Reusable JavaDoc
MediaMosa in Blackboard and Android 13
Mediamosa Java API Blackboard
uPortal
Sakai
MediaMosa in Blackboard and Android 14
Mediamosa Java API uPortal
Sakai
Blackboard
MediaMosa in Blackboard and Android 15
Mediamosa Java API Sakai
Blackboard
uPortal
MediaMosa in Blackboard and Android 16
Mediamosa Java API Blackboard
uPortal
SakaiSURFnet
UvA
MediaMosa in Blackboard and Android 17
Blackboard Building Block
Virtual learning environment Building block: added functionality Using video is problematic Simplicity Integration Upload, play, search, metadata Open source
MediaMosa in Blackboard and Android 18
Blackboard Building Block
MediaMosa in Blackboard and Android 19
Building Block - changes
MVC (Model-View-Control) BB9 API changes bbNG layout tags (BB9 look and feel) Changed javascript framework, from jQuery to
Prototype BB9 ships with Prototype Removed JWplayer dependency, embed code
provided by MediaMosa platform
MediaMosa in Blackboard and Android 20
Building Block - issue
Dynamic contextmenu usage <bbNG:listContextMenu dynamic="true" />
bb-ui-webapi.jar missing on classpath Blackboard support case Cannot distribute building block with Blackboard
library included due to legal issues Build from source and include your own copy
MediaMosa in Blackboard and Android 21
Android App
MediaMosa in Blackboard and Android 22
Android App
MediaMosa in Blackboard and Android 23
Android App development
App or mobile site Upload feature isn't possible for mobiles. Form-
based file upload is not supported Smartphone features: video recording,
connectedness Source code is written in Java Familiar tooling (Eclipse IDE, Maven) Reuse MediaMosa Java API
MediaMosa in Blackboard and Android 24
Android App caveats
Dalvik VM != Java VM No JAXB, switched to SimpleXML for binding XSLT since API Level 8 (Android 2.2) Streaming over HTTP or RTSP No player functionality in App Prototype: not released, limited functionality
MediaMosa in Blackboard and Android 25
Android App recorded video
Video: codec mp4, container 3pg Audio: Adaptive Multi-Rate (AMR or AMR-NB)
audio codec Recompile FFmpeg (0.6):
--enable-libopencore-amrnb
--enable-libopencore-amrwb
Transcode uploaded file automatically
MediaMosa in Blackboard and Android 26
MediaMosa platform
Android App
MediaMosa in Blackboard and Android 27
MediaMosa platform
Android App
App server
MediaMosa in Blackboard and Android 28
App server setup - implications
Pro: User identity: authentication
and authorization XSL transformation on
server Or parse to JSON output Supports older Android
versions Smaller footprint for Andriod
app
Con: Android app is less generic:
pre-configured to use specific server