CommonSpot Advanced Developers Course Outline
The following topics are covered in-depth during three days of CommonSpot Advanced Developers training. Because of the nature of the material covered, proficiency in ColdFusion is a requirement. In addition, the training will include numerous hands-on exercises, so attendees should come prepared with a laptop.
Introduction
CommonSpot Integration Points
- Base template
- Custom script element
- Render handlers
- Datasheets
- Custom field types
- Event/UI hooks
- Content creation API
CommonSpot Page Construction & Rendering
What makes up a CommonSpot Page?
- Stub Files
- Elements
- Templates
- Page & element level cache
How is a CommonSpot page rendered?
- How is the content retrieved
- PageID,ControlID,ItemID etc ...
- Template Hierarchy
Elements (General & Custom), Metadata & Simple Forms
- Managing elements
- Creating custom elements (global vs. local)
- Creating Metadata (how to define and bind metadata forms)
- Field Types (discuss all of the different field types)
- Creating/Using simple forms
CommonSpot Variables (Request/Session/Application) & Tools
- Request scope (subsite/subsite cache)
- Session scope (user/page rendering settings)
- Application (element cache)
- DumpStruct.cfm (using it by adding mapping/using it by modifying security)
Base Template Development
- What is a base template? Where is it located? Where does it reside in the template hierarchy?
- When and how does it get executed?
- Tips/tricks for dissecting site architecture
- What goes in a base template? What doesn't go in a base template? (common misconceptions)
- Invoking dynamic elements (custom coding)
- Dynamic rendering (render options/metadata)
- General Recommendations/Best Practices
Custom Scripts
- Custom script basics
- Static vs. dynamic script elements
- Using custom scripts for application integration
- CommonSpot element rendering
- General best practices for organization
Render Handlers
- General element rendering
- Types of render handlers
- Registering render handlers
- Render handler metadata
- Selecting a render handler
- Writing a render handler
- Different element render handlers (textblock, page index, custom element, bulleted list, search results)
Datasheet Customization
- What is the datasheet module?
- Defining column render handlers
- Defining action columns
- Advanced processing
Custom Field Type API
- Examples
- What is contained in the Custom Field Type API?
- How do I register different modules?
- Examining a properties module
- Examining a render module
- Custom form rendering
- Field level security
- Field masks
Content Creation API
- Understanding the basis behind the API
- Setting up an environment to begin using the API
- Reviewing the various method calls
Database Architecture
- What are the different databases, and what type of content is stored in each database?
- How are pages stored?
- Where is element data stored?
- Custom forms (metadata, custom elements and simple forms)
- Link management
Miscellaneous Event Hooks
- Custom authentication
- Common UI hooks
- Common event hooks
- Miscellaneous UI
- Miscellaneous event hooks
Other Development Techniques
Development Server/Environment
Hands-On Exercises
- Base template
- Custom script
- Render handlers
- Datasheet modules
- Custom field type
- Content creation API