ICEfaces® Developer's Guide Contents Copyright ii About this Guide iii Chapter 1 Introduction to ICEfaces 1 Chapter 2 ICEfaces System Architecture 3 Chapter 3 Key Concepts 5 Direct-to-DOM Rendering 6 Incremental, In-place Page Updates 8 Synchronous and Asynchronous Updates 9 Connection Management 11 Server-initiated Rendering (Ajax Push) 12 Partial Submit - Intelligent Form Processing 13 Components and Styling 15 Cascading Style Sheets (CSS) Styling 15 Other Custom Components 16 Drag and Drop 17 Effects 18 Browser-Invoked Effects 18 Concurrent DOM Views 19 Integrating ICEfaces With Existing Applications 21 JSP Inclusion 21 JSF Integration 21 Facelets 22 Chapter 4 ICEfaces Reference Information 23 JSP Markup Reference 24 Java API Reference 25 JavaScript API Reference 26 Partial and Full Submit 26 View Removal 27 Bridge Connection Status Events 27 Configuration Reference 29 Configuring faces-config.xml 29 Configuring web.xml 29 Components Reference 34 ICEfaces Component Suite 34 Standard JSF Components 34 Apache MyFaces Tomahawk Components 35 ICEfaces Component Suite 36 Common Attributes 36 Enhanced Standard Components 39 ICEfaces Custom Components 39 Styling the ICEfaces Component Suite 41 ICEfaces Focus Management 43 ICEfaces Library Dependencies 46 ICEfaces Runtime Dependencies 46 ICEfaces Component Runtime Dependencies 46 ICEfaces Facelets Support 47 ICEfaces Compile-time (Build) Dependencies 47 ICEfaces Ant Build Script Support 47 ICEfaces Sample Applications and Tutorials 48 Sun JSF 1.1 RI Runtime 48 Sun JSF 1.2 RI Runtime 48 Apache MyFaces JSF 1.1 Runtime 48 Chapter 5 Advanced Topics 49 Server-initiated Rendering (Ajax Push) APIs 50 PersistentFacesState.render() 50 Rendering Considerations 51 SessionRenderer 52 RenderManager API 53 Rendering Exceptions 53 Server-initiated Rendering Architecture 54 The DisposableBean Interface 61 State Saving 62 JSF Default State Manager 62 View Root State Manager 62 Single Copy State Manager 63 Optimizing Server Memory Consumption 64 State Saving 64 DOM Compression 64 String Handling 64 Connection Management 66 Asynchronous Heartbeating 66 Managing Connection Status 67 Managing Redirection 68 Optimizing Asynchronous Communications for Scalability 70 GlassFish 71 Jetty 6 72 Tomcat 6 and JBoss 4.2 72 Push Server 74 Single-Point-of-Contact 74 Asynchronous Request Processing 75 Configuration 75 Using ICEfaces in Clustered Environments 77 Developing Portlets with ICEfaces 78 ICEfaces Portlet Configuration 78 Using the Portlet API 80 Portlet Styles 82 Supported Portal Implementations 83 Using Ajax Push in Portlets 84 Development and Deployment Considerations 85 Running the ICEfaces Sample Portlets 89 JBoss Seam Integration 91 Resources 91 Getting Started 92 Bypassing Seam Interceptors 92 Using Server-initiated Rendering 92 Using the File Upload (ice:inputFile) Component 96 Spring Web Flow Integration 97 Getting Started 97 Configuring Spring Applications to Work with ICEfaces 97 Creating Drag and Drop Features 104 Creating a Draggable Panel 104 Adding Drag Events 104 Setting the Event dragValue and dropValue 105 Event Masking 106 Adding and Customizing Effects 107 Creating a Simple Effect 107 Modifying the Effect 107 Appendix A ICEfaces Library/App. Server Dependencies 110 Appendix B ICEfaces Configuration Parameter Overview 114 Index 120