Although I moved all of the Tapestry modules to new packages, I don't remember (intentionally) changing the logic for where the application's module is located. There's less of a call for that, as user applications will not likely have the same public interfaces/private implementations package split that libraries do.
---------- Forwarded message ---------- From: <[email protected]> Date: Mon, Apr 22, 2013 at 10:20 PM Subject: svn commit: r859539 - in /websites/production/tapestry/content: cache/main.pageCache configuration.html To: [email protected] Author: buildbot Date: Tue Apr 23 02:20:41 2013 New Revision: 859539 Log: Production update by buildbot for tapestry Modified: websites/production/tapestry/content/cache/main.pageCache websites/production/tapestry/content/configuration.html Modified: websites/production/tapestry/content/cache/main.pageCache ============================================================================== Binary files - no diff available. Modified: websites/production/tapestry/content/configuration.html ============================================================================== --- websites/production/tapestry/content/configuration.html (original) +++ websites/production/tapestry/content/configuration.html Tue Apr 23 02:20:41 2013 @@ -126,7 +126,7 @@ <p>The application-specific part, the <tt>tapestry.app-package</tt> context parameter, provides your application's root package name. Tapestry uses this to locate your page and component classes. It expects page classes in the <tt>pages</tt> sub-package and components in the <tt>components</tt> sub-package. In the example above, page classes will be stored in the <tt>org.example.myapp.pages</tt> package (or in sub-packages below). Likewise, component classes will be stored in the <tt>org.example.myapp.components</tt> package.</p> -<p>By convention, the filter name (<tt>filter-name</tt>) is almost always "app", but you can use any name you want. Tapestry uses this to determine what <em>module class</em> name to look for (see below).</p> +<p>By convention, for applications the filter name (<tt>filter-name</tt>) is almost always "app", but you can use any name you want. Tapestry uses this to determine what <em>module class</em> name to look for (see below).</p> <h2><a shape="rect" name="Configuration-YourApplication%27sModuleClass"></a>Your Application's Module Class</h2> @@ -134,7 +134,7 @@ <p>Most other configuration occurs inside your application's module class. The application module class will often define new services, provide overrides of services, or make contributions to service configurations.</p> -<p>Tapestry looks for your application module class in the services package (under the root package) of your application. It capitalizes the <filter-name> and appends "Module". In the previous example, because the filter name was "app" and the application's root package name is "org.example.myapp", the module class would be org.example.myapp.services.AppModule.</p> +<p>Tapestry looks for your application module class in a specific package under the root package of your application. In Tapestry 5.4 and later it's the "modules" package, and in Tapestry 5.3.x and earlier it's the "services" package . For the module class name Tapestry capitalizes the <filter-name> and appends "Module". In the previous example, because the filter name was "app" and the application's root package name is "org.example.myapp", the module class would be org.example.myapp.modules.AppModule (in Tapestry 5.4 and later) or org.example.myapp.services.AppModule (in Tapestry 5.3.x and earlier).</p> <p>If such a class exists, it is added to the IoC Registry. It is not an error for your application to not have a module class, though any non-trivial application will have one.</p> -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com
