Hi

Confluence's toc macro generates name attribute for anchors, that causes
navigation problems in Firefox...

As per this JIRA http://jira.atlassian.com/browse/CONF-8238 it should
generate ids instead of name to make it work.

Do we have control over this macro ?

Cheers
Christophe.

2010/10/23 <[email protected]>

>    General 
> Questions<https://cwiki.apache.org/confluence/display/TAPESTRY/General+Questions>
>  Page
> *edited* by Howard M. Lewis 
> Ship<https://cwiki.apache.org/confluence/display/%7Ehlship>
> Changes (4)
>  ...
> h3. How do I get started with Tapestry?
>
> The easiest way to get started is to use [Apache Maven|
> http://maven.apache.org] to create your initial project; Maven can use an
> _archetype_ (a kind of project template) to create a bare-bones Tapestry
> application for you. See the [TAPESTRY:Getting Started] page for more
> details.
>
> One you have Maven installed, execute the command {{mvn archetype:generate
> \-DarchetypeCatalog=}}{{[http://tapestry.apache.org]}}. Maven will (after
> performing a large number of one-time downloads) ask you questions about how
> to create the new project, including a group id (like a package name) and an
> artifact id for your new project.
> Even without Maven, Tapestry is quite easy to set up. You just need to
> [download|TAPESTRY:Download Tapestry] the binaries and setup your build to
> place them inside your WAR's WEB-INF/lib folder. The rest is just some
> one-time [configuration of the web.xml deployment
> descriptor|TAPESTRY:Configuration].
>
> {noformat}$ mvn archetype:generate -DarchetypeCatalog=
> http://tapestry.apache.org
> [INFO] Scanning for projects...
> [INFO] Searching repository for plugin with prefix: 'archetype'.
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Building Maven Default Project
> [INFO] task-segment: [archetype:generate] (aggregator-style)
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Preparing archetype:generate
> [INFO] No goals needed for project - skipping
> [INFO] [archetype:generate {execution: default-cli}]
> [INFO] Generating project in Interactive mode
> [INFO] No archetype defined. Using maven-archetype-quickstart
> (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
> Choose archetype:
> 1: http://tapestry.apache.org -> quickstart (Tapestry 5.2.1-SNAPSHOT
> Quickstart Project)
> 2: http://tapestry.apache.org -> tapestry-archetype (Tapestry 4.1.6
> Archetype)
> Choose a number: : 1
> Choose version:
> 1: 5.0.19
> 2: 5.1.0.5
> 3: 5.2.0
> 4: 5.2.1-SNAPSHOT
> Choose a number: : 3
> Define value for property 'groupId': : com.example
> Define value for property 'artifactId': : newapp
> Define value for property 'version': 1.0-SNAPSHOT:
> Define value for property 'package': com.example: com.example.newapp
> Confirm properties configuration:
> groupId: com.example
> artifactId: newapp
> version: 1.0-SNAPSHOT
> package: com.example.newapp
> Y:
> [INFO]
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESSFUL
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 25 seconds
> [INFO] Finished at: Tue Aug 17 14:01:50 PDT 2010
> [INFO] Final Memory: 16M/81M
> [INFO]
> ------------------------------------------------------------------------
> /tmp
> $ tree newapp
> newapp
> |-- pom.xml
> `-- src
> |-- main
> | |-- java
> | | `-- com
> | | `-- example
> | | `-- newapp
> | | |-- components
> | | | `-- Layout.java
> | | |-- pages
> | | | |-- About.java
> | | | |-- Contact.java
> | | | `-- Index.java
> | | `-- services
> | | `-- AppModule.java
> | |-- resources
> | | |-- com
> | | | `-- example
> | | | `-- newapp
> | | | |-- components
> | | | | `-- Layout.tml
> | | | `-- pages
> | | | `-- Index.properties
> | | `-- log4j.properties
> | `-- webapp
> | |-- About.tml
> | |-- Contact.tml
> | |-- Index.tml
> | |-- WEB-INF
> | | |-- app.properties
> | | `-- web.xml
> | |-- favicon.ico
> | `-- layout
> | |-- images
> | | |-- img01.jpg
> | | |-- img02.jpg
> | | |-- img03.jpg
> | | |-- img04.jpg
> | | |-- img05.gif
> | | |-- img06.gif
> | | |-- img07.gif
> | | |-- img08.gif
> | | |-- img09.gif
> | | |-- img10.gif
> | | |-- img11.gif
> | | |-- img12.gif
> | | |-- img13.gif
> | | |-- img14.gif
> | | |-- img15.gif
> | | |-- img16.gif
> | | |-- img17.gif
> | | |-- img18.gif
> | | |-- img19.gif
> | | |-- img20.gif
> | | `-- spacer.gif
> | |-- layout.css
> | `-- license.txt
> |-- site
> | |-- apt
> | | `-- index.apt
> | `-- site.xml
> `-- test
> |-- conf
> | |-- testng.xml
> | `-- webdefault.xml
> |-- java
> | `-- PLACEHOLDER
> `-- resources
> `-- PLACEHOLDER
>
> 25 directories, 44 files
> /tmp
> $
> {noformat}
> {warning}The exact content and layout of project generated from the
> archetype will change across different releases of Tapestry.{warning}
>
>
> Once it is created, you can load it into any IDE and start coding, or use
> {{mvn jetty:run{}}}{footnote}Jetty is a well-known, open-source,
> high-performance servlet container. Jetty starts up quickly, and implements
> the official Servlet specification very closely.{footnote}. Again, more
> one-time downloads, but then you can open your browser to [
> http://localhost:8080] to run the application.
>
> h3. Why does Tapestry use Prototype? Why not _insert favorite JavaScript
> library here_?
>
> ...
>  Full Content
> General Questions How do I get started with Tapestry?
>
> The easiest way to get started is to use Apache 
> Maven<http://maven.apache.org>to create your initial project; Maven can use an
> *archetype* (a kind of project template) to create a bare-bones Tapestry
> application for you. See the Getting 
> Started<https://cwiki.apache.org/confluence/display/TAPESTRY/Getting+Started>page
>  for more details.
>
> Even without Maven, Tapestry is quite easy to set up. You just need to
> download<https://cwiki.apache.org/confluence/display/TAPESTRY/Download+Tapestry>the
>  binaries and setup your build to place them inside your WAR's
> WEB-INF/lib folder. The rest is just some one-time configuration of the
> web.xml deployment 
> descriptor<https://cwiki.apache.org/confluence/display/TAPESTRY/Configuration>
> .
> Why does Tapestry use Prototype? Why not *insert favorite JavaScript
> library here*?
>
> An important goal for Tapestry is seamless DHTML and Ajax integration. To
> serve that goal, it was important that the built in components
> be capable of Ajax operations, such as dynamically re-rendering parts of
> the page. Because of that, it made sense to bundle a well-known JavaScript
> library as part of Tapestry.
>
> At the time (this would be 2006-ish), Prototype and Scriptaculous were well
> known and well documented, and jQuery was just getting started.
>
> The intent has always been to make this aspect of Tapestry pluggable. This
> is work expected in Tapestry 5.3, where a kind of adapter layer will be
> introduced so that Tapestry can be easily customized to work with any of the
> major JavaScript libraries.
> Why does Tapestry have its own Inversion of Control Container? Why not
> Spring or Guice?
>
> An Inversion of Control Container is *the* key piece of Tapestry's
> infrastructure. It is absolutely necessary to create software as robust,
> performant and extensible as Tapestry.
>
> Tapestry IoC includes a number of features that distinguish itself from
> other containers:
>
>    - Configured in code, not XML
>    - Built-in extension mechanism for services: configurations and
>    contributions
>    - Built-in aspect oriented programming model (service decorations and
>    advice)
>    - Easy modularization
>    - Best-of-breed exception reporting
>
> Because Tapestry is implemented on top of its IoC container, and because
> the container makes it easy to extend or replace any service inside the
> container, it is possible to make the small changes to Tapestry needed to
> customize it to any project's needs.
> How do I upgrade from Tapestry 4 to Tapestry 5?
>
> There is no existing tool that supports upgrading from Tapestry 4 to
> Tapestry 5; Tapestry 5 is a complete rewrite.
>
> Many of the basic concepts in Tapestry 4 are still present in Tapestry 5,
> but refactored, improved, streamlined, and simplified. The basic concept of
> pages, templates and components are largely the same. Other aspects, such as
> server-side event handling, is markedly different.
> Why are there both Request and HttpServletRequest?
>
> Tapestry's Request interface is *very* close to the standard
> HttpServletRequest interface. It differs in a few ways, omitting
> some unneeded methods, and adding a couple of new methods (such as isXHR()),
> as well as changing how some existing methods
> operate. For example, getParameterNames() returns a sorted List of
> Strings; HttpServletRequest returns an Enumeration,
> which is a very dated approach.
>
> However, the stronger reason for Request (and the related interfaces
> Response and Session) is to enable
> the support for Portlets at some point in the future. By writing code in
> terms of Tapestry's Request,
> and not HttpServletRequest, you can be assured that the same code will
> operate in both Servlet Tapestry
> and Portlet Tapestry.
> ------------------------------
>
> Footnotes  Reference Notes
>  Change Notification 
> Preferences<https://cwiki.apache.org/confluence/users/viewnotifications.action>
> View 
> Online<https://cwiki.apache.org/confluence/display/TAPESTRY/General+Questions>|
>  View
> Changes<https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=23334922&revisedVersion=15&originalVersion=14>
>



-- 
Regards,
Christophe Cordenier.

Committer on Apache Tapestry 5
Co-creator of wooki @wookicentral.com

Reply via email to