The WebObjects Beginner Book
                  Last modified by Pascal Robert on 2011/05/09 11:36
              
      - History and Introduction
- Overview of WebObjects, EOF and Project Wonder
 - History of WebObjects, EOF, Project Wonder
 - Getting to Know Eclipse and WOLips
 - Your First Application
 
 - Planning for a Maintainable Application
- Importance of MVC separation
 - Unit Testing WebObjects with Eclipse
 - Logging from the Start, Using log4j
 - Using Frameworks for Organization and Code Reuse
 - The Hello World Scaffold Application
 - RAD: Rapid Turnaround and Hot Code Replace
 
 - Thinking About Design with WebObjects
- How a WebObjects Developer Thinks
 - Relationships not Queries
 - Qualifiers
 - Fetch Specifications
 - Business Logic for Business Objects
 - Components are for View Not Process
 - Object Design
 - The Request - Response Loop
 - Why Defer Optimization Concerns
 - Key Value Coding and WOGNL Extensions
 - Description of the Application to be Built (blog)
 
 - The EOModel
- Entities
 - Attributes
 - Value Types
 - Prototypes
 - To 1 Relations
 - To Many Relations
 - Many to Many Join Tables
 - Flattened Relations
 - Using Multiple Models
 - Relationships Across Models
 - Fetch Specs in Model
 - EO Inheritance
 - EOGenerator
 - Handling Blob Data
 - Connection Dictionary
 - Runtime Selection of the Connection Dictionary and Prototypes
 - Debugging JDBC Connections and Jdbc2info
 
 - Leveraging the Power of EOF
- Fetching Objects
 - Locking
 - Data Freshness
 - Using SQL when needed
 - Raw Rows
 - Fetch Efficiency (pre and batch fetching)
 - Optimistic Locking Failures
 - Constraint Failures
 
 - Basics of Page Construction
- Strings and Formatting
 - Loops
 - Conditionals
 - Forms
 - Switch Component
 - Action methods
 - Bindings
 
 - Advanced Page Construction
- Localization (standard and Wonder)
 - WOComponentContent
 - CSS (standard and Wonder, including localization)
 - JavaScript (standard and Wonder, including localization)
 - Returning to Previous Page
 - RR Loop and Phases
 - Common Super Class
 
 - Deployment-Book
- Using Apache: Develop Like you Deploy
 - Why Deployment at the Beginning?
 - Structure of .framework and .woa Build Products
 - WebObjects and Classpaths
 - Organizing Deployments
 - Apache Configuration
 - SSL Configuration
 - Deployment Components: JavaMonitor, Wotaskd and javawoservice
 - Setting up JavaMonitor
 - Editing spawnofwotaskd.sh
 - Configuring an Application
 - Logging and Permissions
 - Optimization: Adjusting Timeouts, Memory Usage, and Number of Instances
 - Trouble Shooting: Where to look when things go wrong
 - Deployment alternatives (servlet, mod_proxy)
 - Wonder versions of wotaskd and JavaMonitor
 - Handling Transitions between http and https
 
 - Creating and Using Reusable Components
- Design
 - Caret Notation
 - Synchronization
 - Stateless
 - Refactoring Pages into Reusable Components
 
 - Validation
- Basics from Practical WebObjects
 - Using Page to Store exceptions
 - Using form inputs which handle their own validation
 - JavaScript Client Side Validation (maybe with components)
 
 - Web Services and WebObjects
- Using Direct2WebServices
 - Using WebServices Directly
 - The Lower Levels
 
 - D2W
 - JavaClient
 - Ajax
 - WO and other clients
- Cocoa
 - ERRest/Dojo or other