You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2011/10/13 01:55:51 UTC

svn commit: r1182619 - in /tapestry/tapestry5/trunk/quickstart: ./ prototypes/ prototypes/META-INF/ prototypes/META-INF/maven/org.apache.tapestry/quickstart/ prototypes/archetype-resources/ prototypes/archetype-resources/src/main/java/components/ proto...

Author: hlship
Date: Wed Oct 12 23:55:50 2011
New Revision: 1182619

URL: http://svn.apache.org/viewvc?rev=1182619&view=rev
Log:
TAP5-1682: 5.3-beta-x Maven Archetype does not work

Removed:
    tapestry/tapestry5/trunk/quickstart/prototypes/META-INF/INDEX.LIST
    tapestry/tapestry5/trunk/quickstart/prototypes/META-INF/MANIFEST.MF
    tapestry/tapestry5/trunk/quickstart/prototypes/META-INF/maven/org.apache.tapestry/quickstart/pom.properties
    tapestry/tapestry5/trunk/quickstart/prototypes/META-INF/maven/org.apache.tapestry/quickstart/pom.xml
    tapestry/tapestry5/trunk/quickstart/prototypes/archetype-catalog.xml
Modified:
    tapestry/tapestry5/trunk/quickstart/build.gradle
    tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/pom.xml
    tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/components/Layout.java
    tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/pages/Index.java
    tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/services/AppModule.java
    tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/services/DevelopmentModule.java
    tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/services/QaModule.java
    tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/components/Layout.tml
    tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/log4j.properties
    tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/pages/About.tml
    tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/pages/Contact.tml
    tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/pages/Index.tml
    tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/webapp/WEB-INF/web.xml
    tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/webapp/layout/layout.css

Modified: tapestry/tapestry5/trunk/quickstart/build.gradle
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/build.gradle?rev=1182619&r1=1182618&r2=1182619&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/build.gradle (original)
+++ tapestry/tapestry5/trunk/quickstart/build.gradle Wed Oct 12 23:55:50 2011
@@ -17,51 +17,10 @@ import org.apache.tools.ant.filters.Repl
 
 generatedDir = new File(buildDir, 'quickstart-generated')
 
