~~ $Id$
~~
~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements.  See the NOTICE file
~~ distributed with this work for additional information
~~ regarding copyright ownership.  The ASF licenses this file
~~ to you under the Apache License, Version 2.0 (the
~~ "License"); you may not use this file except in compliance
~~ with the License.  You may obtain a copy of the License at
~~
~~ http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing,
~~ software distributed under the License is distributed on an
~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~~ KIND, either express or implied.  See the License for the
~~ specific language governing permissions and limitations
~~ under the License.
~~
         -----------
         Tutorial
         -----------

Introduction

  This tutorial is intended to provide a help for first-time Tiles users.

Summary
  
  [[1]] {{{pattern.html}The "composite view" pattern}}
  
  [[2]] {{{configuration.html}Configuring your web application}}
  
  [[3]] {{{wildcard-configuration.html}Wildcards in configuration files}}
  
  [[4]] {{{basic/index.html}Basic Usage}}
  
        [[1]] {{{basic/concepts.html}Tiles Concepts}}
        
        [[2]] {{{basic/pages.html}Creating Tiles Pages}}
        
  [[5]] {{{advanced/index.html}Advanced Topics}}
  
        [[1]] {{{advanced/nesting-extending.html}Nesting and Extending Definitions}}

        [[2]] {{{advanced/list-attributes.html}List Attributes}}
        
        [[3]] {{{advanced/runtime.html}Runtime Composition}}

        [[4]] {{{advanced/preparer.html}View Preparers}}

        [[5]] {{{advanced/utils.html}Rendering Utilities}}

        [[6]] {{{advanced/l10n.html}Tiles Localization}}
  
        [[7]] {{{advanced/beans.html}Using Beans as attributes}}
  
        [[8]] {{{advanced/menu.html}Menu-ing support}}
  
        [[9]] {{{advanced/wildcard.html}Wildcard support}}
  
        [[10]] {{{advanced/el-support.html}EL support}}

        [[11]] {{{advanced/attribute-rendering.html}Attribute rendering}}

        [[12]] {{{advanced/multiple-containers.html}Using multiple containers}}

        [[13]] {{{advanced/security.html}Security}}

  [[6]] {{{integration/index.html}Integration with other technologies}}
  
        [[1]] {{{integration/frameworks.html}Integration with other frameworks}}
  
        [[2]] {{{integration/view.html}Integration with other view technologies}}
  
  [[7]] {{{extension/index.html}Extending Tiles}}
  
        [[1]] {{{extension/points.html}Tiles Extension Points}}
  
        [[2]] {{{extension/url_definitions_factory.html}Customizing <<<UrlDefinitionsFactory>>>}}
