Wicket Objects 0.1 Users Guide

Apache Wicket Viewer for Naked Objects 4.0.x

Dan Haywood

Version 0.1

Permission is granted to make and distribute verbatim copies of this manual provided that the copyright notice and this permission notice are preserved on all copies.

Table of Contents

1. Introduction
1.1. Introducing Wicket Objects
1.2. Wicket Objects Compared to other Wicket RAD Frameworks
1.2.1. Differences in Capability
1.2.2. Differences in Philosophy
1.2.3. Part of the Naked Objects Family
1.3. Wicket Objects compared to other Naked Objects Viewers
1.4. Typical Flow for Developing a Wicket Objects Application
2. Application Walkthrough
2.1. Logging on, and the Application Services Menu
2.2. Viewing Entities and Collections of Entities
2.3. Editing Objects
2.4. Invoking Actions
2.5. Business Rules
2.6. View Components
2.7. Alternate Views
2.8. Specialized Use Cases
3. Running the Application
3.1. Structure of a Naked Objects Application
3.1.1. Adding Dependency Management for Wicket Objects
3.1.2. Adding AppLib Dependency
3.2. Running from the commandline project
3.2.1. Adding Dependency to Wicket Objects Viewer
3.2.2. Adding Dependency to Bootstrap
3.2.3. web.xml
3.2.4. Deployment Mode
3.2.5. Configuring Security
3.2.6. Running the Application
3.3. Running from the webapp project
4. Customization
4.1. CSS
4.1.1. Generic CSS
4.1.2. Specific CSS
4.2. Component Factories
4.2.1. ComponentFactory interface
4.2.2. Registering ComponentFactorys using ComponentFactoryList
4.2.3. Registering ComponentFactorys using META-INF Services
4.3. Advanced Customization
4.3.1. Page Registry
4.3.2. Subclassing WicketObjectsApplication
5. Custom Components
5.1. About the Components
5.1.1. Common Layout
5.1.2. Update Classpath
5.2. Gmap2
5.3. Google Charts
5.4. CoolDataSoft Application Services Menu
6. Supporting Specialized Use Cases
6.1. Custom Components for Process Objects
6.1.1. @WizardPageDescription
6.1.2. ProcessObjectPanelAbstract
6.1.3. Help Wanted!
6.2. Use a Page enum for Wizards
7. Deployment Topics
7.1. Running in a WebApp
7.2. Persistence
7.3. Security
7.4. Wicket DEPLOYMENT mode
A. Example Application
A.1. Domain Application (Problem Space / Persisted Objects)
A.1.1. claims package
A.1.2. employee package
A.2. Specialized Use Cases
A.2.1. ClaimWizard
A.2.2. ClaimExpenseSummary
A.3. Custom Views for Specialized Use Cases
A.3.1. ClaimWizardComponentFactory
A.3.2. ClaimWizardPanel
A.3.3. ClaimWizardPanel.html
B. Wicket Objects' Maven Modules
B.1. AppLib
B.2. Facets
B.3. Model
B.4. UI
B.5. Viewer
B.6. Documentation
B.7. UTest