-/*
- * An example on how to scp the generated archetype-catalog.xml to the tapestry.apache.org
- * site, we need a nice way to hook it in the right place
- */
-//configurations {
-//    scpTask
-//}
-//
-//dependencies {
-//    scpTask 'org.apache.ant:ant-jsch:1.8.2', 'com.jcraft:jsch:0.1.42'
-//}
-//
-//
-//task publishArchetypeCatalog(dependsOn: 'archetype') {
-//    description = 'Update archetype on minotaur'
-//
-//    // As with properties to deploy to the maven repositories (staging or central)
-//    // minotaurDeployUsername and minotaurDeployPassword should be specified in
-//    // ~/.gradle/gradle.properties
-//    // "minotaurDeployUsername"
-//    // "minotaurDeployPassword"
-//    // "minotaurSshPassphrase"
-//
-//    scpToDir = minotaurDeployUserName + "@people.apache.org:/tmp"
-//
-//    println scpToDir
-//
-//    ant.taskdef(name: 'scp', classname: 'org.apache.tools.ant.taskdefs.optional.ssh.Scp',
-//            classpath: configurations.scpTask.asPath)
-//
-//    ant.scp(todir: scpToDir,
-//            keyfile: '${user.home}/.ssh/id_rsa',
-//            // passphrase: minotaurSshPassphrase,
-//            // password: minotaurDeployPassword,
-//            verbose: 'true') {
-//        fileset(dir: generatedDir) {
-//            include(name: '**/archetype-catalog.xml')
-//        }
-//    }
-//}
-
 task generateArchetype(type: Copy) {
     srcDir = file('prototypes')
 
-    // This let gradle knwo where is UP-TO-DATE
+    // This let gradle know where is UP-TO-DATE
     inputs.file srcDir
     outputs.dir generatedDir
 
@@ -89,8 +48,5 @@ task archetype(type: Jar, dependsOn: 'ge
     baseName = "quickstart"
     version = project.version
 
-    exclude '**/*.pom'
-    exclude '**/archetype-catalog.xml'
-
     from generatedDir
 }

Modified: tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/pom.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/pom.xml?rev=1182619&r1=1182618&r2=1182619&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/pom.xml (original)
+++ tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/pom.xml Wed Oct 12 23:55:50 2011
@@ -1,4 +1,5 @@
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
     <modelVersion>4.0.0</modelVersion>
     <groupId>${groupId}</groupId>
     <artifactId>${artifactId}</artifactId>
@@ -7,11 +8,32 @@
     <name>${artifactId} Tapestry 5 Application</name>
     #set( $D = '$' )
     <dependencies>
+        <!-- Too set up an application with a database, change the artifactId below to
+             tapestry-hibernate, and add a dependency on your JDBC driver. You'll also
+             need to add Hibernate configuration files, such as hibernate.cfg.xml. -->
         <dependency>
             <groupId>org.apache.tapestry</groupId>
             <artifactId>tapestry-core</artifactId>
             <version>${D}{tapestry-release-version}</version>
         </dependency>
+
+        <!-- This adds automatic compression of JavaScript and CSS when in production mode. -->
+        <dependency>
+            <groupId>org.apache.tapestry</groupId>
+            <artifactId>tapestry-yuicompressor</artifactId>
+            <version>${D}{tapestry-release-version}</version>
+        </dependency>
+
+        <!-- Uncomment this to add support for file uploads:
+
+         <dependency>
+            <groupId>org.apache.tapestry</groupId>
+            <artifactId>tapestry-upload</artifactId>
+            <version>${D}{tapestry-release-version}</version>
+        </dependency>
+
+        -->
+
         <!-- A dependency on either JUnit or TestNG is required, or the surefire plugin (which runs the tests)
 will fail, preventing Maven from packaging the WAR. Tapestry includes a large number
 of testing facilities designed for use with TestNG (http://testng.org/), so it's recommended. -->
@@ -45,7 +67,7 @@ of testing facilities designed for use w
             <scope>provided</scope>
         </dependency>
 
-        <!-- Provided dependeny to the Tapestry javadoc taglet which server as the old component report -->
+        <!-- Provide dependency to the Tapestry javadoc taglet which replaces the Maven component report -->
         <dependency>
             <groupId>org.apache.tapestry</groupId>
             <artifactId>tapestry-javadoc</artifactId>
@@ -93,7 +115,7 @@ of testing facilities designed for use w
                     <systemProperties>
                         <systemProperty>
                             <name>tapestry.execution-mode</name>
-                            <value>Development</value>
+                            <value>development</value>
                         </systemProperty>
                     </systemProperties>
                 </configuration>
@@ -101,28 +123,18 @@ of testing facilities designed for use w
         </plugins>
     </build>
 
-    <reporting />
+    <reporting/>
 
     <repositories>
 
-        <!-- This repository is only needed when the tapestry-release-version is a snapshot release. -->
+        <!-- This repository is only needed when the Tapestry version is a preview release, rather
+             than a final release. -->
         <repository>
-            <id>apache-snapshots</id>
-            <url>http://repository.apache.org/snapshots/</url>
+            <id>apache-staging</id>
+            <url>https://repository.apache.org/content/groups/staging/</url>
         </repository>
     </repositories>
 
-    <pluginRepositories>
-
-        <!-- As above, this can be commented out when access to the snapshot version
-of a Tapestry Maven plugin is not required.   -->
-        <pluginRepository>
-            <id>apache-snapshots</id>
-            <url>http://repository.apache.org/snapshots/</url>
-        </pluginRepository>
-
-    </pluginRepositories>
-
     <properties>
         <tapestry-release-version>@tapestryReleaseVersion@</tapestry-release-version>
         <servlet-api-release-version>@servletApiReleaseVersion@</servlet-api-release-version>

Modified: tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/components/Layout.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/components/Layout.java?rev=1182619&r1=1182618&r2=1182619&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/components/Layout.java (original)
+++ tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/components/Layout.java Wed Oct 12 23:55:50 2011
@@ -1,9 +1,12 @@
-package ${package}.components;
+package $
+
+{package}.components;
 
 import org.apache.tapestry5.*;
 import org.apache.tapestry5.annotations.*;
 import org.apache.tapestry5.ioc.annotations.*;
 import org.apache.tapestry5.BindingConstants;
+import org.apache.tapestry5.SymbolConstants
 
 /**
  * Layout component for pages of application ${artifactId}.
@@ -11,7 +14,9 @@ import org.apache.tapestry5.BindingConst
 @IncludeStylesheet("context:layout/layout.css")
 public class Layout
 {
-    /** The page title, for the <title> element and the <h1> element. */
+    /**
+     * The page title, for the <title> element and the <h1> element.
+     */
     @Property
     @Parameter(required = true, defaultPrefix = BindingConstants.LITERAL)
     private String title;
@@ -30,15 +35,21 @@ public class Layout
     @Inject
     private ComponentResources resources;
 
+    @Property
+    @Inject
+    @Symbol(SymbolConstants.APPLICATION_VERSION)
+    private String appVersion;
+
+
     public String getClassForPageName()
     {
-      return resources.getPageName().equalsIgnoreCase(pageName)
-             ? "current_page_item"
-             : null;
+        return resources.getPageName().equalsIgnoreCase(pageName)
+                ? "current_page_item"
+                : null;
     }
 
     public String[] getPageNames()
     {
-      return new String[] { "Index", "About", "Contact" };
+        return new String[]{"Index", "About", "Contact"};
     }
 }

Modified: tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/pages/Index.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/pages/Index.java?rev=1182619&r1=1182618&r2=1182619&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/pages/Index.java (original)
+++ tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/pages/Index.java Wed Oct 12 23:55:50 2011
@@ -1,14 +1,49 @@
-package ${package}.pages;
+package $
+
+{package}.pages;
 
 import java.util.Date;
+import org.apache.tapestry5.annotations.*;
+import org.apache.tapestry5.ioc.annotations.*;
+import org.apache.tapestry5.corelib.components.*;
+import org.apache.tapestry5.SymbolConstants
 
 /**
  * Start page of application ${artifactId}.
  */
 public class Index
 {
-	public Date getCurrentTime() 
-	{ 
-		return new Date(); 
-	}
+    @Property
+    @Inject
+    @Symbol(SymbolConstants.TAPESTRY_VERSION)
+    private String tapestryVersion;
+
+    @InjectComponent
+    private Zone zone;
+
+    @Persist
+    @Property
+    private int clickCount;
+
+    @Inject
+    private AlertManager alertManager;
+
+    public Date getCurrentTime()
+    {
+        return new Date();
+    }
+
+    void onActionFromIncrement()
+    {
+        alertManager.info("Increment clicked");
+
+        clickCount++;
+    }
+
+    Object onActionFromIncrementAjax()
+    {
+        alertManager.info("Increment (via Ajax) clicked");
+
+        return zone;
+    }
 }

Modified: tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/services/AppModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/services/AppModule.java?rev=1182619&r1=1182618&r2=1182619&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/services/AppModule.java (original)
+++ tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/services/AppModule.java Wed Oct 12 23:55:50 2011
@@ -1,4 +1,6 @@
-package ${package}.services;
+package $
+
+{package}.services;
 
 import java.io.IOException;
 
@@ -22,32 +24,36 @@ public class AppModule
     public static void bind(ServiceBinder binder)
     {
         // binder.bind(MyServiceInterface.class, MyServiceImpl.class);
-        
+
         // Make bind() calls on the binder object to define most IoC services.
         // Use service builder methods (example below) when the implementation
         // is provided inline, or requires more initialization than simply
         // invoking the constructor.
     }
-    
-    
+
+    public static void contributeFactoryDefaults(
+            MappedConfiguration<String, Object> configuration)
+    {
+        // The application version number is incorprated into URLs for some
+        // assets. Web browsers will cache assets because of the far future expires
+        // header. If existing assets are changed, the version number should also
+        // change, to force the browser to download new versions. This overrides Tapesty's default
+        // (a random hexadecimal number), but may be further overriden by DevelopmentModule or
+        // QaModule.
+        configuration.override(SymbolConstants.APPLICATION_VERSION, "${version}");
+    }
+
     public static void contributeApplicationDefaults(
-            MappedConfiguration<String, String> configuration)
+            MappedConfiguration<String, Object> configuration)
     {
         // Contributions to ApplicationDefaults will override any contributions to
         // FactoryDefaults (with the same key). Here we're restricting the supported
         // locales to just "en" (English). As you add localised message catalogs and other assets,
         // you can extend this list of locales (it's a comma separated series of locale names;
         // the first locale name is the default when there's no reasonable match).
-        
         configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en");
-
-        // The application version number is incorprated into URLs for some
-        // assets. Web browsers will cache assets because of the far future expires
-        // header. If existing assets are changed, the version number should also
-        // change, to force the browser to download new versions.
-        configuration.add(SymbolConstants.APPLICATION_VERSION, "${version}");
     }
