blob: f4009cb1df4f4e9bd510405346de0dea18642c04 [file] [log] [blame]
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
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.
-->
<page>
<content>
<p>
The bean editor application uses Cocoon Forms, Pipelines and
Flow to edit a simple data structure modeled by Java objects.
</p>
<p>
As such, it is a good example of how a Cocoon front-end can be used to manipulate business
objects implemented in Java.
</p>
<p>
You will notice that the Java objects have nothing to do with Cocoon in our case. They are
completely independent of any Cocoon libraries. This is one of the options for implementing
the business layer of your application, useful when you have legacy business layer code to
integrate.
</p>
<p>
Our Java beans are trivial and uninteresting: what we're looking for is an understanding of
how Cocoon Pipelines, Forms and Flow play together with Java code, and for this a very simple
application is certainly good.
</p>
<p>
After studying this application, you will see that very little code had to be written to
implement an already capable system. As is often the case with a modular system like Cocoon,
the hard part is not having to write a lot of code, but rather finding where to write the
small amounts of code that are needed.
</p>
<h2>Use cases</h2>
<p>
To keep it simple and focused, this application does just three things:
<ol>
<li>Display a list of <em>tasks</em>, units of work assigned to somebody and containing dated comments</li>
<li>Display a single <em>task</em> with its comments</li>
<li>Edit a single <em>task</em>, allowing comments to be added and removed</li>
</ol>
New tasks cannot be created, and tasks cannot be deleted.
</p>
<p>
The application is obviously incomplete, but shows many interesting features of the Cocoon Forms,
and their interplay with the Cocoon components that we already know.
</p>
<h2>Running the application</h2>
<p>
To run the bean editor application, Cocoon must be able to load the required Java classes.
</p>
<p>
If you're running this tutorial from the standard Cocoon distribution this should be
taken care of already, as the required classes are copied into the <em>webapp/WEB-INF/lib</em>
directory automatically during the build.
</p>
<p>
When you start using your own Java classes with Cocoon, you'll have to take care of this yourself,
usually by making sure the required jar files are copied in the right place.
</p>
<p>
For now, you can start the application from
<a href="../">this link</a>.
</p>
</content>
</page>