SlideShare a Scribd company logo
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

More Related Content

Similar to XForms with Linux (20)

PPTX
Editing XML data with XForms
stsire
 
ODP
XForms workshop slides
ewg118
 
PPT
Webform Server 351 Architecture and Overview
ddrschiw
 
PPT
Lotus Forms Webform Server 3.0 Overview & Architecture
ddrschiw
 
PPT
Lotus Forms Webform Server 3.0 Overview & Architecture
ddrschiw
 
PDF
Extending XForms with Server-Side Functionality
Markku Laine
 
PPT
XRX Presentation to Minnesota OTUG
Optum
 
PDF
XFormsDB: An XForms-Based Framework for Simplifying Web Application Development
Markku Laine
 
PPT
Applications of XML Pipelines
ebruchez
 
PPTX
Xml For Dummies Chapter 16 Xml And Forms it-slideshares.blogspot.com
phanleson
 
PPTX
Inspire 2013 eForms
Kathrine Kugle
 
PDF
XUL - The future of user-interfaces on the web
SpeedPartner GmbH
 
PDF
apidays LIVE Helsinki & North 2022_APIs - Embedded Integration Platforms (iFr...
apidays
 
PPT
XForms for Metadata Creation
mw_park
 
PDF
The XML Forms Architecture
iText Group nv
 
PPT
Toward a Standardized XMAN Presentation Layer with Consideration of User Inte...
Bassel Saab
 
PPT
XForms for Metadata creation
eby
 
PDF
Open API Architectural Choices Considerations
Dominiek ter Heide
 
PDF
XForms and eXist: A Perfect Couple
ebruchez
 
PDF
apidays LIVE Australia 2021 - Designing Embedded Platforms by Jeremy Glassenb...
apidays
 
Editing XML data with XForms
stsire
 
XForms workshop slides
ewg118
 
Webform Server 351 Architecture and Overview
ddrschiw
 
Lotus Forms Webform Server 3.0 Overview & Architecture
ddrschiw
 
Lotus Forms Webform Server 3.0 Overview & Architecture
ddrschiw
 
Extending XForms with Server-Side Functionality
Markku Laine
 
XRX Presentation to Minnesota OTUG
Optum
 
XFormsDB: An XForms-Based Framework for Simplifying Web Application Development
Markku Laine
 
Applications of XML Pipelines
ebruchez
 
Xml For Dummies Chapter 16 Xml And Forms it-slideshares.blogspot.com
phanleson
 
Inspire 2013 eForms
Kathrine Kugle
 
XUL - The future of user-interfaces on the web
SpeedPartner GmbH
 
apidays LIVE Helsinki & North 2022_APIs - Embedded Integration Platforms (iFr...
apidays
 
XForms for Metadata Creation
mw_park
 
The XML Forms Architecture
iText Group nv
 
Toward a Standardized XMAN Presentation Layer with Consideration of User Inte...
Bassel Saab
 
XForms for Metadata creation
eby
 
Open API Architectural Choices Considerations
Dominiek ter Heide
 
XForms and eXist: A Perfect Couple
ebruchez
 
apidays LIVE Australia 2021 - Designing Embedded Platforms by Jeremy Glassenb...
apidays
 

More from SHC (20)

PPT
Perform brute force
SHC
 
PPT
AJAX ASP.Net
SHC
 
PDF
C++ plus data structures, 3rd edition (2003)
SHC
 
PDF
Inside Asp.Net Web Matrix
SHC
 
PDF
V Pro Bp08505 Phase Iii Edited
SHC
 
DOC
V Pro Bp08505 Phase Iii Edited
SHC
 
DOC
V Pro Bp08505 Phase Ii Edited
SHC
 
PDF
Intel® V Pro™ Technology
SHC
 
PPT
Rails
SHC
 
PPT
Call
SHC
 
PPTX
Action Mailer
SHC
 
PPTX
Web Services
SHC
 
PDF
Pragmatic Agile Web Development With Rails.3rd Edition.2009
SHC
 
PPT
Ruby Basics
SHC
 
PPT
Ruby Installation
SHC
 
PPT
Mysql Statments
SHC
 
PPT
Mysql Fun
SHC
 
PPT
Mysql
SHC
 
PPT
MySQL Built-In Functions
SHC
 
PPT
Mobile Computing
SHC
 
Perform brute force
SHC
 
AJAX ASP.Net
SHC
 
C++ plus data structures, 3rd edition (2003)
SHC
 
Inside Asp.Net Web Matrix
SHC
 
V Pro Bp08505 Phase Iii Edited
SHC
 
V Pro Bp08505 Phase Iii Edited
SHC
 
V Pro Bp08505 Phase Ii Edited
SHC
 
Intel® V Pro™ Technology
SHC
 
Rails
SHC
 
Call
SHC
 
Action Mailer
SHC
 
Web Services
SHC
 
Pragmatic Agile Web Development With Rails.3rd Edition.2009
SHC
 
Ruby Basics
SHC
 
Ruby Installation
SHC
 
Mysql Statments
SHC
 
Mysql Fun
SHC
 
Mysql
SHC
 
MySQL Built-In Functions
SHC
 
Mobile Computing
SHC
 
Ad

Recently uploaded (20)

PPTX
CONVULSIVE DISORDERS: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
PPTX
How to Configure Prepayments in Odoo 18 Sales
Celine George
 
PDF
The-Beginnings-of-Indian-Civilisation.pdf/6th class new ncert social/by k san...
Sandeep Swamy
 
PPSX
Health Planning in india - Unit 03 - CHN 2 - GNM 3RD YEAR.ppsx
Priyanshu Anand
 
PPTX
PPT on the Development of Education in the Victorian England
Beena E S
 
PPT
digestive system for Pharm d I year HAP
rekhapositivity
 
PPTX
ASRB NET 2023 PREVIOUS YEAR QUESTION PAPER GENETICS AND PLANT BREEDING BY SAT...
Krashi Coaching
 
PDF
Zoology (Animal Physiology) practical Manual
raviralanaresh2
 
PPTX
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
PDF
BÀI TẬP BỔ TRỢ THEO LESSON TIẾNG ANH - I-LEARN SMART WORLD 7 - CẢ NĂM - CÓ ĐÁ...
Nguyen Thanh Tu Collection
 
PPTX
Views on Education of Indian Thinkers J.Krishnamurthy..pptx
ShrutiMahanta1
 
PDF
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
PPTX
Gall bladder, Small intestine and Large intestine.pptx
rekhapositivity
 
PPTX
Presentation: Climate Citizenship Digital Education
Karl Donert
 
PPTX
How to Manage Promotions in Odoo 18 Sales
Celine George
 
PDF
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
PPTX
Latest Features in Odoo 18 - Odoo slides
Celine George
 
PPTX
Accounting Skills Paper-I, Preparation of Vouchers
Dr. Sushil Bansode
 
PPTX
SCHOOL-BASED SEXUAL HARASSMENT PREVENTION AND RESPONSE WORKSHOP
komlalokoe
 
PPSX
HEALTH ASSESSMENT (Community Health Nursing) - GNM 1st Year
Priyanshu Anand
 
CONVULSIVE DISORDERS: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
How to Configure Prepayments in Odoo 18 Sales
Celine George
 
The-Beginnings-of-Indian-Civilisation.pdf/6th class new ncert social/by k san...
Sandeep Swamy
 
Health Planning in india - Unit 03 - CHN 2 - GNM 3RD YEAR.ppsx
Priyanshu Anand
 
PPT on the Development of Education in the Victorian England
Beena E S
 
digestive system for Pharm d I year HAP
rekhapositivity
 
ASRB NET 2023 PREVIOUS YEAR QUESTION PAPER GENETICS AND PLANT BREEDING BY SAT...
Krashi Coaching
 
Zoology (Animal Physiology) practical Manual
raviralanaresh2
 
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
BÀI TẬP BỔ TRỢ THEO LESSON TIẾNG ANH - I-LEARN SMART WORLD 7 - CẢ NĂM - CÓ ĐÁ...
Nguyen Thanh Tu Collection
 
Views on Education of Indian Thinkers J.Krishnamurthy..pptx
ShrutiMahanta1
 
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
Gall bladder, Small intestine and Large intestine.pptx
rekhapositivity
 
Presentation: Climate Citizenship Digital Education
Karl Donert
 
How to Manage Promotions in Odoo 18 Sales
Celine George
 
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
Latest Features in Odoo 18 - Odoo slides
Celine George
 
Accounting Skills Paper-I, Preparation of Vouchers
Dr. Sushil Bansode
 
SCHOOL-BASED SEXUAL HARASSMENT PREVENTION AND RESPONSE WORKSHOP
komlalokoe
 
HEALTH ASSESSMENT (Community Health Nursing) - GNM 1st Year
Priyanshu Anand
 
Ad

XForms with Linux

  • 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 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
  • 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
  • 15. Describe the UI An XForms View is a standards-compliant description of a form and all of the actions it should perform
  • 17.  
  • 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. Codify intentions for UI Separation of Concerns with MVC Pure XML & XSL Service Oriented Standardized Discuss XForms
  • 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.  
  • 25.  
  • 26. 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
  • 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.  
  • 38.  
  • 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/demo:77/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.yourmediashelf.com