<?xml version="1.0" encoding="ISO-8859-1"?><!--
  Copyright 1999-2004 The Apache Software Foundation

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
--><!--
  @version $Id: welcome.xml 385820 2006-03-14 15:57:17Z sylvain $
--><samples xmlns:xlink="http://www.w3.org/1999/xlink" name="CForms Block Samples">
 <group name="Back">
  <sample name="Back" href="../..">to Cocoon Samples main page</sample>
  <sample name="Back" href="..">to Cocoon Blocks Samples main page</sample>
  <note>
    Cocoon Forms is the upcoming forms framework for Cocoon.
    Although it is marked as unstable it is the *only* supported solution - all
    other similar approaches will be deprecated soon.
    Of course, your feedback is very much welcome on the Cocoon mailing lists.
  </note>
  <sample name="Cocoon Forms Documentation" href="http://cocoon.apache.org/2.1/userdocs/basics/index.html">
    Documentation is available on the Cocoon site.
  </sample>
  <note>
     Samples with the (Ajax) mark use the new transparent Ajax (Asynchronous Javascript And XML) framework
     to reduce client/server roundtrips and perform partial page updates.
  </note>
 </group>

 <group name="Basic Samples">
  <sample name="Various (Actions)" href="form1">This sample shows validation, event handling and various Cocoon Forms features.</sample>
  <sample name="Various (Flowscript)" href="form1.flow">The same sample as above using Flowscript.</sample>
  <sample name="Registration" href="registration">A simple registration form.</sample>
  <sample name="Car selector" href="carselector">(Ajax) Illustrates programmatically changing selectionlists.</sample>
  <!-- XHR Car selector removed: broken and superceded by Ajax version -->
<!--
  <sample name="XHR Car selector" href="xhr_carselector">Same sample, with the historical first use of XmlHttpRequest to reduce client/server roundtrips.</sample>