-    
+
 
     /**
      * This is a service definition, the service will be named "TimingFilter". The interface,
@@ -55,18 +61,18 @@ public class AppModule
      * RequestHandler service configuration. Tapestry IoC is responsible for passing in an
      * appropriate Logger instance. Requests for static resources are handled at a higher level, so
      * this filter will only be invoked for Tapestry related requests.
-     * 
-     * <p>
+     * <p/>
+     * <p/>
      * Service builder methods are useful when the implementation is inline as an inner class
      * (as here) or require some other kind of special initialization. In most cases,
-     * use the static bind() method instead. 
-     * 
-     * <p>
-     * If this method was named "build", then the service id would be taken from the 
+     * use the static bind() method instead.
+     * <p/>
+     * <p/>
+     * If this method was named "build", then the service id would be taken from the
      * service interface and would be "RequestFilter".  Since Tapestry already defines
      * a service named "RequestFilter" we use an explicit service id that we can reference
      * inside the contribution method.
-     */    
+     */
     public RequestFilter buildTimingFilter(final Logger log)
     {
         return new RequestFilter()
@@ -81,10 +87,9 @@ public class AppModule
                     // The responsibility of a filter is to invoke the corresponding method
                     // in the handler. When you chain multiple filters together, each filter
                     // received a handler that is a bridge to the next filter.
-                    
+
                     return handler.service(request, response);
-                }
-                finally
+                } finally
                 {
                     long elapsed = System.currentTimeMillis() - startTime;
 
@@ -102,13 +107,13 @@ public class AppModule
      * that implement RequestFilter (defined in other modules).
      */
     public void contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration,
-            @Local
-            RequestFilter filter)
+                                         @Local
+                                         RequestFilter filter)
     {
         // Each contribution to an ordered configuration has a name, When necessary, you may
         // set constraints to precisely control the invocation order of the contributed filter
         // within the pipeline.
-        
+
         configuration.add("Timing", filter);
     }
 }

Modified: tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/services/DevelopmentModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/services/DevelopmentModule.java?rev=1182619&r1=1182618&r2=1182619&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/services/DevelopmentModule.java (original)
+++ tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/services/DevelopmentModule.java Wed Oct 12 23:55:50 2011
@@ -1,18 +1,6 @@
-// Copyright (c) 2011. The Apache Software Foundation
-//
-// 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.
+package $
 
-package ${package}.services;
+{package}.services;
 
 import java.io.IOException;
 
