You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

release-notes.html 24KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Vaadin Framework @version@</title>
  6. <link rel="stylesheet" type="text/css" href="css/styles.css" />
  7. <!--[if lte IE 6]>
  8. <link rel="stylesheet" type="text/css" href="css/ie.css" />
  9. <![endif]-->
  10. <style type="text/css">
  11. .nested-list ol {
  12. counter-reset: item
  13. }
  14. .nested-list li {
  15. display: block
  16. }
  17. .nested-list li:before {
  18. content: counters(item, ".") ". ";
  19. counter-increment: item
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <div id="header">
  25. <h1>Vaadin &ndash; thinking of U and I</h1>
  26. <div id="version">
  27. <strong>Version @version@</strong>
  28. </div>
  29. </div>
  30. <!-- /header -->
  31. <div id="content">
  32. <p>Version @version@ built on @builddate@.</p>
  33. <h2 id="tableofcontents">Release Notes for Vaadin Framework
  34. @version@</h2>
  35. <ul>
  36. <li><a href="#overview">Overview of Vaadin
  37. @version@ Release</a></li>
  38. <li><a href="#changelog">Change log for Vaadin
  39. @version@</a></li>
  40. <li><a href="#enhancements">Enhancements in Vaadin
  41. @version-minor@</a></li>
  42. <li><a href="#incompatible">Incompatible changes in
  43. @version-minor@</a></li>
  44. <li><a href="#behavioraltering">Behavior altering
  45. changes in @version-minor@</a></li>
  46. <li><a href="#knownissues">Known issues in
  47. @version-minor@</a></li>
  48. <li><a href="#limitations">Limitations in
  49. @version-minor@</a></li>
  50. <li><a href="#vaadin">Vaadin Installation</a></li>
  51. <li><a href="#package">Package Contents</a></li>
  52. <li><a href="#migrating">Migrating from Vaadin 6 to
  53. Vaadin 7</a></li>
  54. <li><a href="#dependencies">Vaadin @version@
  55. dependencies</a></li>
  56. <li><a href="#upgrading">Upgrading to Vaadin
  57. @version-minor@</a></li>
  58. <li><a href="#supportedversions">Supported
  59. technologies</a></li>
  60. <li><a href="#authors">Authors</a></li>
  61. <li><a href="#vaadinontheweb">Vaadin on the Web</a></li>
  62. </ul>
  63. <h2 id="overview">Overview of Vaadin @version@ Release</h2>
  64. <p>
  65. Vaadin @version@ is a minor release that includes a
  66. number of new features and bug fixes, as listed in the <a
  67. href="#enhancements">list of enhancements</a> and <a
  68. href="#changelog">change log</a> below.
  69. </p>
  70. <!-- ================================================================ -->
  71. <h3 id="changelog">Change log for Vaadin @version@</h3>
  72. <p>This release includes the following closed issues:</p>
  73. <table>
  74. @release-notes-tickets@
  75. <tr><td>&nbsp;</td><td></td></tr>
  76. <tr><td class="fv"><span class="vote">Vote</span></td><td colspan="2" class="pad">Enhancements <a href=" https://vaadin.com/support">Vaadin support</a> users have voted for</td></tr>
  77. <tr><td class="bfp"><span class="bfp">Priority</span></td><td colspan="2" class="pad">Defects <a href=" https://vaadin.com/support">Vaadin support</a> users have prioritized</td></tr>
  78. </table>
  79. <br/>
  80. <p>
  81. You can also view the <a
  82. href="http://dev.vaadin.com/query?status=closed&resolution=fixed&milestone=Vaadin+@version@&order=id">list
  83. of the closed issues</a> at the Vaadin developer's site.
  84. </p>
  85. <h2 id="enhancements">Enhancements in Vaadin
  86. @version-minor@</h2>
  87. <p>The @version-minor@ includes many major and minor
  88. enhancements. Below is a list of the most notable changes:</p>
  89. <ul>
  90. <li>Internet Explorer 11 support</li>
  91. <li>Window Phone 8.1 support</li>
  92. <li>Long polling support through Atmosphere 2</li>
  93. <li>Font icon support</li>
  94. <li>Tomcat 8 support</li>
  95. <li>Wildfly 8 support</li>
  96. <li>Websocket support for Tomcat 8, Glassfish 4, Jetty 9.1, Wildfly 8</li>
  97. <li>TestBench 4 support</li>
  98. <li>GWT 2.6 compatibility</li>
  99. <li>Widget set size reduction</li>
  100. <li>Widget set compilation speed improvement by collapsing all permutations</li>
  101. <li>New built-in converters: StringToBigDecimal, StringToLong</li>
  102. <li>New built-in support for Date in communication</li>
  103. <li>WAI-ARIA improvements: Window, Notification, TabSheet</li>
  104. <li>Sass compiler is a separate project</li>
  105. <li>Support for @OnStateChange for easier state handling</li>
  106. <li>Reload events for UIs with @PreserveOnRefresh</li>
  107. <li>Responsive layouts</li>
  108. </ul>
  109. <p>
  110. For enchancements introduced in Vaadin 7, see the <a
  111. href="http://vaadin.com/download/release/7.0/7.0.0/release-notes.html">Release
  112. Notes for Vaadin 7.0.0</a>.
  113. </p>
  114. <h3 id="incompatible">Incompatible changes</h3>
  115. <ul>
  116. <li>It is assumed that the UI will no longer be used after Page.setLocation
  117. is called. Do not use this to start downloads.</li>
  118. <li>The portlet requests class VaadinGateinRequest is now called
  119. VaadinGateInRequest</li>
  120. <li>The JSON library has been changed from org.json to the json implementation
  121. from the Android SDK. They are 99% compatible.</li>
  122. <li>StringToNumberConverter has been removed in favor of more specific
  123. converters such as StringToBigDecimalConverter.</li>
  124. <li>There is no longer support for "multiple variable bursts"
  125. in the UIDL communication.</li>
  126. </ul>
  127. <h3 id="behavioraltering">Behavior altering changes</h3>
  128. <ul>
  129. <li>Default push fallback is now long-polling</li>
  130. <li>VerticalLayout and HorizontalLayout.replaceComponent now applies old
  131. component parameters (e.g. expand ratio) to the new component. This is
  132. now consistent between all layouts in the framework, where relevant
  133. properties are applied to the replacement.</li>
  134. <li>All GWT permutations are collapsed when using DefaultWidgetSet. To use
  135. separate permutations, inherit Vaadin instead of DefaultWidgetSet and
  136. add the needed entry-point.</li>
  137. <li>Requests to "/context;jsessionid=xyz" are redirected to
  138. "/context/;jsessionid=xyz" which is against specifications but based
  139. on how jsessionid is used</li>
  140. <li>Adding a ValueChangeListener to a component will make it immediate</li>
  141. <li>ComboBox is immediate by default</li>
  142. </ul>
  143. <h3 id="knownissues">Known issues</h3>
  144. <ul>
  145. <li>Reconnecting a dropped push connection sometimes fails when using
  146. Firefox and streaming or long polling.
  147. (<a href="http://dev.vaadin.com/ticket/13578">#13578</a>)
  148. </li>
  149. <li>Drag'n'drop in a Table doesn't work on touch devices running
  150. Internet Explorer (Windows Phone, Surface)
  151. (<a href="http://dev.vaadin.com/ticket/13737">#13737</a>)
  152. </li>
  153. </ul>
  154. <h3 id="limitations">Limitations</h3>
  155. <ul>
  156. <li>It is currently not possible to specify <tt>font-size</tt>
  157. as <tt>em</tt> or <tt>%</tt>, or layout component sizes
  158. with <tt>em</tt> (<a
  159. href="http://dev.vaadin.com/ticket/10634">#10634</a>)
  160. </li>
  161. <li>Push is currently not supported in portals (See <a
  162. href="http://dev.vaadin.com/ticket/11493">#11493</a>)
  163. </li>
  164. <li>HTTP session can not be invalidated while using
  165. push over websockets on Tomcat 7 (<a href="http://dev.vaadin.com/ticket/11721">#11721</a>)
  166. </li>
  167. <li>Cookies are not available while using websockets (<a
  168. href="http://dev.vaadin.com/ticket/11808">#11808</a>)
  169. </li>
  170. <li>Not all proxies are compatible with websockets or streaming.
  171. Use long polling to avoid these problems.</li>
  172. </ul>
  173. <h2 id="vaadin">Vaadin Installation</h2>
  174. <p>
  175. <b>Vaadin</b> is a Java framework for building modern web
  176. applications that look great, perform well and make you and
  177. your users happy. <b>Vaadin</b> is available under the
  178. Apache License, Version 2.0 (see the
  179. <tt>license.html</tt>
  180. in the Vaadin ZIP or JAR package).
  181. </p>
  182. <p>
  183. The easiest ways to install <b>Vaadin</b> are:
  184. </p>
  185. <ul>
  186. <li>If using Maven, define it as a dependency or use
  187. any of the available archetypes (only <tt>vaadin-application</tt>
  188. is available for Vaadin 7 at the time of this release)
  189. to create a new project
  190. </li>
  191. <li>If using Eclipse, use the Vaadin Plugin for
  192. Eclipse, which automatically downloads the Vaadin
  193. libraries.
  194. </li>
  195. </ul>
  196. <p>
  197. It is also available as a ZIP package downloadable from <a
  198. href="http://vaadin.com/download">Vaadin Download
  199. page</a>.
  200. </p>
  201. <h3 id="package">Package Contents</h3>
  202. <p>Inside the ZIP installation package you will find:</p>
  203. <ul>
  204. <li>Separate server-side (<tt>vaadin-server</tt>) and
  205. client-side (<tt>vaadin-client</tt>, <tt>vaadin-client-compiler</tt>)
  206. development libraries
  207. </li>
  208. <li>Precompiled widget set (<tt>vaadin-client-compiled</tt>)
  209. for server-side development
  210. </li>
  211. <li>Shared library (<tt>vaadin-shared</tt>) for both
  212. server- and client-side libraries
  213. </li>
  214. <li>Built-in themes (<tt>vaadin-themes</tt>)
  215. </li>
  216. <li>Dependency libraries provided under the <tt>lib/</tt>
  217. folder
  218. </li>
  219. </ul>
  220. <p>
  221. See the
  222. <tt>README.TXT</tt>
  223. in the installation package for detailed information about
  224. the package contents. <a href="http://vaadin.com/book">Book
  225. of Vaadin</a> (for Vaadin 7) gives more detailed
  226. instructions.
  227. </p>
  228. <p>
  229. For server-side development, copy the
  230. <tt>vaadin-server</tt>
  231. ,
  232. <tt>vaadin-client-compiled</tt>
  233. ,
  234. <tt>vaadin-shared</tt>
  235. , and
  236. <tt>vaadin-themes</tt>
  237. from the main folder and the dependencies from the
  238. <tt>lib</tt>
  239. folder to the
  240. <tt>WEB-INF/lib</tt>
  241. folder of your Vaadin project. (The
  242. <tt>vaadin-client-compiled</tt>
  243. is necessary if you do not wish to compile the widget set by
  244. your own, which you need to do if you use almost any add-on
  245. components.)
  246. </p>
  247. <h4 id="package.updates">Updates to the Packaging</h4>
  248. <p>
  249. Since Vaadin 7.2.0, the old vaadin-theme-compiler has been moved into
  250. a separate project and renamed to vaadin-sass-compiler. It is now included
  251. along with the other 3rd party dependencies in the ZIP package.
  252. </p>
  253. <p>
  254. For pure client-side development, you only need the
  255. <tt>vaadin-client</tt>
  256. and
  257. <tt>vaadin-client-compiler</tt>
  258. JARs, which should be put to a non-deployed project library
  259. folder, such as
  260. <tt>lib</tt>
  261. . You also need them if you compile the widget set for any
  262. reason, such as using Vaadin add-ons, or create new
  263. server-side components integrated with client-side widgets.
  264. </p>
  265. <h2 id="migrating">Migrating from Vaadin 6</h2>
  266. <p>
  267. All Vaadin 6 applications need some changes when migrating
  268. to Vaadin 7. The most obvious changes are in the
  269. application/window API and require extending either <b>UI</b>
  270. or <b>UI.LegacyApplication</b> instead of <b>Application</b>.
  271. A detailed list of migration changes are given in the <a
  272. href="https://vaadin.com/wiki/-/wiki/Main/Migrating+from+Vaadin+6+to+Vaadin+7">Vaadin
  273. 7 Migration Guide</a>.
  274. </p>
  275. <p>Any custom client-side widgets need to be ported to use
  276. the new client-server communication API, or the Vaadin 6
  277. compatibility API.</p>
  278. <p>
  279. Vaadin 6 add-ons (ones that contain widgets) do not work in
  280. Vaadin 7 - please check the add-ons in <a
  281. href="http://vaadin.com/directory/">Vaadin Directory</a>
  282. for Vaadin 7 support.
  283. </p>
  284. <h2 id="dependencies">Vaadin @version@ Dependencies</h2>
  285. <p>When using Maven, Ivy, Gradle, or other dependency
  286. management system, all Vaadin dependencies are downloaded
  287. automatically. This is also the case when using the Vaadin
  288. Plugin for Eclipse.</p>
  289. <p>
  290. The Vaadin ZIP installation package includes the
  291. dependencies in the
  292. <tt>lib</tt>
  293. subfolder. These need to be copied to the
  294. <tt>WEB-INF/lib</tt>
  295. folder of the web application that uses Vaadin.
  296. </p>
  297. <p>
  298. The dependencies are listed in the <a href="license.html">Licensing
  299. description</a>. Some are explicit dependencies packaged and
  300. distributed as separate JARs, while some are included inside
  301. other libraries.
  302. </p>
  303. <h3>Bean Validation</h3>
  304. <p>
  305. If you use the bean validation feature in Vaadin 7, you need
  306. a Bean Validation API implementation. You need to install
  307. the implementation JAR in the
  308. <tt>WEB-INF/lib</tt>
  309. directory of the web application that uses validation.
  310. </p>
  311. <h2 id="upgrading">Upgrading from Vaadin 7.1 to Vaadin @version-minor@</h2>
  312. <p>When upgrading from an earlier Vaadin version, you must:
  313. </p>
  314. <ul>
  315. <li>Recompile your classes using the new Vaadin
  316. version. Binary compatibility is only guaranteed for
  317. maintenance releases of Vaadin.</li>
  318. <li>Unless using the precompiled widget set, recompile
  319. your widget set using the new Vaadin version.</li>
  320. </ul>
  321. <p>Remember also to refresh the project in your IDE to
  322. ensure that the new version of everything is in use.</p>
  323. <p>
  324. By using the "
  325. <tt>?debug</tt>
  326. " URL parameter, you can verify that the version of the
  327. servlet, the theme, and the widget set all match.
  328. </p>
  329. <p>
  330. <b>Eclipse</b> users should always check if there is a new
  331. version of the Eclipse Plug-in available. The Eclipse
  332. Plug-in can be used to update the Vaadin version in the
  333. project (Project properties &raquo; Vaadin).
  334. </p>
  335. <p>
  336. <b>Maven</b> users should update the Vaadin dependency
  337. version in the
  338. <tt>pom.xml</tt>
  339. unless it is defined as
  340. <tt>LATEST</tt>
  341. . You must also ensure that the GWT dependency uses the
  342. correct version and recompile your project and your widget
  343. set.
  344. </p>
  345. <p>
  346. <b>Liferay and other portal</b> users must install the
  347. Vaadin libraries in
  348. <t>ROOT/WEB-INF/lib/</b> in the portal (and remove a
  349. possibly obsolete older <tt>vaadin.jar</tt>). Additionally,
  350. the contents of the <tt>vaadin-client-compiled</tt> and <tt>vaadin-themes</tt>
  351. must be extracted to the <tt>ROOT/html/VAADIN</tt> directory
  352. in the Liferay installation. If your portal uses custom
  353. widgets, you can use <a
  354. href="http://vaadin.com/directory#addon/liferay-control-panel-plugin-for-vaadin:vaadin">
  355. Liferay Control Panel for Vaadin</a> for easy widget set compilation.</t>
  356. </p>
  357. <h2 id="gae">
  358. Notes and Limitations for Google App Engine
  359. </h4>
  360. </h2>
  361. <p>The following instructions and limitations apply when you
  362. run a Vaadin application under the Google App Engine.</p>
  363. <ul>
  364. <li>
  365. <p>
  366. Applications must use <b>GAEVaadinServlet</b>
  367. instead of <b>VaadinServlet</b> in
  368. <tt>web.xml</tt>
  369. .
  370. </p>
  371. </li>
  372. <li>
  373. <p>
  374. Session support must be enabled in
  375. <tt>appengine-web.xml</tt>
  376. :
  377. </p> <pre> &lt;sessions-enabled&gt;true&lt;/sessions-enabled&gt;</pre>
  378. </li>
  379. <li>
  380. <p>Avoid using the session for storage, usual App
  381. Engine limitations apply (no synchronization, that
  382. is, unreliable).</p>
  383. </li>
  384. <li>
  385. <p>
  386. Vaadin uses memcache for mutex, the key is of the
  387. form
  388. <tt>_vmutex&lt;sessionid&gt;</tt>
  389. .
  390. </p>
  391. </li>
  392. <li>
  393. <p>
  394. The Vaadin <b>VaadinSession</b> class is serialized
  395. separately into memcache and datastore; the memcache
  396. key is
  397. <tt>_vac&lt;sessionid&gt;</tt>
  398. and the datastore entity kind is
  399. <tt>_vac</tt>
  400. with identifiers of the type
  401. <tt>_vac&lt;sessionid&gt;</tt>
  402. .
  403. </p>
  404. </li>
  405. <li>
  406. <p>
  407. DO NOT update application state when serving an <b>ConnectorResource</b>
  408. (such as <b>ClassResource</b>.<i>getStream()</i>).
  409. </p>
  410. </li>
  411. <li>
  412. <p>The application remains locked during uploads - a
  413. progress bar is not possible</p>
  414. </li>
  415. </ul>
  416. <p>
  417. For other known problems, see open tickets at developer site
  418. <a href="http://dev.vaadin.com/">dev.vaadin.com</a>.
  419. </p>
  420. <h2 id="supportedversions">Supported Technologies</h2>
  421. <p>
  422. Vaadin 7 is compatible with <b>Java 6</b> and newer. Vaadin
  423. 7 is especially supported on the following <b>operating
  424. systems</b>:
  425. </p>
  426. <ul>
  427. <li>Windows</li>
  428. <li>Linux</li>
  429. <li>Mac OS X</li>
  430. </ul>
  431. <p>
  432. Vaadin 7 requires <b>Java Servlet API 2.4</b> but also
  433. supports later versions and should work with any Java
  434. application server that conforms to the standard. The
  435. following <b>application servers</b> are supported:
  436. </p>
  437. <ul>
  438. <li>Apache Tomcat 5-8</li>
  439. <li>Apache TomEE 1</li>
  440. <li>Oracle WebLogic Server 10.3-12</li>
  441. <li>IBM WebSphere Application Server 7-8</li>
  442. <li>JBoss Application Server 4-7</li>
  443. <li>Wildfly 8</li>
  444. <li>Jetty 5-9</li>
  445. <li>Glassfish 2-4</li>
  446. </ul>
  447. <p>
  448. Vaadin 7 supports the JSR-286 Portlet specification and all
  449. portals that implement the specification should work. The
  450. following <b>portals</b> are supported:
  451. </p>
  452. <ul>
  453. <li>Liferay Portal 5.2-6</li>
  454. <li>GateIn Portal 3</li>
  455. <li>eXo Platform 3</li>
  456. <li>IBM WebSphere Portal 8</li>
  457. </ul>
  458. <p>
  459. Vaadin also supports <b>Google App Engine</b>.
  460. </p>
  461. <p>
  462. Vaadin @version@ supports the following <b>desktop browsers</b>:
  463. </p>
  464. <ul>
  465. <li>Mozilla Firefox 18-29</li>
  466. <li>Mozilla Firefox 17 ESR, 24 ESR</li>
  467. <li>Internet Explorer 8-11</li>
  468. <li>Safari 6-7</li>
  469. <li>Opera 12, 16-20</li>
  470. <li>Google Chrome 23-34</li>
  471. </ul>
  472. <p>
  473. Additionally, Vaadin supports the built-in browsers in the
  474. following <b>mobile operating systems</b>:
  475. </p>
  476. <ul>
  477. <li>iOS 5-7</li>
  478. <li>Android 2.3-4</li>
  479. <li>Windows Phone 8</li>
  480. </ul>
  481. <p>Vaadin SQL Container supports the following databases:</p>
  482. <ul>
  483. <li>HSQLDB</li>
  484. <li>MySQL</li>
  485. <li>MSSQL</li>
  486. <li>Oracle</li>
  487. <li>PostgreSQL</li>
  488. </ul>
  489. <h2 id="authors">Authors</h2>
  490. Vaadin @version@ was created by:
  491. <ul>
  492. @release-notes-authors@
  493. </ul>
  494. <h2 id="vaadinontheweb">Vaadin on the Web</h2>
  495. <ul>
  496. <li><a href="http://vaadin.com">vaadin.com - The
  497. developer portal containing everything you need to
  498. know about Vaadin</a></li>
  499. <li><a href="http://vaadin.com/demo">vaadin.com/demo
  500. - A collection of demos for Vaadin</a></li>
  501. <li><a href="http://vaadin.com/learn">vaadin.com/learn
  502. - Getting started with Vaadin</a></li>
  503. <li><a href="http://vaadin.com/forum">vaadin.com/forum
  504. - Forums for Vaadin related discussions</a></li>
  505. <li><a href="http://vaadin.com/book">vaadin.com/book
  506. - Book of Vaadin - everything you need to know about
  507. Vaadin</a></li>
  508. <li><a href="http://vaadin.com/api">vaadin.com/api
  509. - Online javadocs</a></li>
  510. <li><a href="http://vaadin.com/directory">vaadin.com/directory
  511. - Add-ons for Vaadin</a></li>
  512. <li><a href="http://vaadin.com/pro-tools">vaadin.com/pro-tools
  513. - Commercial tools for Vaadin development</a></li>
  514. <li><a href="http://vaadin.com/support">vaadin.com/support
  515. - Commercial support for Vaadin development </a></li>
  516. <li><a href="http://vaadin.com/services">vaadin.com/services
  517. - Expert services for Vaadin</a></li>
  518. <li><a href="http://vaadin.com/company">vaadin.com/company
  519. - Information about the company behind Vaadin</a></li>
  520. <li><a href="http://dev.vaadin.com">dev.vaadin.com
  521. - Bug tracker</a></li>
  522. <li><a
  523. href="http://dev.vaadin.com/wiki/Vaadin/Development/StartingVaadin7Development">How
  524. to get the source code of Vaadin</a></li>
  525. </ul>
  526. </div>
  527. <!-- /content-->
  528. <div id="footer">
  529. <span class="slogan"><strong>vaadin <em>}></em>
  530. </strong> thinking of U and I<span> <a href="#top">&uarr; Back
  531. to top</a>
  532. </div>
  533. <!-- /footer -->
  534. </body>
  535. </html>
  536. <!-- Keep this comment at the end of the file
  537. Local variables:
  538. mode: xml
  539. sgml-omittag:nil
  540. sgml-shorttag:nil
  541. sgml-namecase-general:nil
  542. sgml-general-insert-case:lower
  543. sgml-minimize-attributes:nil
  544. sgml-always-quote-attributes:t
  545. sgml-indent-step:2
  546. sgml-indent-data:t
  547. sgml-parent-document:nil
  548. sgml-exposed-tags:nil
  549. sgml-local-catalogs:("/etc/sgml/catalog" "/usr/share/xemacs21/xemacs-packages/etc/psgml-dtds/CATALOG")
  550. sgml-local-ecat-files:("ECAT" "~/sgml/ECAT" "/usr/share/sgml/ECAT" "/usr/local/share/sgml/ECAT" "/usr/local/lib/sgml/ECAT")
  551. End:
  552. -->