| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You 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$ |
| --> |
| <samples name="CForms Block Samples" xmlns:xlink="http://www.w3.org/1999/xlink"> |
| <group name="Back"> |
| <sample name="Back" href="../..">to Cocoon Samples main page</sample> |
| <sample name="Back" href="..">to Cocoon Blocks Samples main page</sample> |
| <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> |
| <sample name="Calculated fields" href="do-calculatedfields.flow">Calculated fields : values are calculated automatically</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="Multi drag and drop reordering" href="do-dojoRepeaters.flow"> |
| (Ajax) The dynamic repeater sample revisited again, this time featuring drag and drop reordering of rows, |
| with the ability to drag and drop from one repeater to another. |
| </sample> |
| <sample name="Cocoon suggests" href="do-suggest.flow"> |
| (Ajax) Very simple demo of the <fd:suggestion-list> feature. |
| </sample> |
| <sample name="Cocoon multivalue editor with suggestions" href="do-multivalueWithSuggestion.flow"> |
| (Ajax) Very simple demo of the <fd:multivaluefield> with suggestion support feature. |
| </sample> |
| <sample name="Cocoon double-list multivalue widget" href="do-multiValueDoubleList.flow"> |
| (Ajax) Demo of the double list <fd:multivaluefield>. |
| </sample> |
| <sample name="In place editing" href="do-inplace.flow"> |
| (Ajax) Various ways to use in place editing. |
| </sample> |
| <sample name="Upload Progress" href="uploadprogress">Shows upload widgets in a repeater with a progress bar</sample> |
| <sample name="Other Ajax samples" href="../ajax/"> |
| (Ajax) Don't forget to look at the samples in the Ajax block! |
| </sample> |
| <sample name="States Switch on AJAX form" href="do-widgetstates.flow"> |
| (Ajax) Demostrate how it works the change of the widget state on a ajax request |
| </sample> |
| </group> |
| |
| <group name="Dynamic repeater template and event handling"> |
| <sample name="Dynamic repeater template" href="dreamteam"> |
| 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> |
| |
| <group name="Repeater advanced features"> |
| <note> |
| This demonstrates the Google Summer of Code 2006 improvements to the repeater. |
| </note> |
| <sample name="Pagination, sorting and filtering" href="pagination/paginated.do">Pagination, sorting and filtering.</sample> |
| </group> |
| |
| </samples> |