@@ -29,25 +17,17 @@ import org.slf4j.Logger;
 
 /**
  * This module is automatically included as part of the Tapestry IoC Registry if <em>tapestry.execution-mode</em>
- * contains the <code>DevelopmentMode</code>.
+ * includes <code>development</code>.
  */
 public class DevelopmentModule
 {
     public static void contributeApplicationDefaults(
-            MappedConfiguration<String, String> configuration)
+            MappedConfiguration<String, Object> configuration)
     {
-        // Contributions to ApplicationDefaults will override any contributions to
-        // FactoryDefaults (with the same key). Here we're restricting the supported
-        // locales to just "en" (English). As you add localised message catalogs and other assets,
-        // you can extend this list of locales (it's a comma separated series of locale names;
-        // the first locale name is the default when there's no reasonable match).
-        
-        configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en");
-
         // The factory default is true but during the early stages of an application
         // overriding to false is a good idea. In addition, this is often overridden
         // on the command line as -Dtapestry.production-mode=false
-        configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
+        configuration.add(SymbolConstants.PRODUCTION_MODE, false);
 
         // The application version number is incorprated into URLs for some
         // assets. Web browsers will cache assets because of the far future expires

Modified: tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/services/QaModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/services/QaModule.java?rev=1182619&r1=1182618&r2=1182619&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/services/QaModule.java (original)
+++ tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/java/services/QaModule.java Wed Oct 12 23:55:50 2011
@@ -1,18 +1,6 @@
-// Copyright (c) 2011. The Apache Software Foundation
-//
-// 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.
+package $
 
-package ${package}.services;
+{package}.services;
 
 import java.io.IOException;
 
@@ -29,7 +17,7 @@ import org.slf4j.Logger;
 
 /**
  * This module is automatically included as part of the Tapestry IoC Registry if <em>tapestry.execution-mode</em>
- * contains the <code>QaMode</code>.
+ * includes <code>qa</code> ("quality assurance").
  */
 public class QaModule
 {
@@ -38,23 +26,15 @@ public class QaModule
         // Bind any services needed by the QA team to produce their reports
         // binder.bind(MyServiceMonitorInterface.class, MyServiceMonitorImpl.class);
     }
-    
+
 
     public static void contributeApplicationDefaults(
-            MappedConfiguration<String, String> configuration)
+            MappedConfiguration<String, Object> configuration)
     {
-        // Contributions to ApplicationDefaults will override any contributions to
-        // FactoryDefaults (with the same key). Here we're restricting the supported
-        // locales to just "en" (English). As you add localised message catalogs and other assets,
-        // you can extend this list of locales (it's a comma separated series of locale names;
-        // the first locale name is the default when there's no reasonable match).
-        
-        configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en");
-
         // The factory default is true but during the early stages of an application
         // overriding to false is a good idea. In addition, this is often overridden
         // on the command line as -Dtapestry.production-mode=false
-        configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
+        configuration.add(SymbolConstants.PRODUCTION_MODE, false);
 
         // The application version number is incorprated into URLs for some
         // assets. Web browsers will cache assets because of the far future expires

Modified: tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/components/Layout.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/components/Layout.tml?rev=1182619&r1=1182618&r2=1182619&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/components/Layout.tml (original)
+++ tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/components/Layout.tml Wed Oct 12 23:55:50 2011
@@ -1,83 +1,89 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<!--
-
-Design by Free CSS Templates
-http://www.freecsstemplates.org
-Released for free under a Creative Commons Attribution 2.5 License
-
-Title      : Concrete
-Version    : 1.0
-Released   : 20080825
-Description: A Web 2.0 design with fluid width suitable for blogs and small websites.
--->
-        #set( $D = '$' )
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"
-      xmlns:p="tapestry:parameter">
-    <head>
-        <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
-        <title>${D}{title}</title>
-    </head>
-    <body>
-        <!-- start header -->
-        <div id="header">
-            <div id="logo">
-                <h1>
-                    <t:pagelink page="index">${groupId}:${artifactId}</t:pagelink>
-                </h1>
-            </div>
-            <div id="menu">
-                <ul>
-                    <li t:type="loop" source="pageNames" value="pageName" class="prop:classForPageName">
-                        <t:pagelink page="prop:pageName">${D}{pageName}</t:pagelink>
-                    </li>
-                </ul>
-            </div>
-        </div>
-        <!-- end header -->
-        <!-- start page -->
-        <div id="page">
-            <!-- start sidebar -->
-            <div id="sidebar">
-                <ul>
-                    <li id="search" style="background: none;">
-                    </li>
-                    <li t:type="if" test="sidebar">
-                        <h2>${D}{sidebarTitle}</h2>
-                        <div class="sidebar-content">
-                            <t:delegate to="sidebar"/>
-                        </div>
-                    </li>
-                </ul>
-            </div>
-            <!-- end sidebar -->
-            <!-- start content -->
-            <div id="content">
-                <div class="post">
-                    <div class="title">
-                        <h2>${D}{title}</h2>
-                    </div>
-                    <div class="entry">
-                        <t:body/>
-                    </div>
-                </div>
-            </div>
-            <!-- end content -->
-            <br style="clear: both;"/>
-        </div>
-        <!-- end page -->
-        <!-- start footer -->
-        <div id="footer">
-            <p class="legal">
-                &copy;2009 ${groupId}. All Rights Reserved.
-                &nbsp;&nbsp;&bull;&nbsp;&nbsp;
-                Design by
-                <a href="http://www.freecsstemplates.org/">Free CSS Templates</a>
-                &nbsp;&nbsp;&bull;&nbsp;&nbsp;
-                Icons by
-                <a href="http://famfamfam.com/">FAMFAMFAM</a>.
-            </p>
-        </div>
-        <!-- end footer -->
-    </body>
-</html>
+<!DOCTYPE html>
+<!--
+
+Design by Free CSS Templates
+http://www.freecsstemplates.org
+Released for free under a Creative Commons Attribution 2.5 License
+
+Title      : Concrete (modified for Tapestry)
+Version    : 1.0
+Released   : 20080825
+Description: A Web 2.0 design with fluid width suitable for blogs and small websites.
+-->
+        #set( $D = '$' )
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"
+      xmlns:p="tapestry:parameter">
+    <head>
+        <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
+        <title>${D}{title}</title>
+    </head>
+    <body>
+        <!-- start header -->
+        <div class="header">
+            <div class="logo">
+                <h1>
+                    <t:pagelink page="index">${groupId}:${artifactId}</t:pagelink>
+                    &nbsp;
+                    version ${D}{appVersion}
+                </h1>
+            </div>
+            <div class="menu">
+                <ul>
+                    <li t:type="loop" source="pageNames" value="pageName" class="prop:classForPageName">
+                        <t:pagelink page="prop:pageName">${D}{pageName}</t:pagelink>
+                    </li>
+                </ul>
+            </div>
+        </div>
+        <!-- end header -->
+        <!-- start page -->
+        <div class="page">
+            <!-- start sidebar -->
+            <div class="sidebar">
+                <ul>
+                    <li class="search" style="background: none;">
+                    </li>
+                    <li>
+                        <t:alerts/>
+                    </li>
+                    <li t:type="if" test="sidebar">
+                        <h2>${D}{sidebarTitle}</h2>
+
+                        <div class="sidebar-content">
+                            <t:delegate to="sidebar"/>
+                        </div>
+                    </li>
+                </ul>
+            </div>
+            <!-- end sidebar -->
+            <!-- start content -->
+            <div class="content">
+                <div class="post">
+                    <div class="title">
+                        <h2>${D}{title}</h2>
+                    </div>
+                    <div class="entry">
+                        <t:body/>
+                    </div>
+                </div>
+            </div>
+            <!-- end content -->
+            <br style="clear: both;"/>
+        </div>
+        <!-- end page -->
+        <!-- start footer -->
+        <div class="footer">
+            <p class="legal">
+                &copy;${year} ${groupId}. All Rights Reserved.
+                &nbsp;&nbsp;&bull;&nbsp;&nbsp;
+                Design by
+                <a href="http://www.freecsstemplates.org/">Free CSS Templates</a>
+                &nbsp;&nbsp;&bull;&nbsp;&nbsp;
+                Icons by
+                <a href="http://famfamfam.com/">FAMFAMFAM</a>.
+            </p>
+        </div>
+        <!-- end footer -->
+    </body>
+</html>

Modified: tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/log4j.properties
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/log4j.properties?rev=1182619&r1=1182618&r2=1182619&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/log4j.properties (original)
+++ tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/log4j.properties Wed Oct 12 23:55:50 2011
@@ -15,8 +15,8 @@ log4j.category.${package}.services.AppMo
 # Outputs a list of pages, components and mixins at startup.
 log4j.category.org.apache.tapestry5.services.TapestryModule.ComponentClassResolver=info
 
-# Outputs startup statistics; elapsed time to setup and initialize the registry, and a list of
-# available services.
+# Outputs startup statistics; elapsed time to setup and initialize the registry, a list of
+# available services, and a launch banner that includes the Tapestry version number.
 log4j.category.org.apache.tapestry5.TapestryFilter=info
 
 

Modified: tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/pages/About.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/pages/About.tml?rev=1182619&r1=1182618&r2=1182619&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/pages/About.tml (original)
+++ tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/pages/About.tml Wed Oct 12 23:55:50 2011
@@ -1,5 +1,5 @@
 <html t:type="layout" title="About ${artifactId}"
-      xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"
+      xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"
       xmlns:p="tapestry:parameter">
 
     <p>About ${artifactId} application ...</p>

Modified: tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/pages/Contact.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/pages/Contact.tml?rev=1182619&r1=1182618&r2=1182619&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/pages/Contact.tml (original)
+++ tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/pages/Contact.tml Wed Oct 12 23:55:50 2011
@@ -1,5 +1,5 @@
 <html t:type="layout" title="Contact ${groupId}"
-      xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"
+      xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"
       xmlns:p="tapestry:parameter">
 
     <p>Contact ${groupId} ...</p>

Modified: tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/pages/Index.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/pages/Index.tml?rev=1182619&r1=1182618&r2=1182619&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/pages/Index.tml (original)
+++ tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/resources/pages/Index.tml Wed Oct 12 23:55:50 2011
@@ -1,12 +1,16 @@
 <html t:type="layout" title="${artifactId} Index"
       t:sidebarTitle="Current Time"
-      xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"
+      xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"
       xmlns:p="tapestry:parameter">
     #set( $D = '$' )
     <!-- Most of the page content, including <head>, <body>, etc. tags, comes from Layout.tml -->
 
     <p>${D}{message:greeting}</p>
 
+    <p>
+        You are running Tapestry version <strong>${D}{tapestryVersion}</strong>.
+    </p>
+
     <p:sidebar>
 
         <p>
@@ -15,9 +19,28 @@
 
         <p>The current time is: ${D}{currentTime}.</p>
 
+        <!-- A Zone is a component that can be updated in place, triggered by other components. -->
+        <t:zone t:id="zone">
+            <p>
+                You have clicked the link <strong>${D}{clickCount}</strong> times.
+            </p>
+
+            <p>
+                [
+                <t:actionlink t:id="increment">increment</t:actionlink>
+                ]
+                &nbsp;
+                [
+                <t:actionlink t:id="incrementAjax" zone="^">increment (via Ajax)</t:actionlink>
+                ]
+            </p>
+
+        </t:zone>
 
         <p>
-            [<t:pagelink page="Index">refresh</t:pagelink>]
+            [
+            <t:pagelink page="Index">refresh page</t:pagelink>
+            ]
         </p>
     </p:sidebar>
 

Modified: tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/webapp/WEB-INF/web.xml?rev=1182619&r1=1182618&r2=1182619&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/webapp/WEB-INF/web.xml (original)
+++ tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/webapp/WEB-INF/web.xml Wed Oct 12 23:55:50 2011
@@ -12,17 +12,17 @@ of where to look for pages, components a
     </context-param>
     <!--
     Specify some additional Modules for two different execution
-    modes: Development and Qa.
-    Remember that the default execution mode is: Production
+    modes: development and qa.
+    Remember that the default execution mode is production
     -->
     <context-param>
-        <param-name>tapestry.Development-modules</param-name>
+        <param-name>tapestry.development-modules</param-name>
         <param-value>
             ${package}.services.DevelopmentModule
         </param-value>
     </context-param>
     <context-param>
-        <param-name>tapestry.Qa-modules</param-name>
+        <param-name>tapestry.qa-modules</param-name>
         <param-value>
             ${package}.services.QaModule
         </param-value>

Modified: tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/webapp/layout/layout.css
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/webapp/layout/layout.css?rev=1182619&r1=1182618&r2=1182619&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/webapp/layout/layout.css (original)
+++ tapestry/tapestry5/trunk/quickstart/prototypes/archetype-resources/src/main/webapp/layout/layout.css Wed Oct 12 23:55:50 2011
@@ -1,369 +1,369 @@
-/*
-Design by Free CSS Templates
-http://www.freecsstemplates.org
-Released for free under a Creative Commons Attribution 2.5 License
-*/
-
-body {
-    margin: 0;
-    padding: 0;
-    background: #FFFFFF url( images/img01.jpg ) repeat-x;
-    text-align: justify;
-    font: 15px Arial, Helvetica, sans-serif;
-    color: #626262;
-}
-
-form {
-    margin: 0;
-    padding: 0;
-}
-
-input {
-    padding: 5px;
-    background: #FEFEFE url( images/img13.gif ) repeat-x;
-    border: 1px solid #626262;
-    font: normal 1em Arial, Helvetica, sans-serif;
-}
-
-h1, h1 a, h2, h2 a, h3, h3 a {
-    margin: 0;
-    text-decoration: none;
-    font-family: Tahoma, Georgia, "Times New Roman", Times, serif;
-    font-weight: normal;
-    color: #444444;
-}
-
-h1 {
-    letter-spacing: -1px;
-    font-size: 2.2em;
-    font-family: Verdana, Arial, Helvetica, sans-serif;
-}
-
-h2 {
-    letter-spacing: -1px;
-    font-size: 2em;
-}
-
-h3 {
-    font-size: 1em;
-}
-
-p, ol, ul {
-    margin-bottom: 2em;
-    line-height: 200%;
-}
-
-blockquote {
-    margin: 0 0 0 1.5em;
-    padding-left: 1em;
-    border-left: 5px solid #DDDDDD;
-}
-
-a {
-    color: #1692B8;
-}
-
-a:hover {
-    text-decoration: none;
-}
-
-/* Header */
-
-#header {
-    height: 42px;
-}
-
-#logo h1, #logo p {
-    float: left;
-    text-transform: lowercase;
-}
-
-#logo h1 {
-    padding: 0px 0 0 40px;
-}
-
-#logo p {
-    margin: 0;
-    padding: 14px 0 0 4px;
-    line-height: normal;
-    font-family: Verdana, Arial, Helvetica, sans-serif;
-    font-size: 14px;
-}
-
-#logo a {
-    text-decoration: none;
-    color: #D0C7A6;
-}
-
-#menu {
-    float: right;
-}
-
-#menu ul {
-    margin: 0;
-    padding: 0;
-    list-style: none;
-}
-
-#menu li {
-    display: block;
-    float: left;
-    height: 42px;
-}
-
-#menu a {
-    display: block;
-    padding: 8px 20px 0px 20px;
-    text-decoration: none;
-    text-align: center;
-    text-transform: lowercase;
-    font-family: Verdana, Arial, Helvetica, sans-serif;
-    font-weight: normal;
-    font-size: 14px;
-    color: #CEC5A4;
-}
-
-#menu .last {
-    margin-right: 20px;
-}
-
-#menu a:hover {
-    color: #FFFFFF;
-}
-
-#menu .current_page_item A {
-    text-decoration: underline;
-}
-
-#menu .current_page_item a {
-}
-
-/* Page */
-
-#page {
-    padding: 40px 40px 0 40px;
-}
-
-/* Content */
-
-#content {
-    margin-right: 340px;
-}
-
-.post {
-    margin-bottom: 10px;
-}
-
-.post .title {
-    border-bottom: 1px #999999 dashed;
-    font-family: Tahoma, Georgia, "Times New Roman", Times, serif;
-}
-
-.post .title h2 {
-    padding: 30px 30px 0 0px;
-    text-transform: lowercase;
-    font-weight: normal;
-    font-size: 2.2em;
-}
-
-.post .title p {
-    margin: 0;
-    padding: 0 0 10px 0px;
-    line-height: normal;
-    color: #BABABA;
-}
-
-.post .title p a {
-    color: #BABABA;
-}
-
-.post .entry {
-    padding: 20px 0px 20px 0px;
-}
-
-.post .links {
-    margin: 0;
-    padding: 0 30px 30px 0px;
-}
-
-.post .links a {
-    display: block;
-    float: left;
-    margin-right: 10px;
-    margin-bottom: 5px;
-    text-align: center;
-    text-decoration: none;
-    font-weight: bold;
-    color: #FFFFFF;
-}
-
-.post .links a:hover {
-}
-
-.post .links .more {
-    width: 128px;
-    height: 30px;
-    background: url( images/img03.jpg ) no-repeat left center;
-}
-
-.post .links .comments {
-    width: 152px;
-    height: 30px;
-    background: url( images/img04.jpg ) no-repeat left center;
-}
-
-/* Sidebar */
-
-#sidebar {
-    float: right;
-    width: 300px;
-    margin-top: 30px;
-}
-
-#sidebar ul {
-    margin: 0;
-    padding: 0;
-    list-style: none;
-}
-
-#sidebar li {
-    margin-bottom: 10px;
-    background: url( images/img10.gif ) no-repeat left bottom;
-}
-
-#sidebar li ul {
-    padding: 0 30px 40px 30px;
-}
-
-#sidebar li li {
-    margin: 0;
-    padding-left: 20px;
-}
-
-#sidebar h2 {
-    padding: 30px 30px 5px 10px;
-    background: url( images/img09.gif ) no-repeat;
-    text-transform: lowercase;
-    font-weight: normal;
-    font-size: 1.6em;
-    color: #302D26;
-}
-
-#sidebar DIV.sidebar-content {
-    width: 265px;
-    margin-left: 10px;
-    padding-bottom: 1px;
-}
-
-/* Search */
-
-#search {
-    padding: 20px 30px 40px 30px;
-}
-
-#search input {
-    padding: 0;
-    width: 70px;
-    height: 29px;
-    background: #DFDFDF url( images/img14.gif ) repeat-x;
-    font-weight: bold;
-}
-
-#search #s {
-    padding: 5px;
-    width: 150px;
-    height: auto;
-    background: #FEFEFE url( images/img13.gif ) repeat-x;
-    border: 1px solid #626262;
-    font: normal 1em Arial, Helvetica, sans-serif;
-}
-
-#search br {
-    display: none;
-}
-
-/* Categories */
-
-#sidebar #categories li {
-    background: url( images/img12.gif ) no-repeat left center;
-}
-
-/* Calendar */
-
-#calendar_wrap {
-    padding: 0 30px 40px 30px;
-}
-
-#calendar table {
-    width: 100%;
-    text-align: center;
-}
-
-#calendar thead {
-    background: #F1F1F1;
-}
-
-#calendar tbody td {
-    border: 1px solid #F1F1F1;
-}
-
-#calendar #prev {
-    text-align: left;
-}
-
-#calendar #next {
-    text-align: right;
-}
-
-#calendar tfoot a {
-    text-decoration: none;
-    font-weight: bold;
-}
-
-#calendar #today {
-    background: #FFF3A7;
-    border: 1px solid #EB1400;
-    font-weight: bold;
-    color: #EB1400
-}
-
-/* Footer */
-
-#footer {
-    padding: 70px 0 50px 0;
-    background: #757575 url( images/img08.gif ) repeat-x;
-}
-
-#footer p {
-    margin-bottom: 1em;
-    text-align: center;
-    line-height: normal;
-    font-size: .9em;
-    color: #BABABA;
-}
-
-#footer a {
-    padding: 0 20px;
-    text-decoration: none;
-    color: #DDDDDD;
-}
-
-#footer a:hover {
-    color: #FFFFFF;
-}
-
-#footer .rss {
-    background: url( images/img18.gif ) no-repeat left center;
-}
-
-#footer .xhtml {
-    background: url( images/img19.gif ) no-repeat left center;
-}
-
-#footer .css {
-    background: url( images/img20.gif ) no-repeat left center;
-}
-
-#footer .legal a {
-    padding: 0;
-}
+/*
+Design by Free CSS Templates
+http://www.freecsstemplates.org
+Released for free under a Creative Commons Attribution 2.5 License
+*/
+
+body {
+    margin: 0;
+    padding: 0;
+    background: #FFFFFF url(images/img01.jpg) repeat-x;
+    text-align: justify;
+    font: 15px Arial, Helvetica, sans-serif;
+    color: #626262;
+}
+
+form {
+    margin: 0;
+    padding: 0;
+}
+
+input {
+    padding: 5px;
+    background: #FEFEFE url(images/img13.gif) repeat-x;
+    border: 1px solid #626262;
+    font: normal 1em Arial, Helvetica, sans-serif;
+}
+
+h1, h1 a, h2, h2 a, h3, h3 a {
+    margin: 0;
+    text-decoration: none;
+    font-family: Tahoma, Georgia, "Times New Roman", Times, serif;
+    font-weight: normal;
+    color: #444444;
+}
+
+h1 {
+    letter-spacing: -1px;
+    font-size: 2.2em;
+    font-family: Verdana, Arial, Helvetica, sans-serif;
+}
+
+h2 {
+    letter-spacing: -1px;
+    font-size: 2em;
+}
+
+h3 {
+    font-size: 1em;
+}
+
+p, ol, ul {
+    margin-bottom: 2em;
+    line-height: 200%;
+}
+
+blockquote {
+    margin: 0 0 0 1.5em;
+    padding-left: 1em;
+    border-left: 5px solid #DDDDDD;
+}
+
+a {
+    color: #1692B8;
+}
+
+a:hover {
+    text-decoration: none;
+}
+
+/* Header */
+
+div.header {
+    height: 42px;
+}
+
+div.logo h1, div.logo p {
+    float: left;
+    text-transform: lowercase;
+}
+
+div.logo h1 {
+    padding: 0px 0 0 40px;
+}
+
+div.logo p {
+    margin: 0;
+    padding: 14px 0 0 4px;
+    line-height: normal;
+    font-family: Verdana, Arial, Helvetica, sans-serif;
+    font-size: 14px;
+}
+
+div.logo a {
+    text-decoration: none;
+    color: #D0C7A6;
+}
+
+div.menu {
+    float: right;
+}
+
+div.menu ul {
+    margin: 0;
+    padding: 0;
+    list-style: none;
+}
+
+div.menu li {
+    display: block;
+    float: left;
+    height: 42px;
+}
+
+div.menu a {
+    display: block;
+    padding: 8px 20px 0px 20px;
+    text-decoration: none;
+    text-align: center;
+    text-transform: lowercase;
+    font-family: Verdana, Arial, Helvetica, sans-serif;
+    font-weight: normal;
+    font-size: 14px;
+    color: #CEC5A4;
+}
+
+div.menu .last {
+    margin-right: 20px;
+}
+
+div.menu a:hover {
+    color: #FFFFFF;
+}
+
+div.menu .current_page_item A {
+    text-decoration: underline;
+}
+
+div.menu .current_page_item a {
+}
+
+/* Page */
+
+div.page {
+    padding: 40px 40px 0 40px;
+}
+
+/* Content */
+
+#content {
+    margin-right: 340px;
+}
+
+.post {
+    margin-bottom: 10px;
+}
+
+.post .title {
+    border-bottom: 1px #999999 dashed;
+    font-family: Tahoma, Georgia, "Times New Roman", Times, serif;
+}
+
+.post .title h2 {
+    padding: 30px 30px 0 0px;
+    text-transform: lowercase;
+    font-weight: normal;
+    font-size: 2.2em;
+}
+
+.post .title p {
+    margin: 0;
+    padding: 0 0 10px 0px;
+    line-height: normal;
+    color: #BABABA;
+}
+
+.post .title p a {
+    color: #BABABA;
+}
+
+.post .entry {
+    padding: 20px 0px 20px 0px;
+}
+
+.post .links {
+    margin: 0;
+    padding: 0 30px 30px 0px;
+}
+
+.post .links a {
+    display: block;
+    float: left;
+    margin-right: 10px;
+    margin-bottom: 5px;
+    text-align: center;
+    text-decoration: none;
+    font-weight: bold;
+    color: #FFFFFF;
+}
+
+.post .links a:hover {
+}
+
+.post .links .more {
+    width: 128px;
+    height: 30px;
+    background: url(images/img03.jpg) no-repeat left center;
+}
+
+.post .links .comments {
+    width: 152px;
+    height: 30px;
+    background: url(images/img04.jpg) no-repeat left center;
+}
+
+/* Sidebar */
+
+div.sidebar {
+    float: right;
+    width: 300px;
+    margin-top: 30px;
+}
+
+div.sidebar ul {
+    margin: 0;
+    padding: 0;
+    list-style: none;
+}
+
+div.sidebar li {
+    margin-bottom: 10px;
+    background: url(images/img10.gif) no-repeat left bottom;
+}
+
+div.sidebar li ul {
+    padding: 0 30px 40px 30px;
+}
+
+div.sidebar li li {
+    margin: 0;
+    padding-left: 20px;
+}
+
+div.sidebar h2 {
+    padding: 30px 30px 5px 10px;
+    background: url(images/img09.gif) no-repeat;
+    text-transform: lowercase;
+    font-weight: normal;
+    font-size: 1.6em;
+    color: #302D26;
+}
+
+div.sidebar DIV.sidebar-content {
+    width: 265px;
+    margin-left: 10px;
+    padding-bottom: 1px;
+}
+
+/* Search */
+
+li.search {
+    padding: 20px 30px 40px 30px;
+}
+
+li.search input {
+    padding: 0;
+    width: 70px;
+    height: 29px;
+    background: #DFDFDF url(images/img14.gif) repeat-x;
+    font-weight: bold;
+}
+
+li.search #s {
+    padding: 5px;
+    width: 150px;
+    height: auto;
+    background: #FEFEFE url(images/img13.gif) repeat-x;
+    border: 1px solid #626262;
+    font: normal 1em Arial, Helvetica, sans-serif;
+}
+
+li.search br {
+    display: none;
+}
+
+/* Categories */
+
+div.sidebar div.categories li {
+    background: url(images/img12.gif) no-repeat left center;
+}
+
+/* Calendar */
+
+div.calendar_wrap {
+    padding: 0 30px 40px 30px;
+}
+
+div.calendar table {
+    width: 100%;
+    text-align: center;
+}
+
+div.calendar thead {
+    background: #F1F1F1;
+}
+
+div.calendar tbody td {
+    border: 1px solid #F1F1F1;
+}
+
+div.calendar #prev {
+    text-align: left;
+}
+
+div.calendar #next {
+    text-align: right;
+}
+
+div.calendar tfoot a {
+    text-decoration: none;
+    font-weight: bold;
+}
+
+div.calendar #today {
+    background: #FFF3A7;
+    border: 1px solid #EB1400;
+    font-weight: bold;
+    color: #EB1400
+}
+
+/* Footer */
+
+div.footer {
+    padding: 70px 0 50px 0;
+    background: #757575 url(images/img08.gif) repeat-x;
+}
+
+div.footer p {
+    margin-bottom: 1em;
+    text-align: center;
+    line-height: normal;
+    font-size: .9em;
+    color: #BABABA;
+}
+
+div.footer a {
+    padding: 0 20px;
+    text-decoration: none;
+    color: #DDDDDD;
+}
+
+div.footer a:hover {
+    color: #FFFFFF;
+}
+
+div.footer .rss {
+    background: url(images/img18.gif) no-repeat left center;
+}
+
+div.footer .xhtml {
+    background: url(images/img19.gif) no-repeat left center;
+}
+
+div.footer .css {
+    background: url(images/img20.gif) no-repeat left center;
+}
+
+div.footer .legal a {
+    padding: 0;
+}