<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="http://feeds.feedburner.com/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!-- generator="wordpress/1.5.1.3" --><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>XForms Everywhere</title>
	<link>http://www.orbeon.com/blog</link>
	<description>XForms Everywhere</description>
	<pubDate>Thu, 23 Oct 2008 03:02:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=1.5.1.3</generator>
	<language>en</language>

		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/xml-web-apps" type="application/rss+xml" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site.</feedburner:browserFriendly><item>
		<title>A round of XForms engine performance improvements</title>
		<link>http://feeds.feedburner.com/~r/xml-web-apps/~3/376654732/</link>
		<comments>http://www.orbeon.com/blog/2008/08/27/a-round-of-xforms-engine-performance-improvements/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 15:31:46 +0000</pubDate>
		<dc:creator>Erik Bruchez</dc:creator>
		
	<category>General</category>
		<guid isPermaLink="false">http://www.orbeon.com/blog/2008/08/27/a-round-of-xforms-engine-performance-improvements/</guid>
		<description><![CDATA[	


	
Now that Orbeon Forms 3.7 beta 1 is out, we have committed a series of changes that intend to improve the performance of the XForms engine. These particular changes initially focused on &#60;xforms:insert> and &#60;xforms:delete>, but they ended up requesting a fairly major refactoring of the XForms controls code on the server. Some (probably obscure) [...]]]></description>
			<content:encoded><![CDATA[	<p>
<img height="190" width="240" align="right" alt="Rotor" style="margin: 0pt 0pt 1em 2em;" src="http://www.orbeon.com/download/blog/rotor.png"/>
</p>
	<p>
Now that <a href="http://www.orbeon.com/blog/2008/08/26/orbeon-forms-37-beta-1-is-available/">Orbeon Forms 3.7 beta 1</a> is out, we have committed a series of changes that intend to improve the performance of the XForms engine. These particular changes initially focused on <a href="http://www.w3.org/TR/xforms11/#action-insert"><code>&lt;xforms:insert></code></a> and <a href="http://www.w3.org/TR/xforms11/#action-delete"><code>&lt;xforms:delete></code></a>, but they ended up requesting a fairly major refactoring of the XForms controls code on the server. Some (probably obscure) developer information is <a href="http://wiki.orbeon.com/forms/developer-documentation/insert-and-delete-performance-improvements">available on our wiki</a>.
</p>
	<p>
In short, we used to duplicate the tree of controls on the server at every possible turn. Now we:
</p>
	<ul>
	<li>
	<p>
never do it during page initialization
</p>
	</li>
	<li>
	<p>
do it at most once per Ajax request
</p>
	</li>
	</ul>
	<p>
Instead we update the tree of controls incrementally upon insert/delete and upon refresh.
</p>
	<p>
The result is that the performance has in fact improved quite a bit for large forms, especially those that use <code>&lt;xforms:insert></code> and <code>&lt;xforms:delete></code> heavily. In particular, one of the main goals of this work was to make <a href="http://www.orbeon.com/forms/builder">Form Builder</a> faster. There is still work to do there, but performance has already improved quite a bit!
</p>
	<p>
This is a good step forward: both the code and the processing model for the controls are now much clearer. We are also more <a href="http://www.w3.org/TR/xforms11/">XForms 1.1</a> compliant (in particular regarding repeat index updates). This also fixed along the way a few bugs related to insert/delete/repeat and UI events dispatching.
</p>
	<p>
What&#8217;s even better, this lays down a healthy foundation for further improvements, including at some point implementing a dependency mechanism for the controls which should yield even better performance, especially for large forms.
</p>
<img src="http://feeds.feedburner.com/~r/xml-web-apps/~4/376654732" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRSS>http://www.orbeon.com/blog/2008/08/27/a-round-of-xforms-engine-performance-improvements/feed/</wfw:commentRSS>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=xml-web-apps&amp;itemurl=http%3A%2F%2Fwww.orbeon.com%2Fblog%2F2008%2F08%2F27%2Fa-round-of-xforms-engine-performance-improvements%2F</feedburner:awareness><feedburner:origLink>http://www.orbeon.com/blog/2008/08/27/a-round-of-xforms-engine-performance-improvements/</feedburner:origLink></item>
		<item>
		<title>Orbeon Forms 3.7 beta 1 is available</title>
		<link>http://feeds.feedburner.com/~r/xml-web-apps/~3/375562160/</link>
		<comments>http://www.orbeon.com/blog/2008/08/26/orbeon-forms-37-beta-1-is-available/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 12:07:09 +0000</pubDate>
		<dc:creator>Erik Bruchez</dc:creator>
		
	<category>News</category>
		<guid isPermaLink="false">http://www.orbeon.com/blog/2008/08/26/orbeon-forms-37-beta-1-is-available/</guid>
		<description><![CDATA[	


	
We have just made Orbeon Forms 3.7 beta 1 available for download. This release contains about 200 issues addressed since Orbeon Forms 3.6.

	
There are still a few blockers to address before we can release 3.7 final. Here are useful links to see what&#8217;s left to do:

	
	
	
Issues by highest priority

	
	
	
Recently open issues

	
	
	
Recently closed issues

	
	
	
Enjoy!

]]></description>
			<content:encoded><![CDATA[	<p>
<img width="199" height="42" align="right" src="http://www.orbeon.com/orbeon-theme/images/orbeon-small-blueorange.gif" alt="Orbeon Forms Logo"/>
</p>
	<p>
We have just made Orbeon Forms 3.7 beta 1 <a href="http://forge.objectweb.org/project/showfiles.php?group_id=168">available for download.</a> This release contains about <a href="http://www.orbeon.com/ops/doc/home-changes-37">200 issues addressed since Orbeon Forms 3.6</a>.
</p>
	<p>
There are still a few blockers to address before we can release 3.7 final. Here are useful links to see what&#8217;s left to do:
</p>
	<ul>
	<li>
	<p>
<a href="http://tinyurl.com/kycl3">Issues by highest priority</a>
</p>
	</li>
	<li>
	<p>
<a href="http://tinyurl.com/3adybv">Recently open issues</a>
</p>
	</li>
	<li>
	<p>
<a href="http://tinyurl.com/yr44jw">Recently closed issues</a>
</p>
	</li>
	</ul>
	<p>
Enjoy!
</p>
<img src="http://feeds.feedburner.com/~r/xml-web-apps/~4/375562160" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRSS>http://www.orbeon.com/blog/2008/08/26/orbeon-forms-37-beta-1-is-available/feed/</wfw:commentRSS>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=xml-web-apps&amp;itemurl=http%3A%2F%2Fwww.orbeon.com%2Fblog%2F2008%2F08%2F26%2Forbeon-forms-37-beta-1-is-available%2F</feedburner:awareness><feedburner:origLink>http://www.orbeon.com/blog/2008/08/26/orbeon-forms-37-beta-1-is-available/</feedburner:origLink></item>
		<item>
		<title>What we have been up to</title>
		<link>http://feeds.feedburner.com/~r/xml-web-apps/~3/368399738/</link>
		<comments>http://www.orbeon.com/blog/2008/08/18/what-we-have-been-up-to/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 12:26:38 +0000</pubDate>
		<dc:creator>Erik Bruchez</dc:creator>
		
	<category>General</category>
		<guid isPermaLink="false">http://www.orbeon.com/blog/2008/08/18/what-we-have-been-up-to/</guid>
		<description><![CDATA[	
In the last few months, we have been regularly posting updates to Twitter so we have had less of a need to write full blog entries. But now we feel that owe the followers of this blog a higher-level update:

	
	
	
Form Builder and Form Runner. A big priority is our continued work on Form Builder and [...]]]></description>
			<content:encoded><![CDATA[	<p>
In the last few months, we have been regularly <a href="http://twitter.com/orbeon">posting updates to Twitter</a> so we have had less of a need to write full blog entries. But now we feel that owe the followers of this blog a higher-level update:
</p>
	<ul>
	<li>
	<p>
<b>Form Builder and Form Runner.</b> A big priority is our continued work on <a href="http://www.orbeon.com/forms/builder">Form Builder and Form Runner</a>. We are getting closer from a 1.0 version, and we have a great incentive as we have customers sponsoring features and planning to deploy very soon.
</p>
	</li>
	<li>
	<p>
<b>Oracle XML support in Form Runner.</b> Initially, Form Runner only supported the built-in eXist database. However, we designed from the get-go a <a href="http://wiki.orbeon.com/forms/developer-documentation/form-builder-integration-notes">REST-based API</a> for handling persistence. We have now implemented a connector for storing form types and form data <a href="http://wiki.orbeon.com/forms/projects/form-runner-oracle-persistence-layer">into Oracle</a>.
</p>
	</li>
	<li>
	<p>
<b>Noscript mode.</b> The <a href="http://wiki.orbeon.com/forms/developer-documentation/noscript-mode">&#8220;noscript mode&#8221;</a> in Orbeon Forms allows you to use a single XHTML+XForms description of a page and to target browser that have JavaScript disabled. This is now integrated into Form Runner, which means you don&#8217;t need JavaScript on the client to fill-out forms created by Form Builder. This is also the basis for the accessibility features we are working on (including WCAG AA compliance).
</p>
	</li>
	<li>
	<p>
<b>Offline mode.</b> We have worked quite a bit on an <a href="http://wiki.orbeon.com/forms/developer-documentation/offline-mode-documentation">offline mode</a> for Orbeon Forms, based on Google Gears. This is very exciting, but it is still a bit too early for us to integrate that into Form Runner.
</p>
	</li>
	<li>
	<p>
<b>Components.</b> An important aspect of any UI platform is the ability to reuse code. XForms should not be different. So we have started implementing a <a href="http://wiki.orbeon.com/forms/projects/xforms-component-system">component system</a> in the XForms engine, based on XBL 2. Simple components already work, and we are adding locally-scoped XForms models.
</p>
	</li>
	<li>
	<p>
<b>Date and time controls.</b> We have completely overhauled the date picker. You can now type in values and the date picker is by default the YUI date picker. We have also added controls for <code>xs:time</code> and <code>xs:dateTime</code> types, which was long overdue.
</p>
	</li>
	<li>
	<p>
<b>Access request and session directly from XForms.</b> In the past, accessing request and session information from XForms required using the page flow controller or possibly a page model written in XPL. Now, you can use <a href="http://www.orbeon.com/ops/doc/reference-xforms-functions#orbeon-extensions">XPath functions</a> to do so.
</p>
	</li>
	<li>
	<p>
<b>New YUI.</b> We have upgraded to YUI 2.5.2. It&#8217;s good to be up to date and to benefit from the latest features and bug-fixes.
</p>
	</li>
	<li>
	<p>
<b>Control the HTML title from XForms.</b> Orbeon Forms now supports <code>xforms:output</code> within <code>xhtml:title</code>. This is very convenient to change the HTML page&#8217;s title directly from XForms.
</p>
	</li>
	<li>
	<p>
<b>More flexible placement of AVTs and XForms models.</b> AVTs are supported outside the HTML body. This allows for example controlling the <code>lang</code> attribute on the root <code>HTML</code> element. XForms models can alse now be placed outside the HTML head (e.g. within dialogs).
</p>
	</li>
	<li>
	<p>
<b>Refactoring.</b> A lot of refactoring of the Java code (and some of the JavaScript code) has taken place.
</p>
	</li>
	<li>
	<p>
<b>Loads of bug-fixes.</b> See the list of <a href="http://www.orbeon.com/ops/doc/home-changes-37">changes since  Orbeon Forms 3.6</a>. We hope that version 3.7 is not too far.
</p>
	</li>
	<li>
	<p>
<b>New wiki.</b> We now use <a href="http://wiki.orbeon.com/forms/system/app/pages/sitemap/hierarchy">Google Sites</a> to host our development documentation.
</p>
	</li>
	</ul>
	<p>
This does sound like a lot, doesn&#8217;t it? And while all this is a lot of fun to work on, we need to mention that these new features and developments are driven by projects for our great customers.
</p>
	<p>
Now, on to polishing Form Builder and getting 3.7 out!
</p>
<img src="http://feeds.feedburner.com/~r/xml-web-apps/~4/368399738" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRSS>http://www.orbeon.com/blog/2008/08/18/what-we-have-been-up-to/feed/</wfw:commentRSS>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=xml-web-apps&amp;itemurl=http%3A%2F%2Fwww.orbeon.com%2Fblog%2F2008%2F08%2F18%2Fwhat-we-have-been-up-to%2F</feedburner:awareness><feedburner:origLink>http://www.orbeon.com/blog/2008/08/18/what-we-have-been-up-to/</feedburner:origLink></item>
		<item>
		<title>Announcing Orbeon Form Builder</title>
		<link>http://feeds.feedburner.com/~r/xml-web-apps/~3/290610096/</link>
		<comments>http://www.orbeon.com/blog/2008/05/14/announcing-orbeon-form-builder/#comments</comments>
		<pubDate>Wed, 14 May 2008 17:01:09 +0000</pubDate>
		<dc:creator>Erik Bruchez</dc:creator>
		
	<category>News</category>
		<guid isPermaLink="false">http://www.orbeon.com/blog/2008/05/14/announcing-orbeon-form-builder/</guid>
		<description><![CDATA[	


	
It is with great pleasure that we are announcing Orbeon Form Builder. Form Builder allows you to build forms right from your browser and aims at taking the pain out of building forms. It is 100% open source, standards-based, and built on top of the Orbeon Forms XForms implementation, which we have been refining for [...]]]></description>
			<content:encoded><![CDATA[	<p>
<a href="http://www.orbeon.com/forms/builder"><img width="350" height="250" align="right" src="http://www.orbeon.com/download/blog/formbuilder2.png" style="margin: 0pt 0pt 1em 2em; border: 2px solid #666699" alt="Orbeon at JavaOne"/></a>
</p>
	<p>
It is with great pleasure that we are announcing <a href="http://www.orbeon.com/forms/builder">Orbeon Form Builder</a>. Form Builder allows you to build forms right from your browser and aims at taking the pain out of building forms. It is 100% open source, standards-based, and built on top of the Orbeon Forms XForms implementation, which we have been refining for years.
</p>
	<p>
An alpha version of Orbeon Forms Builder is currently available to developers for testing and feedback. You can download it as part of the <a href="http://forge.objectweb.org/nightlybuilds/ops/ops/">Orbeon Forms nightly builds</a>.
</p>
	<p>
More information is available on the <a href="http://www.orbeon.com/forms/builder">Orbeon Form Builder product page</a>, in the <a href="http://www.orbeon.com/forms/Orbeon%20Forms.pdf">Orbeon Forms flyer (PDF)</a>, and in the following press release which we wrote with OW2 (<a href="http://www.ow2.org/xwiki/bin/download/Events/JavaOne2008USA/OW2+Orbeon+JavaOne+PR.pdf">PDF</a> also available):
</p>
	<blockquote><p><strong>OW2 and Orbeon make web forms easy to build and deploy</strong></p>
	<p>
<strong>San Francisco, May 6 2008 –</strong> Orbeon, Inc. and the OW2 Consortium today announced Orbeon Form Builder, a web-based, standards-based open source WYSIWYG web forms editor. Unlike most form editors, Orbeon Form Builder does not require any client-side software install and runs directly off a web browser by leveraging Ajax and Web 2.0 technologies.
</p>
	<p>
Orbeon Form Builder includes a visual grid editor, attachments, validation rules, printable views, PDF output, full internationalisation, Web Services integration, XML-based persistence, an offline mode,  as well as an &#8220;expert&#8221; mode allowing advanced form authors to provide their own XForms markup.
</p>
	<p>
&#8220;For years now our customers have asked us for a visual form editor that leverages the power of XForms,&#8221; said Alessandro Vernet, CTO of Orbeon. &#8220;We believe that with Orbeon Form Builder, we are answering that call and we are making it dramatically easier for less technical users to build full-fledged web forms, while at the same time building on the technical merits of XForms.&#8221;
</p>
	<p>
Orbeon Form Builder also provides the Orbeon Form Runner runtime environment, which manages deployed forms, presents searchable form data, handles validation as you type and takes care of the plumbing necessary to capture, save, import and export form data.
</p>
	<p>
Orbeon Form Builder is built on top of the open source Orbeon Forms platform, which delivers the W3C XForms standard to web browsers without the need for plugins or additional client-side software. &#8220;The Orbeon Forms XForms engine is the technology that underlies Form Builder&#8221; said Erik Bruchez, principal architect of Orbeon Forms. &#8220;Without it, we wouldn&#8217;t have been able to progress as fast as we have over the past few months, and we are very proud of the fact that it is entirely open source.&#8221;
</p>
	<p>
<strong>About Orbeon</strong><br />
<br />
Founded in 1999, Orbeon delivers and supports Orbeon Forms, an open source, standard-based forms solution. Orbeon Forms is delivered to web browsers thanks to XForms and Ajax technology, with no need for client-side software or plugins. Companies and public sector agencies that rely on Orbeon Forms include CSC, Teleflex, SunGard, Esprit Limited, CRIX International, the State of Oregon, and Amnesty International. Visit: <a href="http://www.orbeon.com/">www.orbeon.com</a>
</p>
	<p>
<strong>About OW2</strong><br />
<br />
Founded in January 2007 OW2 is an independent industry community dedicated to developing open source code middleware and to fostering a vibrant community and business ecosystem. The OW2 Consortium hosts some one hundred technology Projects, including Acceleo, ASM, Bonita, eXo Platorm, Funambol, JOnAS, Lomboz, Orbeon Forms, SpagoBI and Xwiki. Visit <a href="http://www.ow2.org/">www.ow2.org</a>
</p>
	<p>
<strong>Orbeon, Inc.</strong><br />
Communications Department <br />
Tel:  +1 650 938 3120<br />
Fax: +1 650 618 2600<br />
<a href="mailto:info@orbeon.com">info@orbeon.com</a><br />
<a href="http://www.orbeon.com/">www.orbeon.com</a>
 </p>
	<p>
OW2<br />
<strong>Management Office</strong><br />
Tel:  +32-24 26 85 23<br />
Fax: +32-27 919 219<br />
<a href="mailto:mo@ow2.org">mo@ow2.org</a><br />
<a href="http://www.ow2.org/">www.ow2.org</a>
</p>
	</blockquote>
<img src="http://feeds.feedburner.com/~r/xml-web-apps/~4/290610096" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRSS>http://www.orbeon.com/blog/2008/05/14/announcing-orbeon-form-builder/feed/</wfw:commentRSS>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=xml-web-apps&amp;itemurl=http%3A%2F%2Fwww.orbeon.com%2Fblog%2F2008%2F05%2F14%2Fannouncing-orbeon-form-builder%2F</feedburner:awareness><feedburner:origLink>http://www.orbeon.com/blog/2008/05/14/announcing-orbeon-form-builder/</feedburner:origLink></item>
		<item>
		<title>See  You Next Year, JavaOne!</title>
		<link>http://feeds.feedburner.com/~r/xml-web-apps/~3/289014941/</link>
		<comments>http://www.orbeon.com/blog/2008/05/12/javaone-2008-is-behind-us/#comments</comments>
		<pubDate>Mon, 12 May 2008 13:42:46 +0000</pubDate>
		<dc:creator>Erik Bruchez</dc:creator>
		
	<category>News</category>
		<guid isPermaLink="false">http://www.orbeon.com/blog/2008/05/12/javaone-2008-is-behind-us/</guid>
		<description><![CDATA[	


	
That&#8217;s it, JavaOne 2008 is over! We were on the OW2 booth for three days last week, busy demoing the latest in Orbeon Forms.

	
We got a few good contacts during the conference, which also provided us with the opportunity of knowing the rest of OW2 guys better. Go check out the web site, you will [...]]]></description>
			<content:encoded><![CDATA[	<p>
<img width="236" height="350" align="right" alt="Orbeon at JavaOne" style="margin: 0pt 0pt 1em 2em;" src="http://www.orbeon.com/download/blog/orbeonjavaone.jpg"/>
</p>
	<p>
That&#8217;s it, <a href="http://java.sun.com/javaone/sf/">JavaOne 2008</a> is over! We were on the <a href="http://www.ow2.org/">OW2</a> booth for three days last week, busy demoing the latest in <a href="http://www.orbeon.com/">Orbeon Forms</a>.
</p>
	<p>
We got a few good contacts during the conference, which also provided us with the opportunity of knowing the rest of OW2 guys better. Go check out the web site, you will find some pretty cool software, including <a href="http://www.exoplatform.com/">eXo</a>, <a href="http://www.xwiki.org/">XWiki</a>, <a href="http://www.spagoworld.org/">Spago</a>, and <a href="http://www.ow2.org/">more</a>.
</p>
	<p>
The photo shows our demo station and our brand new poster and brochure, which we will make available online soon.
</p>
<img src="http://feeds.feedburner.com/~r/xml-web-apps/~4/289014941" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRSS>http://www.orbeon.com/blog/2008/05/12/javaone-2008-is-behind-us/feed/</wfw:commentRSS>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=xml-web-apps&amp;itemurl=http%3A%2F%2Fwww.orbeon.com%2Fblog%2F2008%2F05%2F12%2Fjavaone-2008-is-behind-us%2F</feedburner:awareness><feedburner:origLink>http://www.orbeon.com/blog/2008/05/12/javaone-2008-is-behind-us/</feedburner:origLink></item>
		<item>
		<title>Orbeon on Twitter</title>
		<link>http://feeds.feedburner.com/~r/xml-web-apps/~3/281075395/</link>
		<comments>http://www.orbeon.com/blog/2008/04/30/orbeon-on-twitter/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 14:11:14 +0000</pubDate>
		<dc:creator>Erik Bruchez</dc:creator>
		
	<category>News</category>
		<guid isPermaLink="false">http://www.orbeon.com/blog/2008/04/30/orbeon-on-twitter/</guid>
		<description><![CDATA[	


	
Orbeon is now on Twitter, under the username orbeon. We have started providing regular updates about Orbeon Forms there.

	
If you don&#8217;t know what Twitter is, or if you are thinking &#8220;Why would I join another social network?&#8221;, think again: Twitter is different. Maybe this blog entry by Mark McGuinness will help you understand what it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[	<p>
<img width="210" height="49" align="right" src="http://www.orbeon.com/download/blog/twitter.png" style="margin: 0pt 0pt 1em 2em;" alt="Image Upload"/>
</p>
	<p>
Orbeon is <a href="http://twitter.com/orbeon">now on Twitter</a>, under the username <code>orbeon</code>. We have started providing regular updates about Orbeon Forms there.
</p>
	<p>
If you don&#8217;t know what Twitter is, or if you are thinking &#8220;Why would I join another social network?&#8221;, think again: Twitter is different. Maybe <a href="http://www.wishfulthinking.co.uk/blog/2008/03/31/6-reasons-why-i-was-wrong-about-twitter/">this blog entry by Mark McGuinness</a> will help you understand what it&#8217;s about, although the best way to get it is to give it a try!
</p>
	<p>
We are looking forward to seeing you on Twitter!
</p>
<img src="http://feeds.feedburner.com/~r/xml-web-apps/~4/281075395" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRSS>http://www.orbeon.com/blog/2008/04/30/orbeon-on-twitter/feed/</wfw:commentRSS>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=xml-web-apps&amp;itemurl=http%3A%2F%2Fwww.orbeon.com%2Fblog%2F2008%2F04%2F30%2Forbeon-on-twitter%2F</feedburner:awareness><feedburner:origLink>http://www.orbeon.com/blog/2008/04/30/orbeon-on-twitter/</feedburner:origLink></item>
		<item>
		<title>Image display and upload with XForms 1.1</title>
		<link>http://feeds.feedburner.com/~r/xml-web-apps/~3/270151829/</link>
		<comments>http://www.orbeon.com/blog/2008/04/14/image-display-and-upload-with-xforms-11/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 12:02:45 +0000</pubDate>
		<dc:creator>Erik Bruchez</dc:creator>
		
	<category>General</category>
		<guid isPermaLink="false">http://www.orbeon.com/blog/2008/04/14/image-display-and-upload-with-xforms-11/</guid>
		<description><![CDATA[	


	
With XForms 1.0, xforms:output was limited to displaying plain text. With the introduction of XForms 1.1, xforms:output adds powerful capabilities which include handling images, HTML content and more, depending on your XForms implementation.

	
To achieve this, XForms 1.1 introduces a new mediatype attribute. You use it to specify the type of the content to display, using [...]]]></description>
			<content:encoded><![CDATA[	<p>
<img width="294" height="103" align="right" alt="Image Upload" style="margin: 0pt 0pt 1em 2em;" src="http://www.orbeon.com/download/blog/imageupload.png"/>
</p>
	<p>
With <a href="http://www.w3.org/TR/xforms/">XForms 1.0</a>, <code>xforms:output</code> was limited to displaying plain text. With the introduction of <a href="http://www.w3.org/TR/xforms11/">XForms 1.1</a>, <code>xforms:output</code> adds powerful capabilities which include handling images, HTML content and more, depending on your XForms implementation.
</p>
	<p>
To achieve this, XForms 1.1 introduces a new <code>mediatype</code> attribute. You use it to specify the type of the content to display, using the familiar <a href="http://en.wikipedia.org/wiki/Mime_type">Internet media type</a> (or &#8220;MIME type&#8221;) syntax. This includes values such as <code>image/*</code> (any image content) or <code>text/html</code> (HTML content).
</p>
	<p>
<a href="http://www.orbeon.com/">Orbeon Forms</a> already supported the <code>text/html</code> mediatype, so we had to add support for image mediatypes. To achieve this, we made Orbeon Forms a little smarter.
</p>
	<ul>
	<li>
	<p>
Consider that  XForms allows you to refer to images not only as URLs (e.g. <code>http://example.org/my/image.png</code>), but as binary data embedded in an XForms instance. With Orbeon Forms, this data is handled on the server. So somehow, this information has to be brought to the client. In addition, browsers typically do not support providing image content as binary (although with some clients this is possible with the <a href="http://en.wikipedia.org/wiki/Data:_URI_scheme">data: URI scheme</a>)
</p>
	</li>
	<li>
	<p>
Even when using URLs, consider the following scenario: an image resides on your client computer, you upload it to the server through <code>xforms:upload</code>, at which point the image is available, in your XForms instance, as a temporary server-side URL. Now bind an <code>xforms:output</code> to that image URL: clearly, your browser cannot access that URL directly since it is server-side and therefore private.
</p>
	</li>
	</ul>
	<p>
Orbeon Forms solves these problems by creating proxy URLs for dynamically produced image content. Concretely, you see in the resulting HTML page paths of the form <code>/xforms-server/dynamic/7FF0AD061DD9BAD27BCA1FF4674C75D6</code>. Orbeon Forms takes care of handling these URLs as needed: you don&#8217;t need to worry a bit about this.
</p>
	<p>
That was for the &#8220;smart&#8221; bit, so how does it look in the end to you, the form author? It&#8217;s as simple as this:
</p>
	<pre class="orbeon-code">
&lt;xforms:upload ref=&quot;my-image&quot;>
  &lt;xforms:label>Logo&lt;/xforms:label>
  &lt;xforms:hint>Please upload an image&lt;/xforms:hint>
&lt;/xforms:upload>
&lt;xforms:output mediatype=&quot;image/*&quot; ref=&quot;my-image&quot;/>
</pre>
	<p>
Yes that&#8217;s right: the few lines above handle uploading an image, attaching it to your data, and displaying the uploaded image to the user. Beat that.
</p>
<img src="http://feeds.feedburner.com/~r/xml-web-apps/~4/270151829" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRSS>http://www.orbeon.com/blog/2008/04/14/image-display-and-upload-with-xforms-11/feed/</wfw:commentRSS>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=xml-web-apps&amp;itemurl=http%3A%2F%2Fwww.orbeon.com%2Fblog%2F2008%2F04%2F14%2Fimage-display-and-upload-with-xforms-11%2F</feedburner:awareness><feedburner:origLink>http://www.orbeon.com/blog/2008/04/14/image-display-and-upload-with-xforms-11/</feedburner:origLink></item>
		<item>
		<title>Orbeon at JavaOne 2008</title>
		<link>http://feeds.feedburner.com/~r/xml-web-apps/~3/262898740/</link>
		<comments>http://www.orbeon.com/blog/2008/04/02/orbeon-at-javaone-2008/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 16:47:51 +0000</pubDate>
		<dc:creator>Erik Bruchez</dc:creator>
		
	<category>General</category>
	<category>News</category>
		<guid isPermaLink="false">http://www.orbeon.com/blog/2008/04/02/orbeon-at-javaone-2008/</guid>
		<description><![CDATA[	


	
We are glad to announce that we will be present at JavaOne 2008 on the OW2 Consortium stand. This year, JavaOne will take place May 6-9.

	
We have some great Orbeon Forms demos in the works so be sure to stop by!

]]></description>
			<content:encoded><![CDATA[	<p>
<img width="266" height="113" align="right" alt="JavaOne 2008" style="margin: 0pt 0pt 1em 2em;" src="http://www.orbeon.com/download/blog/javaone.png"/>
</p>
	<p>
We are glad to announce that we will be present at <a href="http://java.sun.com/javaone/sf/">JavaOne 2008</a> on the <a href="http://www.ow2.org/">OW2 Consortium</a> stand. This year, JavaOne will take place May 6-9.
</p>
	<p>
We have some great <a href="http://www.orbeon.com/">Orbeon Forms</a> demos in the works so be sure to stop by!
</p>
<img src="http://feeds.feedburner.com/~r/xml-web-apps/~4/262898740" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRSS>http://www.orbeon.com/blog/2008/04/02/orbeon-at-javaone-2008/feed/</wfw:commentRSS>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=xml-web-apps&amp;itemurl=http%3A%2F%2Fwww.orbeon.com%2Fblog%2F2008%2F04%2F02%2Forbeon-at-javaone-2008%2F</feedburner:awareness><feedburner:origLink>http://www.orbeon.com/blog/2008/04/02/orbeon-at-javaone-2008/</feedburner:origLink></item>
		<item>
		<title>A load of Orbeon Forms enhancements</title>
		<link>http://feeds.feedburner.com/~r/xml-web-apps/~3/253153958/</link>
		<comments>http://www.orbeon.com/blog/2008/03/17/a-load-of-orbeon-forms-enhancements/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 16:22:45 +0000</pubDate>
		<dc:creator>Erik Bruchez</dc:creator>
		
	<category>General</category>
		<guid isPermaLink="false">http://www.orbeon.com/blog/2008/03/17/a-load-of-orbeon-forms-enhancements/</guid>
		<description><![CDATA[	Wow, it&#8217;s been a month since our last post in this blog, and one of the reasons for this is that we have been very busy enhancing Orbeon Forms! Here is a quick list of the most notable additions:
	
	
	
XPath variables. XPath variables can be used within controls, models and actions, with the xxforms:variable (or exforms:variable) [...]]]></description>
			<content:encoded><![CDATA[	<p>Wow, it&#8217;s been a month since our last post in this blog, and one of the reasons for this is that we have been very busy enhancing <a href="http://www.orbeon.com/">Orbeon Forms</a>! Here is a quick list of the most notable additions:</p>
	<ul>
	<li>
	<p>
<b>XPath variables.</b> <a href="http://www.orbeon.com/ops/doc/reference-xforms-2#variables">XPath variables</a> can be used within controls, models and actions, with the <code>xxforms:variable</code> (or <code>exforms:variable</code>) element. Variables are extremely useful, for example to avoid repeating long XPath expressions, or to give an XPath expression unambiguous access to data computed in enclosing <code>xforms:group</code> or <code>xforms:repeat</code> elements. If you are familiar with XSLT variables, you will feel right at home. And once you start using them, you won&#8217;t be able to go back!
</p>
	</li>
	<li>
	<p>
<b>XML Schema validation improvements.</b> Inline XML Schema support is now implemented. This allows you to embed XML Schema directly within the <code>xforms:model</code> element. This is particularly useful when you create a new schema which is just used within an XForms document, or to define a series of simple types used for validation. We have also added support for the <code>xsi:type</code> attribute in XForms instances. This is a convenient shortcut which allows you to avoid using binds just to specify types.
</p>
	</li>
	<li>
	<p>
<b>Attribute Value Templates (AVTs) on XHTML elements.</b> In Orbeon Forms, AVTs were already supported <a href="http://www.orbeon.com/ops/doc/reference-xforms-2#avts-xforms">on some XForms elements</a>, but you can now use <a href="http://www.orbeon.com/ops/doc/reference-xforms-2#avts-xhtml">AVTs on XHTML elements</a> as well. This allows you to use XForms to influence aspects of XHTML such as <code>class</code>, <code>style</code> or <code>colspan</code> attributes, and all this without script.
</p>
	</li>
	<li>
	<p>
<b>Action context enhancements.</b> We added the <a href="http://www.orbeon.com/ops/doc/reference-xforms-2#exforms-iterate"><code>exforms:iterate</code></a> attribute, XForms 1.1 <code>context()</code> function, and a <a href="http://www.orbeon.com/ops/doc/reference-xforms-2#context-attribute">generalized <code>context</code> attribute</a> on XForms elements (which may appear in XForms 1.2).
</p>
	</li>
	<li>
	<p>
<b>Events enhancements.</b> We now have full support for <a href="http://www.orbeon.com/ops/doc/reference-xforms-ng#events-observer-target"><code>ev:observer</code> and <code>ev:target</code> attributes</a> on action handlers. We also added support for <a href="http://www.orbeon.com/ops/doc/reference-xforms-2#events-multiple">lists of event names, observers, and targets</a> (an extension which we hope will be available in <a href="http://www.w3.org/TR/2007/WD-xml-events-20070216/">XML Events 2</a>, currently in Working Draft at W3C). Finally, you can now pass context information to custom events with the extension <a href="http://www.orbeon.com/ops/doc/reference-xforms-2#dispatch-context"><code>xxforms:contex</code></a> child element of actions such as <code>xforms:dispatch</code> or <code>xforms:event</code>.
</p>
	</li>
	<li>
	<p>
<b>Image handling.</b> <a href="http://www.orbeon.com/ops/doc/reference-xforms-2#xforms-image-mediatype"><code>xforms:output</code> supports displaying images</a> when used with <code>xs:anyURI</code> or <code>xs:base64Binary</code> datatypes and an image mediatype, as per XForms 1.1. It has never been easier to upload and display images from XForms!
</p>
	</li>
	<li>
	<p>
<b>XPath extension functions.</b> We <a href="http://www.orbeon.com/ops/doc/reference-xforms-2#ops-extensions">added XPath functions</a> to access headers and request parameters directly from XForms (<code>xxforms:get-request-parameter()</code> and <code>xxforms:get-request-header()</code>), as well as extension functions to create elements and attributes by name (<code>xxforms:element()</code> and <code>xxforms:attribute()</code>).
</p>
	</li>
	<li>
	<p>
<b>Submissions.</b> Submissions allow <a href="http://www.orbeon.com/ops/doc/reference-xforms-2#submission-binary">PUT and POST of binary content</a> directly from XForms. This makes it very easy to upload a binary file using <code>xforms:upload</code> and then send it out to a service through <code>xforms:submission</code>.
</p>
	</li>
	</ul>
	<p>For more information, check the <a href="http://www.orbeon.com/ops/doc/home-changes-37">temporary list of changes</a> for the upcoming Orbeon Forms 3.7! We already have over one hundred enhancements implemented since version 3.6.
</p>
<img src="http://feeds.feedburner.com/~r/xml-web-apps/~4/253153958" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRSS>http://www.orbeon.com/blog/2008/03/17/a-load-of-orbeon-forms-enhancements/feed/</wfw:commentRSS>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=xml-web-apps&amp;itemurl=http%3A%2F%2Fwww.orbeon.com%2Fblog%2F2008%2F03%2F17%2Fa-load-of-orbeon-forms-enhancements%2F</feedburner:awareness><feedburner:origLink>http://www.orbeon.com/blog/2008/03/17/a-load-of-orbeon-forms-enhancements/</feedburner:origLink></item>
		<item>
		<title>More powerful XForms actions thanks to iterations</title>
		<link>http://feeds.feedburner.com/~r/xml-web-apps/~3/234708637/</link>
		<comments>http://www.orbeon.com/blog/2008/02/13/more-powerful-xforms-actions-thanks-to-iterations/#comments</comments>
		<pubDate>Wed, 13 Feb 2008 12:14:08 +0000</pubDate>
		<dc:creator>Erik Bruchez</dc:creator>
		
	<category>General</category>
		<guid isPermaLink="false">http://www.orbeon.com/blog/2008/02/13/more-powerful-xforms-actions-thanks-to-iterations/</guid>
		<description><![CDATA[	


	
XForms 1.1&#8217;s small number of actions are surprisingly powerful. By combining them, you can do almost any operation you can think of within an XForms page. Yeah, XForms is Turing complete.

	
There are however a few use cases that remain difficult to achieve. For example, you can easily repeat an action while a condition is satisfied [...]]]></description>
			<content:encoded><![CDATA[	<p>
<img width="240" height="190" align="right" src="http://www.orbeon.com/download/blog/rotor.png" style="margin: 0pt 0pt 1em 2em;" alt="Rotor"/>
</p>
	<p>
XForms 1.1&#8217;s small number of <a href="http://www.w3.org/TR/xforms11/#action">actions</a> are surprisingly powerful. By combining them, you can do almost any operation you can think of within an XForms page. Yeah, XForms is <a href="http://en.wikipedia.org/wiki/Turing-complete">Turing complete</a>.
</p>
	<p>
There are however a few use cases that remain difficult to achieve. For example, you can easily repeat an action <em>while</em> a condition is satisfied with the <code>while</code> attribute. However, you cannot yet directly <em>iterate</em> over a sequence of node and perform a group of actions for each iteration. As the <a href="http://www.w3.org/MarkUp/Forms/">XForms Working Group</a> is working on fixing this, we have implemented in <a href="http://www.orbeon.com/">Orbeon Forms</a> the <code>exforms:iterate</code> attribute (also available as <code>xxforms:iterate</code> attribute) on XForms action elements. This attribute was first proposed as part of the <a href="http://www.exforms.org/conditionals.html">eXforms extensions</a>.
</p>
	<p>
So how does it work? Consider the following three XForms instances:
</p>
	<pre class="orbeon-code">
    &lt;xforms:instance id=&quot;main-instance&quot;>
        &lt;instance/>
    &lt;/xforms:instance>
	
    &lt;xforms:instance id=&quot;source-instance&quot;>
        &lt;instance>
            &lt;title>Don Quixote de la Mancha&lt;/title>
            &lt;author>Miguel de Cervantes Saavedra&lt;/author>
            &lt;title>Jacques le fataliste et son maître&lt;/title>
            &lt;author>Denis Diderot&lt;/author>
            &lt;title>Childhood's End&lt;/title>
            &lt;author>Arthur C. Clarke&lt;/author>
        &lt;/instance>
    &lt;/xforms:instance>
	
    &lt;xforms:instance id=&quot;template-instance&quot;>
        &lt;book>
            &lt;title />
            &lt;author />
        &lt;/book>
    &lt;/xforms:instance>
</pre>
	<p>
The goal is to take data from <code>source-instance</code>, and copy it over to <code>main-instance</code> but formatted differently. Here is a way to do it:
</p>
	<pre class="orbeon-code">
    &lt;xforms:action xxforms:iterate=&quot;instance('source-instance')/title&quot;>
        &lt;xforms:insert context=&quot;instance('main-instance')&quot; nodeset=&quot;book&quot; origin=&quot;instance('template-instance')&quot;/>
        &lt;xforms:setvalue ref=&quot;instance('main-instance')/book[last()]/title&quot; value=&quot;context()&quot;/>
        &lt;xforms:setvalue ref=&quot;instance('main-instance')/book[last()]/author&quot; value=&quot;context()/following-sibling::author&quot;/>
    &lt;/xforms:action>
</pre>
	<p>
The outermost action iterates over the <code>&lt;title></code> elements of <code>source-instance</code>. For each of those, a new <code>&lt;book></code> element, copied from the template stored in <code>template-instance</code>, is inserted into <code>main-instance</code>. Then values from the <code>&lt;title></code> and <code>&lt;author></code> elements are copied over to the new structure. The XForms 1.1 <code>context()</code> function, also recently implemented in Orbeon Forms, provides access to each of the iterated nodes. The resulting <code>main-instance</code> is as follows:
</p>
	<pre class="orbeon-code">
    &lt;instance>
        &lt;book>
            &lt;title>Don Quixote de la Mancha&lt;/title>
            &lt;author>Miguel de Cervantes Saavedra&lt;/author>
        &lt;/book>
        &lt;book>
            &lt;title>Jacques le fataliste et son maître&lt;/title>
            &lt;author>Denis Diderot&lt;/author>
        &lt;/book>
        &lt;book>
            &lt;title>Childhood's End&lt;/title>
            &lt;author>Arthur C. Clarke&lt;/author>
        &lt;/book>
    &lt;/instance>
</pre>
	<p>
It looks easy this way, doesn&#8217;t it?
</p>
<img src="http://feeds.feedburner.com/~r/xml-web-apps/~4/234708637" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRSS>http://www.orbeon.com/blog/2008/02/13/more-powerful-xforms-actions-thanks-to-iterations/feed/</wfw:commentRSS>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=xml-web-apps&amp;itemurl=http%3A%2F%2Fwww.orbeon.com%2Fblog%2F2008%2F02%2F13%2Fmore-powerful-xforms-actions-thanks-to-iterations%2F</feedburner:awareness><feedburner:origLink>http://www.orbeon.com/blog/2008/02/13/more-powerful-xforms-actions-thanks-to-iterations/</feedburner:origLink></item>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetFeedData?uri=xml-web-apps</feedburner:awareness></channel>
</rss>
