xforms with linux

Post on 13-Jan-2015

2.209 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

XForms, with Linux ,Mobile computing,XHTML

TRANSCRIPT

Matt Zumwalt

MediaShelf, LLC

http://www.yourmediashelf.com

XForms and FedoraSimplifying Fedora Frontends with XForms and Fedora Disseminators

RequirementsWhat MediaShelf aims accomplish with its UIs

User Experience

One feature set, Many Interfaces

Minimize Learning Curve

UX Must match Use Cases & User Requirements

Diverse XML Metadata

Task-specific taxonomies– Ex. Descriptive Metadata

Aggregate taxonomies

Cross-pollination

Users’ Vocabularies

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

Lexicon for UIs

Finite Vocabulary

One description, many renditions

Separation of Concerns

Binding XML to UI

Binding UI to user vocabularies

Finding that balance

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

Using Forms to Edit XML

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

Best example: Descriptive Metadata

XForms Strengths

Codify Intentions for UI

Separation of Concerns with MVC

Pure XML & XSL

Service Oriented

Standardized

Codify Intentions

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

Separation of Concernswith MVC

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

Explicitly Aware of XML

Describe the UI

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

XForms Elements

Pure XML & XSL

Relatively simple markup

Mature technologies

Store as datastreams in Fedora

– Inline or Reference– Use disseminators– Versionable UI!

Service Oriented

Submit XML to any service

Easy to change target URL

Multiple submissions

Standardized

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

Automatically switch between XHTML, Flash, Swing, etc.

Codify intentions for UI

Separation of Concerns with MVC

Pure XML & XSL

Service Oriented

Standardized

Discuss XForms

The Perfect MatchHow we integrated XForms with Fedora

Overlap with CMDA

Simplified subset of same concerns

Deals only with datastreams that contain (XML) metadata

Easily translate when/if CMDA is ready

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

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

The Views Follow…

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

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

Transitive Qualities

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

(CMDA aims to support this)

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

ExposureGetting from XML/XForms to a UI

Renderer: OrbeonForms

Server Side XForms

XHTML templates & CSS

Supports custom javascript

XPL processing

XForms Renderers

Server Side vs Client Side

Firefox Extension

Eclipse/SWT Component

Growing list on Wikipedia…

XForms in Context

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

Must create complete UIs

Tapestry Approach

Full UI from many parts

AJAX Tricks

Integrated at service level

ObservationsSome technical observations/speculations about XForms and Fedora

The RESTful Approach

Ruby on Rails

“Being a good web citizen”

SOA done right (and easily)

REST and HTTP Verbs

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

PUT: Create Datastream

POST: Update Datastream

GET: Get Datastream

DELETE: Delete Datastream

XForms, REST & Fedora

REST, HTTP and CRUD

XForms Actions & Methods

Minimize code between User and Fedora

XForms in CMDA?

What stage of development?

Is XForms a good fit?

How to move forward?

Matt Zumwalt

MediaShelf, LLC

http://www.yourmediashelf.com

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

top related