geirm 01/10/21 05:05:19
Modified: xdocs changes.xml user-guide.xml developer-guide.xml
docs changes.html user-guide.html developer-guide.html
Log:
updated changelog, added info re autoload to user and dev, and noted
repeatability of init() in dev
Revision Changes Path
1.56 +6 -0 jakarta-velocity/xdocs/changes.xml
Index: changes.xml
===================================================================
RCS file: /home/cvs/jakarta-velocity/xdocs/changes.xml,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -r1.55 -r1.56
--- changes.xml 2001/10/18 12:04:53 1.55
+++ changes.xml 2001/10/21 12:05:18 1.56
@@ -38,6 +38,12 @@
Change reported in bug #4256 by Jim Mackraz ([EMAIL PROTECTED])
reviewd and fixed by DLR. (gmj)
</li>
+ <li>
+ Fixed Velocimacro autoload infinite loop bug. (gmj)
+ </li>
+ <li>
+ Update docs re autoload VM and repeatability of init() (gmj)
+ </li>
</ul>
</subsection>
1.53 +69 -55 jakarta-velocity/xdocs/user-guide.xml
Index: user-guide.xml
===================================================================
RCS file: /home/cvs/jakarta-velocity/xdocs/user-guide.xml,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- user-guide.xml 2001/10/19 11:15:11 1.52
+++ user-guide.xml 2001/10/21 12:05:18 1.53
@@ -1335,62 +1335,7 @@
macro available to more than one template.
</p>
- <strong>Velocimacro Properties</strong>
-
- <p>
- Several lines in the <code>velocity.properties</code> file allow for
- flexible implementation of Velocimacros. Node that these are also
- documented in the <a href="developer-guide.html">Developer Guide</a>.
- </p>
-
- <p>
- <code>velocimacro.library</code> - A comma-separated list of all
- Velocimacro template libraries. By default, Velocity looks for
- a single library: <em>VM_global_lib.vm</em>. The configured template path
- is used to find the Velocimacro libraries.
- </p>
-
<p>
- <code>velocimacro.permissions.allow.inline</code> - This property,
- which has possible values of true or false, determines whether
- Velocimacros can be defined in regular templates. The default,
- true, allows template designers to define Velocimacros in the
- templates themselves.
- </p>
-
- <p>
- <code>velocimacro.permissions.allow.inline.to.replace.global</code> -
- With possible values of true or false,
- this property allows the user to specify if a Velocimacro defined
- inline in a template can replace a globally defined template, one
- that was loaded on startup via the <code>velocimacro.library</code>
- property. The default, <code>false</code>, prevents
- Velocimacros defined inline in a template from replacing those
- defined in the template libraries loaded at startup.
- </p>
-
- <p>
- <code>velocimacro.permissions.allow.inline.local.scope</code> - This
- property, with possible values of true or false, defaulting to false,
- controls if Velocimacros defined inline are 'visible' only to the
- defining template. In other words, with this property set to true,
- a template can define inline VMs that are usable only by the defining
- template. You can use this for fancy VM tricks - if a global VM calls
- another global VM, with inline scope, a template can define a
- private implementation of the second VM that will be called by the
- first VM when invoked by that template. All other templates
- are unaffected.
- </p>
-
- <p>
- <code>velocimacro.context.localscope</code> - This property has the
- possible values true or false, and the default is false. When true,
- any modifications to the context via #set() within a Velocimacro
- are considered 'local' to the Velocimacro, and will not
- permanently affect the context.
- </p>
-
- <p>
Were the <em>#tablerows($color $list)</em> Velocimacro defined in a
Velocimacros template library, this macro could be used on any of
the regular templates. It could be used many times and for many
@@ -1498,6 +1443,75 @@
#set( $myval = $foo.bar() )
#callme( $myval )
]]></source>
+
+
+ <strong>Velocimacro Properties</strong>
+
+ <p>
+ Several lines in the <code>velocity.properties</code> file allow for
+ flexible implementation of Velocimacros. Node that these are also
+ documented in the <a href="developer-guide.html">Developer Guide</a>.
+ </p>
+
+ <p>
+ <code>velocimacro.library</code> - A comma-separated list of all
+ Velocimacro template libraries. By default, Velocity looks for
+ a single library: <em>VM_global_lib.vm</em>. The configured template path
+ is used to find the Velocimacro libraries.
+ </p>
+
+ <p>
+ <code>velocimacro.permissions.allow.inline</code> - This property,
+ which has possible values of true or false, determines whether
+ Velocimacros can be defined in regular templates. The default,
+ true, allows template designers to define Velocimacros in the
+ templates themselves.
+ </p>
+
+ <p>
+ <code>velocimacro.permissions.allow.inline.to.replace.global</code> -
+ With possible values of true or false,
+ this property allows the user to specify if a Velocimacro defined
+ inline in a template can replace a globally defined template, one
+ that was loaded on startup via the <code>velocimacro.library</code>
+ property. The default, <code>false</code>, prevents
+ Velocimacros defined inline in a template from replacing those
+ defined in the template libraries loaded at startup.
+ </p>
+
+ <p>
+ <code>velocimacro.permissions.allow.inline.local.scope</code> - This
+ property, with possible values of true or false, defaulting to false,
+ controls if Velocimacros defined inline are 'visible' only to the
+ defining template. In other words, with this property set to true,
+ a template can define inline VMs that are usable only by the defining
+ template. You can use this for fancy VM tricks - if a global VM calls
+ another global VM, with inline scope, a template can define a
+ private implementation of the second VM that will be called by the
+ first VM when invoked by that template. All other templates
+ are unaffected.
+ </p>
+
+ <p>
+ <code>velocimacro.context.localscope</code> - This property has the
+ possible values true or false, and the default is false. When true,
+ any modifications to the context via #set() within a Velocimacro
+ are considered 'local' to the Velocimacro, and will not
+ permanently affect the context.
+ </p>
+
+ <p>
+ <code>velocimacro.library.autoreload</code> - This property
+ controls Velocimacro library autoloading. The default value
+ is <code>false</code>. When set to <code>true</code>
+ the source Velocimacro library for an invoked Velocimacro will be checked
+ for changes, and reloaded if necessary. This allows you to change and
+ test Velocimacro libraries without having to restart your application or
+ servlet container, just like you can with regular templates.
+ This mode only works when caching is <i>off</i>
+ in the resource loaders (e.g. <code>file.resource.loader.cache = false</code>
).
+ This feature is intended for development, not for production.
+ </p>
<strong>Velocimacro Trivia</strong>
1.59 +8 -0 jakarta-velocity/xdocs/developer-guide.xml
Index: developer-guide.xml
===================================================================
RCS file: /home/cvs/jakarta-velocity/xdocs/developer-guide.xml,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -r1.58 -r1.59
--- developer-guide.xml 2001/10/19 11:15:11 1.58
+++ developer-guide.xml 2001/10/21 12:05:18 1.59
@@ -1242,6 +1242,14 @@
</p>
<p>
+Another thing to note is that the <code>init()</code> calls may be called
+more than once without harm in an application. However, the first call to any
+of the <code>init()</code> functions will configure the engine with the
+configuration properties set at that point, and any further configuration
+changes or <code>init()</code> calls will be ignored.
+</p>
+
+<p>
The most common approaches to initializing Velocity will be something like :
</p>
1.63 +6 -0 jakarta-velocity/docs/changes.html
Index: changes.html
===================================================================
RCS file: /home/cvs/jakarta-velocity/docs/changes.html,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -r1.62 -r1.63
--- changes.html 2001/10/18 12:04:53 1.62
+++ changes.html 2001/10/21 12:05:19 1.63
@@ -152,6 +152,12 @@
Change reported in bug #4256 by Jim Mackraz ([EMAIL PROTECTED])
reviewd and fixed by DLR. (gmj)
</li>
+ <li>
+ Fixed Velocimacro autoload infinite loop bug. (gmj)
+ </li>
+ <li>
+ Update docs re autoload VM and repeatability of init() (gmj)
+ </li>
</ul>
</blockquote>
</td></tr>
1.56 +60 -48 jakarta-velocity/docs/user-guide.html
Index: user-guide.html
===================================================================
RCS file: /home/cvs/jakarta-velocity/docs/user-guide.html,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -r1.55 -r1.56
--- user-guide.html 2001/10/19 11:15:11 1.55
+++ user-guide.html 2001/10/21 12:05:19 1.56
@@ -2398,55 +2398,7 @@
reducing the chance of error, and ensures that a single change to a
macro available to more than one template.
</p>
- <strong>Velocimacro
Properties</strong>
<p>
- Several lines in the <code>velocity.properties</code> file allow for
- flexible implementation of Velocimacros. Node that these are also
- documented in the <a href="developer-guide.html">Developer Guide</a>.
- </p>
- <p>
- <code>velocimacro.library</code> - A comma-separated list of all
- Velocimacro template libraries. By default, Velocity looks for
- a single library: <em>VM_global_lib.vm</em>. The configured template path
- is used to find the Velocimacro libraries.
- </p>
- <p>
- <code>velocimacro.permissions.allow.inline</code> - This property,
- which has possible values of true or false, determines whether
- Velocimacros can be defined in regular templates. The default,
- true, allows template designers to define Velocimacros in the
- templates themselves.
- </p>
- <p>
- <code>velocimacro.permissions.allow.inline.to.replace.global</code> -
- With possible values of true or false,
- this property allows the user to specify if a Velocimacro defined
- inline in a template can replace a globally defined template, one
- that was loaded on startup via the <code>velocimacro.library</code>
- property. The default, <code>false</code>, prevents
- Velocimacros defined inline in a template from replacing those
- defined in the template libraries loaded at startup.
- </p>
- <p>
- <code>velocimacro.permissions.allow.inline.local.scope</code> - This
- property, with possible values of true or false, defaulting to false,
- controls if Velocimacros defined inline are 'visible' only to the
- defining template. In other words, with this property set to true,
- a template can define inline VMs that are usable only by the defining
- template. You can use this for fancy VM tricks - if a global VM calls
- another global VM, with inline scope, a template can define a
- private implementation of the second VM that will be called by the
- first VM when invoked by that template. All other templates
- are unaffected.
- </p>
- <p>
- <code>velocimacro.context.localscope</code> - This property has the
- possible values true or false, and the default is false. When true,
- any modifications to the context via #set() within a Velocimacro
- are considered 'local' to the Velocimacro, and will not
- permanently affect the context.
- </p>
- <p>
Were the <em>#tablerows($color $list)</em> Velocimacro defined in a
Velocimacros template library, this macro could be used on any of
the regular templates. It could be used many times and for many
@@ -2614,6 +2566,66 @@
</tr>
</table>
</div>
+ <strong>Velocimacro
Properties</strong>
+ <p>
+ Several lines in the <code>velocity.properties</code> file allow for
+ flexible implementation of Velocimacros. Node that these are also
+ documented in the <a href="developer-guide.html">Developer Guide</a>.
+ </p>
+ <p>
+ <code>velocimacro.library</code> - A comma-separated list of all
+ Velocimacro template libraries. By default, Velocity looks for
+ a single library: <em>VM_global_lib.vm</em>. The configured template path
+ is used to find the Velocimacro libraries.
+ </p>
+ <p>
+ <code>velocimacro.permissions.allow.inline</code> - This property,
+ which has possible values of true or false, determines whether
+ Velocimacros can be defined in regular templates. The default,
+ true, allows template designers to define Velocimacros in the
+ templates themselves.
+ </p>
+ <p>
+ <code>velocimacro.permissions.allow.inline.to.replace.global</code> -
+ With possible values of true or false,
+ this property allows the user to specify if a Velocimacro defined
+ inline in a template can replace a globally defined template, one
+ that was loaded on startup via the <code>velocimacro.library</code>
+ property. The default, <code>false</code>, prevents
+ Velocimacros defined inline in a template from replacing those
+ defined in the template libraries loaded at startup.
+ </p>
+ <p>
+ <code>velocimacro.permissions.allow.inline.local.scope</code> - This
+ property, with possible values of true or false, defaulting to false,
+ controls if Velocimacros defined inline are 'visible' only to the
+ defining template. In other words, with this property set to true,
+ a template can define inline VMs that are usable only by the defining
+ template. You can use this for fancy VM tricks - if a global VM calls
+ another global VM, with inline scope, a template can define a
+ private implementation of the second VM that will be called by the
+ first VM when invoked by that template. All other templates
+ are unaffected.
+ </p>
+ <p>
+ <code>velocimacro.context.localscope</code> - This property has the
+ possible values true or false, and the default is false. When true,
+ any modifications to the context via #set() within a Velocimacro
+ are considered 'local' to the Velocimacro, and will not
+ permanently affect the context.
+ </p>
+ <p>
+ <code>velocimacro.library.autoreload</code> - This property
+ controls Velocimacro library autoloading. The default value
+ is <code>false</code>. When set to <code>true</code>
+ the source Velocimacro library for an invoked Velocimacro will be checked
+ for changes, and reloaded if necessary. This allows you to change and
+ test Velocimacro libraries without having to restart your application or
+ servlet container, just like you can with regular templates.
+ This mode only works when caching is <i>off</i>
+ in the resource loaders (e.g. <code>file.resource.loader.cache = false</code> ).
+ This feature is intended for development, not for production.
+ </p>
<strong>Velocimacro Trivia</strong>
<p>
Currently, Velocimacros must be defined before they are first
1.81 +7 -0 jakarta-velocity/docs/developer-guide.html
Index: developer-guide.html
===================================================================
RCS file: /home/cvs/jakarta-velocity/docs/developer-guide.html,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- developer-guide.html 2001/10/19 11:15:11 1.80
+++ developer-guide.html 2001/10/21 12:05:19 1.81
@@ -1578,6 +1578,13 @@
than a complete set.
</p>
<p>
+Another thing to note is that the <code>init()</code> calls may be called
+more than once without harm in an application. However, the first call to any
+of the <code>init()</code> functions will configure the engine with the
+configuration properties set at that point, and any further configuration
+changes or <code>init()</code> calls will be ignored.
+</p>
+ <p>
The most common approaches to initializing Velocity will be something like :
</p>
<ol>