-->
  <sample name="Country selector" href="countryselector">Illustrates programmatically changing flow-jxpath selectionlists.</sample>
  <sample name="Upload" href="upload">Shows an upload widget used with Flowscript</sample>
  <sample name="Form Model GUI" href="form_model_gui.flow">Illustrates the use of Class, New, Struct, and Union.</sample>
  <sample name="HTMLArea" href="htmlarea">A simple form using the HTML editor widget.</sample>
  <sample name="Aggregate" href="aggregate/example">Aggregate field examples</sample>
  <sample name="Multipage wizard" href="do-multipage.flow">(Ajax) A multipage wizard, using widget states and actions to move between pages.</sample>
  <sample name="CAPTCHA validation" href="captcha/">CAPTCHA validation (requires <a href="/samples/blocks/batik/">Batik block</a>)</sample>
  <sample name="ImageMap" href="imagemap">A simple form using the Image Map widget</sample>
 </group>

 <group name="Binding Samples">
  <note>
    Cocoon Forms has a binding framework which assists in copying Java-bean or XML (DOM) data into a form and back.
  </note>
  <sample name="XML Binding" href="form2xml.flow">A form for just editing an XML file.</sample>
  <sample name="Simple XML Binding" href="form2simpleXML.flow">A form for just editing XML data. Illustrates the XMLAdapter.</sample>
  <sample name="Bean Binding" href="form2bean.flow">A form for just editing a Java bean</sample>
  <note>
  	Step-by-step tutorial into individual binding features:
  </note>
  <sample name="1. Binding Simple Values" href="binding-01value.flow">fb:*/@direction and fb:value/*</sample>
  <sample name="2. Lenient Binding" href="binding-02lenient.flow">fb:*/@lenient</sample>
  <sample name="3. Aggregate Binding" href="binding-03aggregate.flow">fb:aggregate</sample>
  <sample name="4. Heavy Form" href="binding-04heavy-XML.flow">Form with lots of select boxes - test memory utilization, performance</sample>
  <sample name="5. Custom Bindings using Java or Javascript" href="binding-05custom.flow">fb:javascript and fb:custom</sample>
  <sample name="6. XML binding using namespaces" href="binding-06namespaced-XML.flow">Using XML binding with complex namespaced XML</sample>
  <!-- TODO: provide more tutorial samples like these:
  <sample name="6. MultiValue/Repeater Binding" href="binding-03multi.flow">fb:multi-value</sample>
  <sample name="7. Repeater Binding" href="binding-06repeater.flow">fb:repeater</sample>
  -->
 </group>

 <group name="Database access">
   <sample name="Easy SQL database access" href="sql/">
     SQL database query and update without any custom Java code, O/R mapping tool nor form binding.
     Uses flowscript, Map and List views on the forms and the database (using <a href="http://jdbi.codehaus.org">JDBI</a>).
   </sample>
 </group>

 <group name="Locales">
  <note>
    The samples below are the same as the basic flowscript sample but now use different locales.
    The locale can affect things like date and number formatting.
    You can try out other locales by supplying other values for the locale parameter in the URL.
  </note>
  <sample name="Flowscript" href="form1.flow?locale=fr-FR">France</sample>
  <sample name="Flowscript" href="form1.flow?locale=it-IT">Italy</sample>
  <sample name="Flowscript" href="form1.flow?locale=de-DE">Germany</sample>
  <sample name="Flowscript" href="form1.flow?locale=nl-BE">Belgium (dutch)</sample>
  <sample name="Flowscript" href="form1.flow?locale=el">Greek</sample>
  <sample name="Flowscript" href="form1.flow?locale=zh_CN">Chinese</sample>
 </group>
 
 <group name="Dynamic templates and recursive forms">
   <note>
     These samples were written for the GT2004 presentation about dynamic templates and recursive forms.
     They illustrate the use of "jx-macros.xml" to interpret form template elements within the generator,
     allowing the page layout to depend on the contents of the form, and the use of fd:union and fd:class
     widgets.
   </note>
   <sample name="Dynamic repeater template" href="do-dynaRepeater.flow">
     (Ajax) Shows a simple repeater, which isn't displayed at all if empty, and whose row action depend on
     the row number.
   </sample>
   <sample name="Datasource chooser" href="do-datasourceChooser.flow">
     (Ajax) A datasource chooser, illustrating the fd:union widget.
   </sample>
   <sample name="Task tree" href="do-taskTree.flow">
     (Ajax) A project work breakdown into a hierarchy of tasks, showing the use of the fd:class and fd:new
     widgets.
   </sample>
 </group>
 
 <group name="Tree widget samples">
   <sample name="File explorer" href="do-fileExplorer.flow">
     (Ajax) A file explorer built with two tree widgets.
   </sample>
   <sample name="Sample tree" href="do-sampleTree.flow">
     (Ajax) Scratchpad for random samples of the Tree widgets.
   </sample>
 </group>
 
 <group name="Advanced Ajax samples using Dojo widgets">
   <sample name="Drag and drop reordering, in-place editing" href="do-dojoRepeater.flow">
	 (Ajax) The dynamic repeater sample revisited, featuring drag and drop reordering of rows,
	 selecting rows by clicking anywhere in the row, and in-place editing of values.
   </sample>
   <sample name="Cocoon suggests" href="do-suggest.flow">
     (Ajax) Very simple demo of the &lt;fd:suggestion-list&gt; feature.
   </sample>
   <sample name="In place editing" href="do-inplace.flow">
	 (Ajax) Various ways to use in place editing.
   </sample>
   <sample name="Other Ajax samples" href="../ajax/">
	 (Ajax) Don't forget to look at the samples in the Ajax block!
   </sample>
 </group>
 
 <group name="Dynamic repeater template and event handling">
    <sample name="Dynamic repeater template" href="dreamteam">
      <b>Currently broken!</b> Create your Euro 2004 soccer dream team
    </sample>
 </group>

  <group name="Profiling information">
    <note>
      These samples concentrate on Cocoon Forms and JXTemplate in order to collect profiling information.
      In order to keep the samples as lean as possible, an action is used as controller.
    </note>
    <sample name="form1 - JXTemplate" href="form1-jx-macro">Render form using JXTemplate macros</sample>
    <sample name="form1 - FormsTransformer" href="form1-cforms-transformer">Render form using the FormsTransformer</sample>    
  </group> 
 
<!--
 <group name="Pre-alpha Cocoon Forms-based xml editor">
  <note>
    This demonstrates the potential to have a Cocoon Forms-based gui for creating Cocoon apps.
  </note>
  <sample name="Swan" href="swan/">Start page</sample>
 </group>
-->
  <group name="Forms Library samples">
    <note>
      This demonstrates the new library subsystem of Cocoon Forms. This is currently under development and is likely to change.
    </note>
    <sample name="Basic Sample" href="library/form1.flow">Basic Sample</sample>
    <sample name="Basic Sample 2" href="library/form2.flow">Basic Sample 2 (depends on the same library as above, see how it still changes after editing the library and reloading the first)</sample>
    <sample name="Hotel Booking Sample" href="library/hotel.flow">Hotel Booking Sample, elaborate use of libraries.</sample>
  </group>

</samples>