blob: 8b625becc5ea91357f840cf1845ad4def84b378a [file] [log] [blame]
<?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.
-->
<document>
<properties>
<title>VelocityTools Project</title>
<author email="geirm@apache.org">Geir Magnusson Jr.</author>
<author email="sidler@apache.org">Gabriel Sidler</author>
<projectfile>xdocs/menu.xml</projectfile>
</properties>
<body>
<section name="Overview">
<p>
VelocityTools is a collection of Velocity subprojects with a common goal
of creating tools and infrastructure for building both web and non-web
applications using the Velocity template engine.
</p>
<subsection name="GenericTools" >
<p><a href="generic/">GenericTools</a> is a group of reuseable and
documented tools that can be added to a Velocity context. A
<b>tool</b> is simply a class which can perform various tasks when
made available to the Velocity engine. Most tools are optimized for use
with an automatically managed toolbox (see VelocityViewServlet).</p>
<br clear="all" />
</subsection>
<subsection name="VelocityView" >
<p><a href="view/">VelocityView</a>
contains a standalone servlet (VelocityViewServlet) which can render
templates for web applications. </p>
<p> Also included is a Toolbox Manager which can automatically make
&quot;view tools&quot; and data available to the templates. Any class
with public methods can be used as a tool in the template.
</p>
<p>
<a href="view/layoutservlet.html">VelocityLayoutServlet</a> is an
extension of the basic VelocityViewServlet that can render screen
content into common layout templates.</p>
<br clear="all" />
</subsection>
<subsection name="VelocityStruts" >
<p><a href="struts/">VelocityStruts</a> is a set of tools for using the
Velocity template engine as the view layer for a web application built upon the
<a href="http://struts.apache.org/">Apache Struts</a> framework.</p>
<p>This work leverages the <strong>VelocityViewServlet</strong> and
additional tools which make it easy to integrate the Velocity with
Struts. Several example hybrid applications are included.</p>
<br clear="all" />
</subsection>
<subsection name="Example Applications">
<p>Several example applications are currently available, including
one to demonstrate the use of Velocity as a view technology for Struts.
The example utilizes both Velocity and JSP files for the view in parallel
so that they can be compared easily. Also, resources bundle usage for
language localization is demonstrated there. Other examples include a demonstration
of the use of the VelocityLayoutServlet and a minimal "simple" application.</p>
<br clear="all" />
</subsection>
<subsection name="Documentation">
<p>
Emphasis <s>is</s> was being put on providing tool documentation that
is suitable for template designers. To achive this goal, a documentation
format has been defined that captures all information relevant to the
template designer. It is being supplied in addition to the customary
Javadoc. This should help to achieve what we always claim for Velocity:
"Decouple the work of template designers from the work of software
developers". Look at the Struts
<a href="struts/MessageTool.html">MessageTool</a>
for a good example of the new documentation format.
</p>
<p>
<b>Update:</b>
While we value the look and readability of this format, we are presently
drifting away from the use of it. The primary reason for this is that the
developers have found it difficult to maintain (i.e. no one
has been motivated enough to put in the extra work). If you feel this
documentation format is valuable and wish to help us create and maintain
it for the various individual tools, please see
<a href="#Wanna help?">below</a>
for more details on getting involved. Meanwhile, we'll be putting effort
into improving javadoc for individual tools and overview documents for
the sub-projects.
</p>
</subsection>
<br clear="all"/>
</section>
<section name="Download">
<p><strong>Releases</strong></p>
<p>
The latest versions are available for
<a href="http://velocity.apache.org/download.cgi#tools">download</a>
in source or binary form.
</p>
<br clear="all"/>
</section>
<section name="Subversion Repository">
<p>All VelocityTools project code is maintained in the
Subversion repository <a href="http://svn.apache.org/repos/asf/velocity/tools/">
http://svn.apache.org/repos/asf/velocity/tools/</a>.</p>
<p>Web Browser: <a href="http://svn.apache.org/viewcvs.cgi/velocity/tools/trunk/">
http://svn.apache.org/viewcvs.cgi/velocity/tools/trunk/</a></p>
<p>Subversion Client: <a href="http://www.apache.org/dev/version-control.html">http://www.apache.org/dev/version-control.html</a>.
</p>
<br clear="all"/>
</section>
<section name="Wanna help?">
<p>We encourage interested developers to evaluate the project
and send feedback to the velocity-user or velocity-dev mailing list.</p>
<p>Those interested in furthering the development of this project are
especially welcome to jump in and help out. Patches can be sent to the
mailing list or attached to a
<a href="http://issues.apache.org/jira/browse/VELTOOLS">JIRA</a>
issue. The <a href="http://wiki.apache.org/velocity/VelocityTools">Wiki</a>
can also be a good place to discuss and develop ideas.</p>
<p>A few good places to get started include:
<ul>
<li>Documentation (patches for the site or additions to the Wiki)</li>
<li>Improving the example apps</li>
<li>Contributing to the <a href="http://wiki.apache.org/elocity/VelocimacroLibrary">VelocimacroLibrary</a></li>
</ul>
Other project goals and proposals can be found in the project
<a href="http://svn.apache.org/viewcvs.cgi/velocity/tools/trunk/STATUS?view=markup">STATUS</a>
file.</p>
</section>
</body>
</document>