Added: velocity/site/cms/trunk/content/engine/2.1/getting-started.mdtext URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/getting-started.mdtext?rev=1854714&view=auto ============================================================================== --- velocity/site/cms/trunk/content/engine/2.1/getting-started.mdtext (added) +++ velocity/site/cms/trunk/content/engine/2.1/getting-started.mdtext Sun Mar 3 13:56:00 2019 @@ -0,0 +1,35 @@ +Title: Apache Velocity Engine - Getting Started + +## Getting Started + +Velocity is easy to use! A quick way to get started is to skim the references below, then look at the examples and source provided in the distribution. *For developers writing web-based applications, the Web Application Guide is highly recommended!* + ++ [User's Guide](user-guide.html) - explains how to write Velocity templates ++ [Developer's Guide](developer-guide.html) - expains how to user Velocity inside Java programs ++ [VTL Reference](vtl-reference.html) - concise syntax for Velocity Template Language (VTL) ++ [Web Application Guide](webapps.html) - web-based application techniques and VelocityViewServlet tutorial + +The best place to start is with the examples provided in the distribution, and with the source code itself, which is included. + +## Downloading Velocity + +You can download the latest release version of [Velocity Engine](/download.cgi#engine) or [Velocity Tools](/download.cgi#tools) from the main Apache Velocity download site. For Velocity itself, source is included with the binary download. + +If you want to download the latest source, you can do so via the Subversion (svn) source control system. + +You can also find published snapshots on the [Apache Snapshot Repository](https://repository.apache.org/content/repositories/snapshots/org/apache/velocity/). + +Instructions for building Velocity from source can be found in the [Build](build.html) document. + +## API Documentation + +Our API documentation is available [online](apidocs/), as part of the distribution package, an of course, you can generate it yourself from the included source code. + +If you would like to create a full set of detailed API documentation for Velocity, go to the `build` directory and run: + + :::shell + ant javadocs + +The docs will be found in the `/bin/apidocs/` directory. + +**Note:** Velocity uses the [Maven](http://maven.Apache.org) build tool for all code and documentation generation, so you will need to have it installed.
Added: velocity/site/cms/trunk/content/engine/2.1/glossary.mdtext URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/glossary.mdtext?rev=1854714&view=auto ============================================================================== --- velocity/site/cms/trunk/content/engine/2.1/glossary.mdtext (added) +++ velocity/site/cms/trunk/content/engine/2.1/glossary.mdtext Sun Mar 3 13:56:00 2019 @@ -0,0 +1,156 @@ +Title: Apache Velocity Engine - Glossary + +## Velocity Terms and Abbreviations + +Anakia{#anakia} +: An XML transformation tool that uses JDOM and Velocity to transform XML documents into the format of your choice. + +Block Directive{#block-directive} +: A [directive](#directive) that spans multiple lines. The block starts with a block directive such as [`#if`](#if), [`#foreach`](#foreach), or [`#macro`](#macro) and ends with the [`#end`](#end) directive. + +\#break{#break} +: A [directive](#directive) that stops the rendering of the current (innermost) [content directive](#content-directive) or a specified content directive if the [scope control](#scope-control) provided for that content directive is passed to #break as an argument: (e.g. #break($foreach.parent)). + +Comment{#comment} +: Allow descriptive text to be included in the template that will not be placed into the output of the template engine. Single line comments begin with `##`. Multi-line comments begin with `#*` and end with `*#` + +Content Directive{#content-directive} +: A <a href="#directive">directive</a> that outputs content when rendering a [template](#template). The default ones automatically have a [scope control](#scope-control) made available in the [context](#context) during their rendering. + +Context{#context} +: A means to import Java objects into a <a href="#velocity">Velocity</a><a href="#template">template</a>. + +Directive{#directive} +: Easy to use "active" elements that manipulate template output. There are both [line](#line-directive) and [block](#block-directive) directives. + +DocBook Framework{#docbook-framework} +: A framework inteded to help create high quality documentation suitable for online viewing and printing. + +DVSL{#dvsl} +: Declarative Velocity Style Language. A tool modeled after XSLT that is used for general XML transformations using the [VTL](#vtl) as the templating language. + +\#else{#else} +: A [directive](#directive) that must be used with an `<a href="#if">#if</a>`. It allows text to be included only if the `#if` was false. + +\#elseif{#elseif} +: A [directive](#directive) that must be used with an [`#if`](#if). It allows text to be included if the `#if` was false and if its own statement is true. + +Equivalence Operator{#equivalence-operator} +: `==` Used to directly compare numbers, strings, or objects. If the objects that are being compared are different classes, `toString()` is called first and then they are compared. + +\#end{#end} +: Ends [block directives](#block-directive) such as [#if](#if), [#foreach](#foreach) and [#macro](#macro). + +Escaping{#escaping} +: Removing the special meaning of a `#` or `$` so that you can use these characters without [Velocity](#velocity) interpretting it as the start of a [reference](#reference) or [directive](#directive). Escaping is done by putting a `\` character before the `#` or `$`. + +\#{evaluate{#evaluate} +: A [directive](#directive) which dynamically evaluates a string literal or reference. + +\#foreach{#foreach} +: A [directive](#directive) that allows you to repeat something on every value in a Collection, Array, Iterable, Map or (as of Velocity 1.6+) object with a `public Iterator iterator()` method. + +\#include{#include} +: A [directive](#directive) that allows the template designer to import a local file, which is then inserted into the location where the `#include` directive is defined. Multiple files may be included by seperating the file names with commas. + +Identifier{#identifier} +: The name of a [variable](#variable). Identifiers must start with an alphabetic character (a .. z, A .. Z). The rest of the characters are limited to alphabetic, numberic (0 .. 9), hyphens ("-"), and underscores ("_"). + +\#if{#if} +: A [directive](#directive) that allows for text to only be included if a statement is true. + +Formal Reference Notation{#formal-reference-notation} +: A notation for [references](#reference) that is more formal than the shorthand. The formal notation consists of a `$` character followed by a `{` character and then the identifiers used in the shorthand notation and then a `}` character. Formal notation is often useful when references are directly adjacent to text in a template. + +LHS{#lhs} +: Left Hand Side of an assignment. + +Line Directive{#line-directive} +: A [directive](#directive) that is done all on one line, such as [`#set`](#set). + +Literal{#literal} +: A string enclosed in double quotes. + +\#macro{#macro} +: See [Velocimacro](#Velocimacro). + +Method{#method} +: A type of [reference](#reference). Methods are defined in the Java code and are capable of doing something useful. The shorthand notation consists of a leading `$` character followed by an [identifier](#identifier), folowed by a [VTL Method Body](#vtl-method-body). + +MVC[#mvc} +: Model-View-Controller design pattern. Allows web page designers to focus on creating a well-designed site and allows programmers to focus on writing good code. + +\#parse +: A [directive](#directive) that includes a local file that contains [VTL](#vtl). [Velocity](#velocity) then parses the VTL and renders the template. + +Property{#property} +: A type of [reference](#reference"). The shorthand notation consists of a leading `$` character followed by an [identifier](#identifier), followed by a `.` character and another identifier. + +Quiet Reference Notation{#quiet-reference-notation} +: Another notation for [references](#reference). A `!` character is inserted between the `$` and the [identifier](#identifier). This overrides [Velocity](#velocity)'s default behavior if the reference is undefined. Normally, if a reference is undefined, the name of the reference that was given is used instead. With this notation, a blank text field is used. + +Reference{#reference} +: Begins with `$` and are used to get something. There are three types: [variables](#variable), [properties](#property), and [methods](#method). + +Resource{#resource} +: A general text resource that can be loaded from a variety of sources using a [Resource Loader](#resource-loader). + +Resource Loader +: A class used by a [Velocity Engine](#velocity-engine) to load resources from the file system, classpath, URLs or even a database depending on the implementation. + +RHS{#rhs} +: Right Hand Side of an assignment. + +Scope Control{#scope-control} +: The [reference](#reference) automatically provided as a way of scoping/namespacing [references](#reference) (to avoid polluting the global [context](#context)) within the given content directive and also providing a "label" for [#break](#break) to use when breaking out of multiple [content directives](#content-directive) at once. + +\#set{#set} +: The [directive](#directive) that is used for setting the value of a reference. + +\#stop{#stop} +: A [directive](#directive) that stops the execution of the template engine. `#stop` is useful for debugging templates. + +String Interpolation{#string-interpolation} +: Using a variable inside of a string. For example, `"Hello $name"` would be "Hello" and then whatever value is stored in `$name`. + +Template{#template} +: A file containing code in a [template language](#template-language) such as the [VTL](#vtl) that can be run through a [template engine](#template-engine) like [Velocity](#velocity) to produce dynamic output. + +Template Engine{#template-engine} +: An engine that merges a [context](#context) with a [template](#template) to produce output. + +Template Language{#template-language} +: A language such as the [VTL](#vtl) that can be used to create [templates](#template). + +Texen{#texen} +: Texen is a general purpose text generating utility that is driven by Ant. + +Tool{#tool} +: A plain old Java object that is useful in a template but it is not meant to be rendered in output. Tools are meant to be used but not to be seen. + +Turbine{#turbine} +: A servlet based framework that allows experienced Java developers to quickly build web applications. Turbine allows you to personalize the web sites and to use user logins to restrict access to parts of your application. + +Variable{#variable} +: A type of [reference](#reference). Variables represents values that can change. The shorthand notation consists of a leading `$` character followed by an [identifier](#identifier). + +Velicomacro{#velocimacro} +: The [`#macro`](#macro) [directive](#directive) allows designers to define a repeated segment of template. To create a macro "d", you would use `#macro(d)` followed by the segment of template followed by [`#end`](#end). Macros can have as many arguments as necessary by adding them inside the parentheses such as `#macro(d $arg1 $arg2)`. + +Velocity{#velocity} +: A Java-based [template engine](#template-engine). + +Velocity Engine{#velocity-engine} +: The engine that generates web pages and other output from [templates](#template) containing [VTL](#vtl) code. + +Velocity Singleton{#velocity-singleton} +: A singleton wrapper around a [velocity engine](#velocity-engine) that is shared across the JVM (or ClassLoader) and may thus be referenced directly without needing to pass an instance around. This allows localized configuration and sharing of resources. + +VelocityTools{#velocitytools} +: A collection of [Tools](#tool) and infrastructure to easily, automatically and transparently make tools and static data available to Velocity templates. + +VTL{#vtl} +: Velocity Template Language. The powerful template language that is used with [Velocity](#velocity). + +VTL Method Call +: Consists of an [identifier](#identifier) followed by a `(` character, followed by an optional parameter list, followed by a `)` character. [VTL](#vtl) allows template designers to call any public method declared in a public class on values placed in the [context](#context). Added: velocity/site/cms/trunk/content/engine/2.1/images/add.gif URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/add.gif?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/add.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/add.png URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/add.png?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/add.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/close.gif URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/close.gif?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/close.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/collapsed.gif URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/collapsed.gif?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/collapsed.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/expanded.gif URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/expanded.gif?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/expanded.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/external.png URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/external.png?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/external.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/feed-icon-24x24.jpg URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/feed-icon-24x24.jpg?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/feed-icon-24x24.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/fix.gif URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/fix.gif?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/fix.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/fix.png URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/fix.png?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/fix.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/icon_error_sml.gif URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/icon_error_sml.gif?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/icon_error_sml.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/icon_help_sml.gif URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/icon_help_sml.gif?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/icon_help_sml.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/icon_info_sml.gif URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/icon_info_sml.gif?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/icon_info_sml.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/icon_success_sml.gif URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/icon_success_sml.gif?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/icon_success_sml.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/icon_warning_sml.gif URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/icon_warning_sml.gif?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/icon_warning_sml.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/logos/maven-feather.png URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/logos/maven-feather.png?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/logos/maven-feather.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/newwindow.png URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/newwindow.png?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/newwindow.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/pbv90x30.png URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/pbv90x30.png?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/pbv90x30.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/remove.gif URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/remove.gif?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/remove.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/rss.png URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/rss.png?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/rss.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/update.gif URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/update.gif?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/update.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/velocity-logo.png URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/velocity-logo.png?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/velocity-logo.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/velocity_project_wide.png URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/velocity_project_wide.png?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/velocity_project_wide.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/images/velocity_project_wide.xcf URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/images/velocity_project_wide.xcf?rev=1854714&view=auto ============================================================================== Binary file - no diff available. Propchange: velocity/site/cms/trunk/content/engine/2.1/images/velocity_project_wide.xcf ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: velocity/site/cms/trunk/content/engine/2.1/index.mdtext URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/index.mdtext?rev=1854714&view=auto ============================================================================== --- velocity/site/cms/trunk/content/engine/2.1/index.mdtext (added) +++ velocity/site/cms/trunk/content/engine/2.1/index.mdtext Sun Mar 3 13:56:00 2019 @@ -0,0 +1,40 @@ +Title: Apache Velocity Engine + +## Velocity Engine + +If you're new to Velocity, you can read the [Overview](overview.html) to understand its principles. Then, you can go through the [User Guide](user-guide.html) for more details. + +You can check the [Velocity Template Language (VTL) reference](vtl-reference.html) to write templates, and the [Developer Guide](developer-guide.html) to guide you in the process of configuring and integrating Velocity. + +## Where do I get releases? + +The current stable release version is version 1.7. + +The release distribution is available as a combined source/binary distribution in `tar.gz` and `zip` formats, and can be downloaded through the [Apache Mirror system](/download.cgi).. + +The Velocity jars are also available through the [central Maven repository](http://repo1.maven.org/maven2/org/apache/velocity/). + +Older releases are archived at the [Apache Velocity archives](http://archive.apache.org/dist/velocity/engine/). + +## Where do I get nightly snapshots? + +<!-- +Nightly snapshots of the Velocity subversion source code tree can be found on our [nightly snapshot site(http://vc.apache.org/snapshots/velocity/). + +If you are willing to risk getting dirty, we invite you to try the nightly snapshot to see the current state of affairs. (and help out!) [Public subversion access](http://www.apache.org/dev/version-control.html) is also available. +--> + +Nightly snapshots aren't currently activated, but you can build the latest version using the [Public subversion access](http://www.apache.org/dev/version-control.html), and you can find the latest published snapshot on the [Apache Snapshot Repository](https://repository.apache.org/content/repositories/snapshots/org/apache/velocity/). + +**Caveat!** These snapshots are generated automatically from the project source code repository. As this is our live development workspace, there are no guarantees as to what you will find there, although we do our best to maintain a buildable source tree. If you are looking for the stable supported release, please use the current release of Velocity. + +**Please be aware that these snapshots are not official releases of Apache Velocity software. They are provided for developer convenience only!** + +## How do I contribute, give feedback, fix bugs and so on? + +The Velocity project appreciates any contributions, including documentation help, source code and feedback. Suggested changes should come in the form of source code and/or feedback. + ++ Report bugs, ask questions, and help new users on the [Velocity mailing lists](http://velocity.apache.org/contact.html). ++ There's a list of issues waiting to be addressed in [our bug tracker](https://issues.apache.org/jira/browse/VELOCITY"). ++ [Our wiki](http://wiki.apache.org/velocity/FrontPage) has a large collection of community written content. Add your own article or contribute to the FAQ! ++ Read-only access to the Subversion repository is available both [online](http://svn.apache.org/repos/asf/velocity/engine/trunk/) and with a [Subversion client](http://www.apache.org/dev/version-control.html). Added: velocity/site/cms/trunk/content/engine/2.1/left.nav URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/left.nav?rev=1854714&view=auto ============================================================================== --- velocity/site/cms/trunk/content/engine/2.1/left.nav (added) +++ velocity/site/cms/trunk/content/engine/2.1/left.nav Sun Mar 3 13:56:00 2019 @@ -0,0 +1,37 @@ +## Velocity Engine +* [Welcome](index.html) +* [Overview](overview.html) +* [Getting Started](getting-started.html) +* [Web Applications](webapps.html) +* [Downloads](/download.cgi#engine) +* [FAQ](http://wiki.apache.org/velocity/VelocityFAQ) +## Docs +* [User Guide](user-guide.html) +* [Developer Guide](developer-guide.html) +* [VTL Reference](vtl-reference.html) +* [Configuration](configuration.html) +* [Glossary](glossary.html) +* [Javadoc](apidocs/index.html) +* [Upgrading](upgrading.html) +## Developers +* [License](license.html) +* [Changes](changes.html) +* [Dependencies](dependencies.html) +* [Sources](source-repository.html) +* [Building](build.html) +* [Issues](https://issues.apache.org/jira/browse/VELOCITY) +* [Road Map](http://wiki.apache.org/velocity/RoadMap) +* [Coding Standards](http://wiki.apache.org/velocity/CodeStandards) +* [Doc Guidelines](http://wiki.apache.org/velocity/DocumentationGuidelines) +## Community +* [Wiki](http://wiki.apache.org/velocity/) +* [News](/news.html) +* [Powered by Velocity](http://wiki.apache.org/velocity/PoweredByVelocity) +* [IDE/Editor Plugins](http://wiki.apache.org/velocity/VelocityEditors) +* [Articles and Books](http://wiki.apache.org/velocity/PublishedArticlesAndBooks) +* [Mailing Lists](/contact.html) +## Translations (outdated) +* [Site (Japanese)](http://www.jajakarta.org/velocity/) +* [User's Guide (Finnish)](translations/user-guide_fi.html) +* [User's Guide (French)](translations/user-guide_fr.html) +* [User's Guide (Spanish)](translations/user-guide_es.html) Added: velocity/site/cms/trunk/content/engine/2.1/license.mdtext URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/license.mdtext?rev=1854714&view=auto ============================================================================== --- velocity/site/cms/trunk/content/engine/2.1/license.mdtext (added) +++ velocity/site/cms/trunk/content/engine/2.1/license.mdtext Sun Mar 3 13:56:00 2019 @@ -0,0 +1,210 @@ +Title: Apache Velocity Engine - License + +## Overview + +Typically the licenses listed for the project are that of the project itself, and not of dependencies. + +## Project Licence + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. + Added: velocity/site/cms/trunk/content/engine/2.1/overview.mdtext URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/overview.mdtext?rev=1854714&view=auto ============================================================================== --- velocity/site/cms/trunk/content/engine/2.1/overview.mdtext (added) +++ velocity/site/cms/trunk/content/engine/2.1/overview.mdtext Sun Mar 3 13:56:00 2019 @@ -0,0 +1,34 @@ +Title: Apache Velocity Engine Overview + +## Overview + +Velocity is a template engine that can be used for many purposes. Some common types of applications which use Velocity are: + ++ Web applications. Web designers create HTML pages with placeholders for dynamic information. The page is processed with [VelocityViewServlet](/tools/devel/view.html) or any of a number of [frameworks](http://wiki.apache.org/velocity/PoweredByVelocity) which support Velocity. This approach to web application development is called Model-View-Controller or MVC and is intended to be a direct replacement for applications developed with Java Server Pages (JSPs) or PHP. ++ Source code generation. Velocity can be used to generate Java source code, SQL, or PostScript based on templates. The [PoweredByVelocity](http://wiki.apache.org/velocity/PoweredByVelocity) page lists a number of open source and commercial development software packages which use Velocity in this manner. ++ Automatic emails. Many applications generate automatic emails for account signup, password reminders or automatically sent reports. Using Velocity, the email template can be stored in a text file rather than directly embedded in your Java code. ++ XML transformation. Velocity provides an ant task called [Anakia](/anakia/) which reads an XML file and makes it available to a Velocity template. A common application is to convert documentation stored in a generic "xdoc" format into a styled HTML document. + +Since version 2.0, Velocity can also be [integrated as a scripting engine](developer-guide.html#velocity-scripting) into the Java Scripting Language Framework (as defined by the [JSR-223 specification](https://www.jcp.org/en/jsr/detail?id=223)). + +## How it works + +Velocity allows web page designers and other template writers to include markup statements called *references* in the page. These references are pulled from a *Context* object -- essentially a hashtable that provides get and set methods for retrieving and setting objects -- and the corresponding values are inserted directly in a page. Velocity provides basic control statements, that can loop over a collection of values (`foreach`) or conditionally show a block of text (`if`/`else`). The ability to call arbitrary Java methods, include other files, and to create macros that can be repeatedly used make this a powerful yet easy-to-use approach for creating dynamic web page or other text files. + +Velocity enforces a Model-View-Controller (MVC) style of development by separating Java code from HTML template code. Unlike JSPs, Velocity does not allow Java code to be embedded in pages. Unlike PHP, Velocity does not implement features with other functions. The MVC approach is one of Velocity's great strengths, and allows for more maintainable and better-designed web pages. + +Although MVC-style development can sometimes lead to longer incubation periods for web sites, particularly if the developers involved are new to MVC, this approach saves time over the long term (believe us, we have been doing this for a long time now). The MVC abstraction prevents web page designers from messing with a software engineer's Java code, and programmers from unduly influencing the look of web sites. Velocity enforces a contract that defines what roles people play in the web site development process. + +## Extending Velocity's Capabilities + +While Velocity is generally useful within an application as is, there are a number of ways its capabilities can be extended. + ++ Special types of objects, generically called "Tools", contain methods but no data. When placed into the Velocity context the template can call these methods to do basic tasks like formatting numbers or escaping HTML entities. ++ Velocity provides a selection of *resource loaders* that can retrieve templates from text files, the classpath, even a database. But if that's not enough you can write your own resource loader to retrieve in a custom manner. ++ *Event Handlers* provide hooks to perform custom actions upon certain events, such as the insertion of a reference into text. ++ Advanced users can write a custom *Introspector* which retrieves reference properties and methods. For example, you might create an introspector that retrieves data from Lucene or other search engine indexes. ++ Finally, for the truly adept, the grammar for Velocity is processed in a parser generated by [JavaCC](https://javacc.dev.java.net/) (Java Compiler Compiler) using the JJTree extension to create an Abstract Syntax Tree. By changing the JavaCC specification file and recompiling, the Velocity syntax itself can be changed. + +## Acknowledgement + +Velocity's design concept is borrowed from [WebMacro](http://www.webmacro.org/). Those involved in the Velocity project acknowledge and appreciate the development and design work that went into the WebMacro project. Added: velocity/site/cms/trunk/content/engine/2.1/source-repository.mdtext URL: http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/2.1/source-repository.mdtext?rev=1854714&view=auto ============================================================================== --- velocity/site/cms/trunk/content/engine/2.1/source-repository.mdtext (added) +++ velocity/site/cms/trunk/content/engine/2.1/source-repository.mdtext Sun Mar 3 13:56:00 2019 @@ -0,0 +1,49 @@ +## Overview + +This project uses [Subversion](http://subversion.tigris.org) to manage its source code. Instructions on Subversion use can be found at [http://svnbook.red-bean.com/](http://svnbook.red-bean.com/). + +## Web Access + +The following is a link to the online source repository. + +[http://svn.apache.org/viewvc/velocity/engine/trunk](http://svn.apache.org/viewvc/velocity/engine/trunk) +{.frame} + +## Anonymous access + +The source can be checked out anonymously from SVN with this command: + + :::shell + $ svn checkout http://svn.apache.org/repos/asf/velocity/engine/trunk velocity + +## Developer access + +Everyone can access the Subversion repository via HTTP, but Committers must checkout the Subversion repository via HTTPS. + + :::shell + $ svn checkout https://svn.apache.org/repos/asf/velocity/engine/trunk velocity + +To commit changes to the repository, execute the following command to commit your changes (svn will prompt you for your password) + + :::shell + $ svn commit --username your-username -m "A message" + +## Access from behind a firewall + +For those users who are stuck behind a corporate firewall which is blocking HTTP access to the Subversion repository, you can try to access it via the developer connection: + + :::shell + $ svn checkout https://svn.apache.org/repos/asf/velocity/engine/trunk velocity + +## Access through a proxy + +The Subversion client can go through a proxy, if you configure it to do so. First, edit your "servers" configuration file to indicate which proxy to use. The file's location depends on your operating system. On Linux or Unix it is located in the directory "~/.subversion". On Windows it is in "%APPDATA%\Subversion". (Try "echo %APPDATA%", note this is a hidden directory.) + +There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created. + +Example: Edit the 'servers' file and add something like: + + :::properties + [global] + http-proxy-host = your.proxy.name + http-proxy-port = 3128
