xforms with linux

44
Matt Zumwalt MediaShelf, LLC http://www.yourmediashelf.com XForms and Fedora Simplifying Fedora Frontends with XForms and Fedora Disseminators

Upload: shc

Post on 13-Jan-2015

2.209 views

Category:

Education


1 download

DESCRIPTION

XForms, with Linux ,Mobile computing,XHTML

TRANSCRIPT

Page 1: XForms with Linux

Matt Zumwalt

MediaShelf, LLC

http://www.yourmediashelf.com

XForms and FedoraSimplifying Fedora Frontends with XForms and Fedora Disseminators

Page 2: XForms with Linux

RequirementsWhat MediaShelf aims accomplish with its UIs

Page 3: XForms with Linux

User Experience

One feature set, Many Interfaces

Minimize Learning Curve

UX Must match Use Cases & User Requirements

Page 4: XForms with Linux

Diverse XML Metadata

Task-specific taxonomies– Ex. Descriptive Metadata

Aggregate taxonomies

Cross-pollination

Page 5: XForms with Linux

Users’ Vocabularies

Groups of users inevitably talk about their work in distinct ways. An effective UI has to reflect that vocabulary

Page 6: XForms with Linux

Lexicon for UIs

Finite Vocabulary

One description, many renditions

Page 7: XForms with Linux

Separation of Concerns

Binding XML to UI

Binding UI to user vocabularies

Finding that balance

Page 8: XForms with Linux

XFormsA Look at the pertinent features of XForms and how they satisfy our requirements

Page 9: XForms with Linux

Using Forms to Edit XML

Anywhere an HTML Form would be used, XForms can be used

Best example: Descriptive Metadata

Page 10: XForms with Linux

XForms Strengths

Codify Intentions for UI

Separation of Concerns with MVC

Pure XML & XSL

Service Oriented

Standardized

Page 11: XForms with Linux

Codify Intentions

XForms enables creators to codify the intended components and functionality for a form rather than defining the form itself

Page 12: XForms with Linux

Separation of Concernswith MVC

Page 13: XForms with Linux

Define the Model

An XForms Model defines the data that you want to operate on and the targets you want to submit that data to

Page 14: XForms with Linux

Explicitly Aware of XML

Page 15: XForms with Linux

Describe the UI

An XForms View is a standards-compliant description of a form and all of the actions it should perform

Page 16: XForms with Linux

XForms Elements

Page 17: XForms with Linux
Page 18: XForms with Linux

Pure XML & XSL

Relatively simple markup

Mature technologies

Store as datastreams in Fedora

– Inline or Reference– Use disseminators– Versionable UI!

Page 19: XForms with Linux

Service Oriented

Submit XML to any service

Easy to change target URL

Multiple submissions

Page 20: XForms with Linux

Standardized

A single XForms Model/View pair can be displayed by any XForms compliant tool

Automatically switch between XHTML, Flash, Swing, etc.

Page 21: XForms with Linux

Codify intentions for UI

Separation of Concerns with MVC

Pure XML & XSL

Service Oriented

Standardized

Discuss XForms

Page 22: XForms with Linux

The Perfect MatchHow we integrated XForms with Fedora

Page 23: XForms with Linux

Overlap with CMDA

Simplified subset of same concerns

Deals only with datastreams that contain (XML) metadata

Easily translate when/if CMDA is ready

Page 24: XForms with Linux
Page 25: XForms with Linux
Page 26: XForms with Linux

Inherited Datastreams

Define what metadata you’re tracking for a given set of objects

Define how you store that metadata

– URL of datastreams– Schema or template of XML

Page 27: XForms with Linux

One model to another…

XForms model can be derived from content model

Primary Concerns– Location of XML to edit – URL of service for submitting

edited XML

Page 28: XForms with Linux

The Views Follow…

Any number of Xforms Views can be created that manipulate your XML by means of its XForms Model

Page 29: XForms with Linux

XForms Disseminators

For a simple context, XForms model and view can be hard coded as datastreams

For a more dynamic system, both can be generated on the fly using disseminators

Page 30: XForms with Linux

Transitive Qualities

An XForms model/view pair can be applied to any object that conforms to the content model

(CMDA aims to support this)

Page 31: XForms with Linux

Summary

We apply a simple content model to objects, dictating that certain XML datastreams must exist

XForms model and view can be exposed for those objects using disseminators

Page 32: XForms with Linux

ExposureGetting from XML/XForms to a UI

Page 33: XForms with Linux

Renderer: OrbeonForms

Server Side XForms

XHTML templates & CSS

Supports custom javascript

XPL processing

Page 34: XForms with Linux

XForms Renderers

Server Side vs Client Side

Firefox Extension

Eclipse/SWT Component

Growing list on Wikipedia…

Page 35: XForms with Linux

XForms in Context

Editing XML datastreams is only a part of our users’ concerns

Must create complete UIs

Page 36: XForms with Linux

Tapestry Approach

Full UI from many parts

AJAX Tricks

Integrated at service level

Page 37: XForms with Linux
Page 38: XForms with Linux
Page 39: XForms with Linux

ObservationsSome technical observations/speculations about XForms and Fedora

Page 40: XForms with Linux

The RESTful Approach

Ruby on Rails

“Being a good web citizen”

SOA done right (and easily)

Page 41: XForms with Linux

REST and HTTP Verbs

Example URL: …/fedora/service/manage/demo:77/DC

PUT: Create Datastream

POST: Update Datastream

GET: Get Datastream

DELETE: Delete Datastream

Page 42: XForms with Linux

XForms, REST & Fedora

REST, HTTP and CRUD

XForms Actions & Methods

Minimize code between User and Fedora

Page 43: XForms with Linux

XForms in CMDA?

What stage of development?

Is XForms a good fit?

How to move forward?

Page 44: XForms with Linux

Matt Zumwalt

MediaShelf, LLC

http://www.yourmediashelf.com

Thank You.For more information and code samples, visit http://www.yourmediashelf.com/reference/xforms