XForms and Fedora - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

XForms and Fedora

Description:

XForms and Fedora – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 45
Provided by: mattzu
Category:
Tags: aamc | fedora | xforms

less

Transcript and Presenter's Notes

Title: XForms and Fedora


1
XForms and Fedora
  • Simplifying Fedora Frontends with XForms and
    Fedora Disseminators

Matt Zumwalt MediaShelf, LLC http//www.yourmedias
helf.com
2
Requirements
  • What MediaShelf aims accomplish with its UIs


3
User Experience
  • One feature set, Many Interfaces
  • Minimize Learning Curve
  • UX Must match Use Cases User Requirements

4
Diverse XML Metadata
  • Task-specific taxonomies
  • Ex. Descriptive Metadata
  • Aggregate taxonomies
  • Cross-pollination

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

6
Lexicon for UIs
  • Finite Vocabulary
  • One description, many renditions

7
Separation of Concerns
  • Binding XML to UI
  • Binding UI to user vocabularies
  • Finding that balance

8
XForms
  • A Look at the pertinent features of XForms and
    how they satisfy our requirements


9
Using Forms to Edit XML
  • Anywhere an HTML Form would be used, XForms can
    be used
  • Best example Descriptive Metadata

10
XForms Strengths
  • Codify Intentions for UI
  • Separation of Concerns with MVC
  • Pure XML XSL
  • Service Oriented
  • Standardized

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

12
Separation of Concernswith MVC
13
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

14
Explicitly Aware of XML

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

16
XForms Elements
17
(No Transcript)
18
Pure XML XSL
  • Relatively simple markup
  • Mature technologies
  • Store as datastreams in Fedora
  • Inline or Reference
  • Use disseminators
  • Versionable UI!

19
Service Oriented
  • Submit XML to any service
  • Easy to change target URL
  • Multiple submissions

20
Standardized
  • A single XForms Model/View pair can be displayed
    by any XForms compliant tool
  • Automatically switch between XHTML, Flash, Swing,
    etc.

21
Discuss XForms
  • Codify intentions for UI
  • Separation of Concerns with MVC
  • Pure XML XSL
  • Service Oriented
  • Standardized

22
The Perfect Match
  • How we integrated XForms with Fedora

23
Overlap with CMDA
  • Simplified subset of same concerns
  • Deals only with datastreams that contain (XML)
    metadata
  • Easily translate when/if CMDA is ready

24
(No Transcript)
25
(No Transcript)
26
Inherited Datastreams
  • Define what metadata youre tracking for a given
    set of objects
  • Define how you store that metadata
  • URL of datastreams
  • Schema or template of XML

27
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

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

29
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

30
Transitive Qualities
  • An XForms model/view pair can be applied to any
    object that conforms to the content model
  • (CMDA aims to support this)

31
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

32
Exposure
  • Getting from XML/XForms to a UI

33
Renderer OrbeonForms
  • Server Side XForms
  • XHTML templates CSS
  • Supports custom javascript
  • XPL processing

34
XForms Renderers
  • Server Side vs Client Side
  • Firefox Extension
  • Eclipse/SWT Component
  • Growing list on Wikipedia

35
XForms in Context
  • Editing XML datastreams is only a part of our
    users concerns
  • Must create complete UIs

36
Tapestry Approach
  • Full UI from many parts
  • AJAX Tricks
  • Integrated at service level

37
(No Transcript)
38
(No Transcript)
39
Observations
  • Some technical observations/speculations about
    XForms and Fedora

40
The RESTful Approach
  • Ruby on Rails
  • Being a good web citizen
  • SOA done right (and easily)

41
REST and HTTP Verbs
  • Example URL /fedora/service/manage/demo77/DC
  • PUT Create Datastream
  • POST Update Datastream
  • GET Get Datastream
  • DELETE Delete Datastream

42
XForms, REST Fedora
  • REST, HTTP and CRUD
  • XForms Actions Methods
  • Minimize code between User and Fedora

43
XForms in CMDA?
  • What stage of development?
  • Is XForms a good fit?
  • How to move forward?

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

Matt Zumwalt MediaShelf, LLC http//www.yourmedias
helf.com
Write a Comment
User Comments (0)
About PowerShow.com