Previous: Chapter 8
Up: Main page
Next: Chapter 9
Part II.
Advanced Topics
Contents for Part II
Chapter 9: Advanced Lift Architecture
Section 9.1: Architectural Overview
Section 9.2: The Request/Response Lifecycle
Section 9.3: Lift Function Mapping
Section 9.4: LiftResponse in Detail
Subsection 9.4.1: InMemoryResponse
Subsection 9.4.2: StreamingResponse
Subsection 9.4.3: Hierarchy
Subsection 9.4.4: RedirectWithState
Subsection 9.4.5: XmlResponse
Section 9.5: Session Management
Subsection 9.5.1: Lift garbage collection
Section 9.6: Miscellaneous Lift Features
Subsection 9.6.1: Wrapping Lift’s processing logic
Subsection 9.6.2: Passing Template Parameters to Snippets
Subsection 9.6.3: Computing Attributes with Snippets
Subsection 9.6.4: Processing Element Attributes
Section 9.7: Advanced S Object Features
Subsection 9.7.1: Managing cookies
Subsection 9.7.2: Localization and Internationalization
Subsection 9.7.3: Managing the Timezone
Subsection 9.7.4: Per-session DispatchPF functions
Subsection 9.7.5: Session re-writers
Subsection 9.7.6: Access to HTTP headers
Subsection 9.7.7: Manage the document type
Subsection 9.7.8: Other functions
Section 9.8: ResourceServer
Section 9.9: HTTP Authentication
Subsection 9.9.1: Determining which Resources to Protect
Subsection 9.9.2: Providing the Authentication Hook
Subsection 9.9.3: Role Hierarchies
Chapter 10: Lift and JavaScript
Section 10.1: JavaScript high level abstractions
Subsection 10.1.1: JsCmd and JsExp overview
Subsection 10.1.2: JavaScript Abstraction Examples
Section 10.2: JQuery and other JavaScript frameworks
Section 10.3: XML and JavaScript
Section 10.4: JSON
Subsection 10.4.1: JSON forms
Section 10.5: JqSHtml object
Section 10.6: A recap
Chapter 11: AJAX and Comet in Lift
Section 11.1: What are AJAX and Comet, really?
Section 11.2: Using AJAX in Lift
Section 11.3: A more complex AJAX example
Section 11.4: AJAX Generators in Detail
Section 11.5: Comet and Lift
Subsection 11.5.1: Actors in Scala
Subsection 11.5.2: Building a Comet Application in Lift
Section 11.6: Coordinating Between Multiple Comet Clients
Section 11.7: Summary
Chapter 12: JPA Integration
Section 12.1: Introducing JPA
Subsection 12.1.1: Using Entity Classes in Scala
Subsection 12.1.2: Using the orm.xml descriptor
Subsection 12.1.3: Working with Attached and Detached Objects
Section 12.2: Obtaining a Per-Session EntityManager
Section 12.3: Handling Transactions
Section 12.4: ScalaEntityManager and ScalaQuery
Section 12.5: Operating on Entities
Subsection 12.5.1: Persisting, Merging and Removing Entities
Subsection 12.5.2: Loading an Entity
Subsection 12.5.3: Loading Many Entities
Subsection 12.5.4: Using Queries Wisely
Subsection 12.5.5: Converting Collection Properties
Subsection 12.5.6: The importance of flush() and Exceptions
Subsection 12.5.7: Validating Entities
Section 12.6: Supporting User Types
Section 12.7: Running the Application
Section 12.8: Summing Up
Chapter 13: Third Party Integrations
Section 13.1: OpenID Integration
Section 13.2: AMQP
Section 13.3: PayPal
Section 13.4: Facebook
Section 13.5: XMPP
Section 13.6: Lucene/Compass Integration
Chapter 14: Lift Widgets
Section 14.1: Current Lift Widgets
Subsection 14.1.1: TableSorter widget
Subsection 14.1.2: Calendar widgets
Subsection 14.1.3: RSS Feed widget
Subsection 14.1.4: Gravatar widget
Subsection 14.1.5: TreeView widget
Subsection 14.1.6: Sparklines widget
Section 14.2: How to build a widget
Chapter 15: RESTful Web Services
Section 15.1: Some Background on REST
Subsection 15.1.1: A Little Bit about HTTP
Subsection 15.1.2: Defining REST
Subsection 15.1.3: Comparing XML-RPC to REST Architectures
Section 15.2: A Simple API for PocketChange
Section 15.3: Adding REST Helper Methods to our Entities
Section 15.4: Multiple Approaches to REST Handling
Subsection 15.4.1: Using Custom Dispatch
Subsection 15.4.2: Using the RestHelper Trait
Section 15.5: Processing Expense PUTs
Section 15.6: The Request and Response Cycles for Our API
Section 15.7: Extending the API to Return Atom Feeds
Subsection 15.7.1: An Example Atom Request
Subsection 15.7.2: Add a feed tag for the account page
Section 15.8: Conclusion
Previous: Chapter 8
Up: Main page
Next: Chapter 9
(C) 2012 Lift 2.0 EditionWritten by Derek Chen-Becker, Marius Danciu and Tyler Weir