Velocity is a Java-based template engine. It permits anyone to use the simple yet powerful template language to reference objects defined in Java code. When Velocity is used for Web development, Web designers can work in parallel with Java programmers to develop Web sites according to the Model-View-Controller (MVC) model, meaning that Web page designers can focus solely on creating a site that looks good, and programmers can focus solely on writing top-notch code. Velocity separates Java code from the Web pages, making the web site more maintainable over the long run and providing a viable alternative to Java Server Pages (JSPs) or PHP. Velocity also provides template services for the Turbine Web application framework, making a template service that allows Web applications to be developed according to a true MVC model.
The Turbine Development Kit (TDK) is a package that bundles a copy of Turbine, Tomcat, jar files, documentation, and other utilities in order to help you get started with Turbine as quickly as possible. Everything is pre-configured and ready to go. To get started, simply follow the instructions in the TDK download.
Scarab is an Issue Tracking System that features data entry, queries, reports, notifications to interested parties, collaborative accumulation of comments, dependency tracking, and collaborative prioritization (voting). It uses Java Servlet technology to enhance speed, scalability, maintainability, and ease of installation. It contains XML import/export support, allowing easy migration from other systems (like Bugzilla). The modular code design eases the modification of features. It is fully customizable via a set of administrative Web pages. The look and feel of the UI can easily be modified, and Scarab can easily be integrated into larger systems.
SubEtha is a sophisticated mailing list manager, similar in many respects to the popular Mailman package but far more feature-rich. SubEtha offers easy installation on Windows and Unix platforms, a user-friendly Web interface, searchable, threaded archives, virtual domains, support for users with multiple email addresses, intelligent attachment handling, configurable message processing filters, per-list role-based permissions, and more.
SubEthaSMTP is an easy to understand Java library that provides a receptive SMTP server component. By plugging this component into your Java application, you can easily receive SMTP mail using a simple abstract Java interface. Also included is a small sub-project called Wiser, an easy to use incoming mail testing framework.
Sardine is a next generation WebDAV client for Java. It is intended to be simple to use and does not implement the full WebDAV client spec. Instead, the goal is to provide methods for most use case scenarios when working with a WebDAV server. The code needs to run as fast as possible and use the latest released Apache HttpComponents.
jmxtrans is effectively the missing connector between JMX and whatever logging or graphing package that you can dream up. jmxtrans is very powerful tool that reads JSON configuration files specifying servers/ports and JMX domains/attributes and then outputs the data in whatever format you want via special "Writer" objects that you can code up yourself. It does this with a very efficient engine design that will scale to querying literally thousands of machines. The core engine is pretty solid and writers are included for cacti/rrdtool, graphite, and stdout.
Re: Ownership change?
I just added you as an Owner. =)
> Hey Jon, would you be willing to cede
> ownership of the Velocity project's
> presence here at freshmeat so we can
> update it?
Re: why not xslt instead
This isn't really the correct forum for this discussion (the
velocity-user mailing list is), but here are some
thoughts that I have on your question:
In this usecase, I can think of one major advantage of
Velocity over XSLT. In XSLT, the input format MUST be in
a format that can be parsed by a XML parser (ie: XML,
XHTML, etc). With Velocity, there is no need for the
input to be parsed by an XML parser (it is parsed by
the Velocity parser which is based on JavaCC and can
parse both text AND binary files!). For example, one
can use Velocity to output dynamically generated Java
.java code (the Jakarta-Turbine-Torque project does
this). Try doing that in XSLT.
Another advantage of Velocity over XSLT is speed.
Velocity is significantly faster than XSLT.
Velocity is small and compact (304k jar + 70k for logkit
logging jar) and does not require a lot of memory. XSLT
requires both the xerces parser (a 1.7+meg .jar file) as
well as the xalan engine (700k+).
Lastly, Velocity is *easy*. XSLT takes a degree in
software engineering to figure out :-). Velocity can be
learned in a matter of minutes by anyone. The reason
why there is so much reference material for XSLT is
because it is so overly complex and difficult to learn,
people need it. If you review the Velocity website, you
will see that it is well documented with both an up-to-
date userguide and developers guide.
I hope that answers your questions.
> I do not understand the advantage of
> velocity over xslt.
> Why should I learn yet another
> programming language
> (vtl) rather than using xsl which has
> more reference
> material and seems to be more