Howard strongly believes that, when it comes to technology, people learn through their fingertips. To that aim, he teaches Tapestry as an interactive workshop consisting of six labs. Each lab teaches a different aspect of Tapestry; a particular component or set of components, or a particular challenge developers are likely to face.
This Tapestry workshop gently leads you into the way of Tapestry, and helps you understand exactly what it is that Tapestry does and even how it operates internally.
Session 1: Tapestry Basics
- What is Tapestry?
- Getting Started
- Events, Handlers and State
- Page and Event Contexts
- Bookmarkable Links
- Additional Notes
Session 2: Working with Hibernate
- Hibernate Basics
- Links Pages Together
- Editing Data with Forms
- Scaffolding
- Input Validation
- Saves and Commits
Session 3: Components
- Component Parameters
- Creating new Components
- MarkupWriter
- ComponentRendering
- Render Phase Methods
- Layout Components
- Binding Prefixes
- Using Tapestry Blocks
Session 4: JavaScript
- Libraries vs. Initialization
- Including JavaScript Libraries
- Creating a RichTextArea component
- Environmental Injections
- RenderSupport
- Tapestry Namespaces
- Tapestry Services, Modules and Configurations
- Extensibility via Composition
- Service Configurations and Contributions
- IoC Symbols
- Extending BeanEditForm
- JavaScript Aggregation
- JavaScript Console
Session 5: Grid Component
- Displaying Lists
- Excluding Properties
- Adding Synthetic Properties
- Reordering Properties
- Accepting new Comments
- Displaying a Confirmation Message
- Validating the Form
- Moderating Comments
- Optimizing Database Queries
- Grid Customizations
- Replacing Grid with Loop
- Recognizing Fixtures
- Using Grid inside a Form
Session 6: Ajax
- Client Side Vs. Server Side
- Ajax Requests
- Progressive Enhancement
- Update Effects
- Component Mixins
- Autocomplete Mixin
- Live Editting of Keywords
- ModalBox
- Sending Ajax Request
- Partial Update Reponse
- Generating the Partial Update
- Client-Side Wiring
- Ajax Challenges
Session 7: Tapestry Cornucopia
- Localization
- Service Overriding and Decoration
- Advanced Components
- Advanced Templates
- Creating Component Libraries
- Tapestry Request Processing
- Tapestry Performance Notes
- Tuning the Page Pool