XForms with Linux
Upcoming SlideShare
Loading in...5

XForms with Linux



XForms, with Linux ,Mobile computing,XHTML

XForms, with Linux ,Mobile computing,XHTML



Total Views
Views on SlideShare
Embed Views



1 Embed 1

http://www.slideshare.net 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Books for XForms:
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

XForms with Linux XForms with Linux Presentation Transcript

  • XForms and Fedora Simplifying Fedora Frontends with XForms and Fedora Disseminators Matt Zumwalt MediaShelf, LLC http://www.yourmediashelf.com
  • Requirements What 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
  • XForms A 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 Concerns with 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 Match How 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
  • Exposure Getting 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
  • Observations Some 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?
  • Thank You. For more information and code samples, visit http://www.yourmediashelf.com/reference/xforms Matt Zumwalt MediaShelf, LLC http://www.yourmediashelf.com