Your SlideShare is downloading. ×
0
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
XForms with Linux
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

XForms with Linux

2,244

Published on

XForms, with Linux ,Mobile computing,XHTML

XForms, with Linux ,Mobile computing,XHTML

Published in: Education, Technology
1 Comment
0 Likes
Statistics
Notes
  • Books for XForms:
    http://tueno2010.blogspot.com/2010/10/definicion-de-xforms-y-libro-util-para.html
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
2,244
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
1
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. XForms and Fedora Simplifying Fedora Frontends with XForms and Fedora Disseminators Matt Zumwalt MediaShelf, LLC http://www.yourmediashelf.com
  2. Requirements What MediaShelf aims accomplish with its UIs
  3. User Experience <ul><li>One feature set, Many Interfaces </li></ul><ul><li>Minimize Learning Curve </li></ul><ul><li>UX Must match Use Cases & User Requirements </li></ul>
  4. Diverse XML Metadata <ul><li>Task-specific taxonomies </li></ul><ul><ul><li>Ex. Descriptive Metadata </li></ul></ul><ul><li>Aggregate taxonomies </li></ul><ul><li>Cross-pollination </li></ul>
  5. Users’ Vocabularies <ul><li>Groups of users inevitably talk about their work in distinct ways. An effective UI has to reflect that vocabulary </li></ul>
  6. Lexicon for UIs <ul><li>Finite Vocabulary </li></ul><ul><li>One description, many renditions </li></ul>
  7. Separation of Concerns <ul><li>Binding XML to UI </li></ul><ul><li>Binding UI to user vocabularies </li></ul><ul><li>Finding that balance </li></ul>
  8. XForms A Look at the pertinent features of XForms and how they satisfy our requirements
  9. Using Forms to Edit XML <ul><li>Anywhere an HTML Form would be used, XForms can be used </li></ul><ul><li>Best example: Descriptive Metadata </li></ul>
  10. XForms Strengths <ul><li>Codify Intentions for UI </li></ul><ul><li>Separation of Concerns with MVC </li></ul><ul><li>Pure XML & XSL </li></ul><ul><li>Service Oriented </li></ul><ul><li>Standardized </li></ul>
  11. Codify Intentions <ul><li>XForms enables creators to codify the intended components and functionality for a form rather than defining the form itself </li></ul>
  12. Separation of Concerns with MVC
  13. Define the Model <ul><li>An XForms Model defines the data that you want to operate on and the targets you want to submit that data to </li></ul>
  14. Explicitly Aware of XML
  15. Describe the UI <ul><li>An XForms View is a standards-compliant description of a form and all of the actions it should perform </li></ul>
  16. XForms Elements
  17.  
  18. Pure XML & XSL <ul><li>Relatively simple markup </li></ul><ul><li>Mature technologies </li></ul><ul><li>Store as datastreams in Fedora </li></ul><ul><ul><li>Inline or Reference </li></ul></ul><ul><ul><li>Use disseminators </li></ul></ul><ul><ul><li>Versionable UI! </li></ul></ul>
  19. Service Oriented <ul><li>Submit XML to any service </li></ul><ul><li>Easy to change target URL </li></ul><ul><li>Multiple submissions </li></ul>
  20. Standardized <ul><li>A single XForms Model/View pair can be displayed by any XForms compliant tool </li></ul><ul><li>Automatically switch between XHTML, Flash, Swing, etc. </li></ul>
  21. <ul><li>Codify intentions for UI </li></ul><ul><li>Separation of Concerns with MVC </li></ul><ul><li>Pure XML & XSL </li></ul><ul><li>Service Oriented </li></ul><ul><li>Standardized </li></ul>Discuss XForms
  22. The Perfect Match How we integrated XForms with Fedora
  23. Overlap with CMDA <ul><li>Simplified subset of same concerns </li></ul><ul><li>Deals only with datastreams that contain (XML) metadata </li></ul><ul><li>Easily translate when/if CMDA is ready </li></ul>
  24.  
  25.  
  26. Inherited Datastreams <ul><li>Define what metadata you’re tracking for a given set of objects </li></ul><ul><li>Define how you store that metadata </li></ul><ul><ul><li>URL of datastreams </li></ul></ul><ul><ul><li>Schema or template of XML </li></ul></ul>
  27. One model to another… <ul><li>XForms model can be derived from content model </li></ul><ul><li>Primary Concerns </li></ul><ul><ul><li>Location of XML to edit </li></ul></ul><ul><ul><li>URL of service for submitting edited XML </li></ul></ul>
  28. The Views Follow… <ul><li>Any number of Xforms Views can be created that manipulate your XML by means of its XForms Model </li></ul>
  29. XForms Disseminators <ul><li>For a simple context, XForms model and view can be hard coded as datastreams </li></ul><ul><li>For a more dynamic system, both can be generated on the fly using disseminators </li></ul>
  30. Transitive Qualities <ul><li>An XForms model/view pair can be applied to any object that conforms to the content model </li></ul><ul><li>(CMDA aims to support this) </li></ul>
  31. Summary <ul><li>We apply a simple content model to objects, dictating that certain XML datastreams must exist </li></ul><ul><li>XForms model and view can be exposed for those objects using disseminators </li></ul>
  32. Exposure Getting from XML/XForms to a UI
  33. Renderer: OrbeonForms <ul><li>Server Side XForms </li></ul><ul><li>XHTML templates & CSS </li></ul><ul><li>Supports custom javascript </li></ul><ul><li>XPL processing </li></ul>
  34. XForms Renderers <ul><li>Server Side vs Client Side </li></ul><ul><li>Firefox Extension </li></ul><ul><li>Eclipse/SWT Component </li></ul><ul><li>Growing list on Wikipedia… </li></ul>
  35. XForms in Context <ul><li>Editing XML datastreams is only a part of our users’ concerns </li></ul><ul><li>Must create complete UIs </li></ul>
  36. Tapestry Approach <ul><li>Full UI from many parts </li></ul><ul><li>AJAX Tricks </li></ul><ul><li>Integrated at service level </li></ul>
  37.  
  38.  
  39. Observations Some technical observations/speculations about XForms and Fedora
  40. The RESTful Approach <ul><li>Ruby on Rails </li></ul><ul><li>“ Being a good web citizen” </li></ul><ul><li>SOA done right (and easily) </li></ul>
  41. REST and HTTP Verbs <ul><li>Example URL: …/fedora/service/manage/demo:77/DC </li></ul><ul><li>PUT : Create Datastream </li></ul><ul><li>POST : Update Datastream </li></ul><ul><li>GET : Get Datastream </li></ul><ul><li>DELETE : Delete Datastream </li></ul>
  42. XForms, REST & Fedora <ul><li>REST, HTTP and CRUD </li></ul><ul><li>XForms Actions & Methods </li></ul><ul><li>Minimize code between User and Fedora </li></ul>
  43. XForms in CMDA? <ul><li>What stage of development? </li></ul><ul><li>Is XForms a good fit? </li></ul><ul><li>How to move forward? </li></ul>
  44. Thank You. For more information and code samples, visit http://www.yourmediashelf.com/reference/xforms Matt Zumwalt MediaShelf, LLC http://www.yourmediashelf.com

×