Table of Contents
Preface
Chapter 1: Introducing Railo Server
Chapter 2: Installing Railo Server
Chapter 3: CFML Language
Chapter 4: Railo Server Administration
Chapter 5: Developing Applications with Railo Server
Chapter 6: Advanced CFML Functionality
Chapter 7: Multimedia and AJAX
Chapter 8: Resources and Mappings
Chapter 9: Extending Railo Server
Chapter 10: Creating a Video-sharing Application
Index
- Chapter 1: Introducing Railo Server
- Why use Railo Server?
- What does Railo Server do?
- A better look at Railo Server
- What else can you do with Railo Server?
- CFML compiler
- Railo archivesβcompiled code
- Wide variety of CFML tags and functions
- Object-oriented approach
- Scripting support
- Integrated administration frontend
- Background task execution
- Extension manager
- Easy update mechanism
- Compatibility
- Framework and application compatibility
- Security
- Virtual filesystems
- High performance
- Easy installation
- Inexpensive and free
- Easy clustering
- Summary
- Chapter 2: Installing Railo Server
- Getting up and running with Railo Express
- Time for action β downloading Railo
- Customizing Railo Express
- Time for action β setting the administrator's password
- Running the Railo Server Tomcat installer
- Time for action β installing on Windows
- Adding CFML-enabled sites to IIS7
- Time for action β adding a site to IIS7
- Getting up and running with the Railo WAR and Jetty
- Time for action β downloading and installing Jetty
- Time for action β booting up Jetty
- Time for action β downloading and deploying the Railo WAR
- Summary
- Chapter 3: CFML Language
- Basics of the CMFL language
- Time for action β Hello World!
- CFML tags
- Single tags with attributes
- Tags with expressions
- Time for action β single tag example
- Tags with content
- Tags with sub tags
- CFML functions
- Time for action β using built-in functions
- User-defined functions
- Time for action β using user-defined functions
- CFML variables
- Structure variables
- Time for action β using structures
- Array variables
- Time for action β creating an array
- CFML scopes
- SERVER scope
- Time for action β adding a variable to the SERVER scope
- APPLICATION scope
- Time for action β creating the APPLICATION scope
- SESSION scope
- Time for action β creating a SESSION scope in your Application
- REQUEST scope
- Time for action β using the REQUEST Scope
- CGI scope
- Handling web data
- URL variables
- Time for action β getting variables from the URL
- FORM variables
- Time for action β getting FORM variables
- Cookies
- Database access
- Time for action β installing MySQL and setting up our database
- Time for action β configuring data sources in Railo Server
- Time for action β running queries against our database
- Queries with parameters
- What just happened?
- Stored procedures
- Time for action β calling stored procedures
- Object Oriented Programming with Components
- Time for action β creating the Employee component
- Summary
- Chapter 4: Railo Server Administration
- Server and Web context
- Time for action β setting up an example context
- Setting up security
- Time for action β setting your password
- How contexts relate to each other
- Time for action β setting the time zone
- The Railo Web Administrator
- Time for action β investigating the Web Administrator
- Settings
- Performance/Caching
- Time for action β comparing template caching settings
- Regional
- Charset
- Scope
- Time for action β restricting the scoping of variables
- Time for action β merging the URL and FORM scopes
- Application
- Output
- Error
- Services
- Event Gateway
- Cache
- Datasource
- ORM
- Search
- Time for action β creating a search collection
- Tasks
- Scheduled tasks
- Extension
- Applications
- Providers
- Remote
- Archives and resources
- Mappings
- Time for action β creating mappings in our application
- Component
- Time for action β using magic functions
- Additional resources
- Custom tags
- CFX tags
- Development
- Time for action β setting the debug template
- Security
- Documentation
- Summary
- Chapter 5: Developing Applications with Railo Server
- Railo applications
- Time for action β building the simplest application
- Time for action β defining the application
- Session and client settings
- Application events
- Object relational mapping with Railo Server
- Time for action β upgrading Railo Server
- Creating our database persistence store
- Time for action β creating a database
- Time for action β creating our railoblog datasource
- Using persistent components
- Time for action β creating the blog
- Time for action β listing our blog posts
- Time for action β adding comments
- Caching in Railo Server
- Cache: what is it good for?
- Time for action β creating a cache connection
- Time for action β using the Cache object
- Time for action β getting well versed with more caching functions
- Cache providers
- Cache types
- Time for action β caching a page with cfcache
- Partial template caching
- Time for action β caching content within a template
- Query cache
- Time for action β caching a query using cachedwithin
- Resource cache
- Time for action β assigning an EHCache Lite connection to resources
- Summary
- Chapter 6: Advanced CFML Functionality
- Scripting within Railo Server
- Why tags are good
- Why tags are bad
- The <cfscript> tag
- Loops
- Looping lists
- Time for action β looping through a list
- Looping arrays
- Time for action β looping an array
- Looping structures
- Time for action β looping through a structure
- Looping queries
- Time for action β looping over queries
- Scripted components
- Time for action β creating the component
- Scripting tags
- Time for action β getting the contents of another site
- Scripting wrapped tags
- Time for action β using the <cfloop> tag in CFScript
- Scripting wrapped tagsβPart 2
- Time for action β get a user by his/her ID
- Built-in components
- The Query built-in component
- Time for action β using the Query component
- The HTTP built-in component
- Time for action β getting the content of a website via the HTTP component
- Summary
- Chapter 7: Multimedia and AJAX
- Video
- Displaying video
- Time for action β displaying a video player
- Converting a video
- Time for action β installing the Video Extension
- Time for action β creating clips for our video player
- Time for action β creating poster frames and clips
- Time for action β adding a playlist to <cfvideoplayer>
- AJAX functionality within the Railo server
- Time for action β setting up the application and services
- Time for action β binding the input to the component
- Time for action β displaying the tasks
- Time for action β deleting a task
- Summary
- Chapter 8: Resources and Mappings
- Railo resources
- Accessing files locally
- Time for action β writing and reading files
- Looping files
- Time for action β looping through the contents of a file Mappings
- Time for action β creating a mapping for the log file
- Accessing code from mappings
- Time for action β creating our components
- Railo archives
- Time for action β creating a Railo archive
- Mappings and their settings
- Time for action β changing the settings of a mapping
- Accessing your files from ZIP and TAR files
- Time for action β accessing files from a ZIP file
- Using RAM as a quick location to store files
- Time for action β compiling plain text to CFML
- Using Amazon's Simple Storage Service to use files in the Cloud
- Time for action β using Amazon's Simple Storage Service (S3)
- Summary
- Chapter 9: Extending Railo Server
- Why create your own CFML tags and functions?
- Time for action β creating our own CFML tag
- CFML functions
- Time for action β creating our own CFML function
- Using return type "any"
- Structure and array notation in the form and URL scope
- Installing extensions
- Time for action β installing an extension for the web context
- Server versus web extensions
- The extension installation system
- Time for action β installing the Galleon forums web application
- Time for action β creating our own Railo application extension
- Creating the Famous Quotes App
- Time for action β creating our own extension provider
- The ExtensionProvider CFC
- GetInfo structure information
- ListApplications query information
- GetDownloadDetails function
- The role of the Web ID and Server ID
- The Railo Extension Store
- Summary
- Chapter 10: Creating a Video-sharing Application
- VideoShare: Getting to know our application
- Goals of the application
- Creating our application
- Time for action β creating our basic application
- Laying it all out
- Time for action β creating the layout custom tag
- Registering users
- Time for action β creating our user model object
- User login and logout
- Time for action β log in or log out of the application
- Uploading videos
- Time for action β uploading a video
- Adding security
- Time for action β adding the secure tag
- Assigning videos to users
- Time for action β storing our video to the database
- Converting and playing videos
- Time for action β converting the uploaded video
- Creating thumbnails for our videos
- Time for action β creating images from a video
- Adding comments to our video page
- Time for action β adding comments to our videos
- Creating the home page
- Time for action β getting the latest videos
- Summary


