Table of Contents
- Title and Copyright Information
- Preface
-
Part I Getting Started with Oracle WebCenter Sites
-
1
Introduction to Developing with WebCenter Sites
- About Developing with WebCenter Sites
- Typical Tasks for WebCenter Sites Developers
- WebCenter Sites Utilities
- WebCenter Sites Interfaces
- Use Case Scenarios for WebCenter Sites
- 2 Overview of the Avisports Sample Site
-
3
The WebCenter Sites Development Process
- Step 1: Set Up the Team
- Step 2: Create Functional and Design Specifications
- Step 3: Set Management System Requirements
- Step 4: Implement the Data Design
- Step 5: Build the Online Site
- Step 6: Set Up the Management System
- Step 7: Set Up the Delivery System
- Step 8: Publish to the Delivery System
-
1
Introduction to Developing with WebCenter Sites
-
Part II Building Your Data Model
-
4
Understanding the Asset Types and Asset Models
- What Are Asset Types?
- What Are Asset Models?
- The Basic Asset Model
- The Flex Asset Model
- Assetsets and Searchstates
- Search Engines and the Two Asset Models
- Tags and the Two Asset Models
- Summary: Basic and Flex Asset Models
-
5
Designing Basic Asset Types
- About the AssetMaker Utility
- Before You Begin Creating Basic Asset Types
-
Creating Basic Asset Types
- Coding the Asset Descriptor File
- Uploading the Asset Descriptor File to WebCenter Sites
- Creating the Asset Table
- Configuring the Asset Type
- Enabling the Asset Type on Your Site
- Fine-Tuning the Asset Descriptor File
- Customizing the Asset Type Elements (Optional)
- Adding Subtypes (Optional)
- Configuring Association Fields (Optional)
- Configuring Categories (Optional)
- Adding Mimetypes (Conditional)
- Editing Search Elements to Enable Indexed Search (Optional)
- Creating and Assigning Asset Type Icons (Contributor Interface Only)
- Coding Templates for the Asset Type
- Moving the Asset Types to Other Systems
- Deleting Basic Asset Types
-
6
Designing Flex Asset Types
- About Designing Flex Asset Types
- Design Tips for Flex Families
- The Flex Family Maker Utility
- Flex Asset Elements
- Setting Up Your Development System
-
Creating a Flex Asset Family
- Creating a Flex Family
- (Conditional) Creating Additional Flex Family Members
- (Conditional) Configuring the Flex Family Members
- Enabling the New Flex Asset Types
- Create Flex Attributes
- (Conditional) Creating Flex Filter Assets
- Creating Parent Definition Assets
- Creating Flex Definition Assets
- Creating Flex Parent Assets
- Creating and Assigning Asset Type Icons (Contributor Interface Only)
- Coding Templates for the Flex Assets
- Testing Your Design (Creating Test Flex Assets)
- (Conditional) Creating Flex Asset Associations
- Moving Asset Types to Other Systems
- What You May Need to Know About Editing Flex Attributes, Parents, and Definitions
- Using Product Sets
-
7
Creating a Hierarchical Flex Family
- Hierarchical Organization
- Flex Family Specifications
-
Creating a Sample Flex Family Using a Real-World Example
- Creating a Flex Family
- Enabling the New Flex Asset Types
- Adding a Flex Family Tab to the WebCenter Sites Tree
- Creating Parent Definition Assets
- Creating Flex Parent Assets
- Creating Flex Definition Assets
- Creating Flex Assets
- Translating the Formulaic Data Model into a Real-World Data Model
- Developing Your Real-World Model
- 8 Creating Flex Filters
- 9 Designing Attribute Editors
-
10
Configuring Bundled Attribute Editors
-
Configuring CKEditor
- Before You Begin
- How to Create a CKEditor Instance and Enable It for a Field
- How to Enable CKEditor for Use in Web Mode
- How to Enable Selected Asset Types for the CKEditor
- How to Set the Approval Dependency for Included Assets
- How to Customize the CKEditor Toolbar
- How to Configure Spell Check Support in CKEditor
- Configuring the Clarkii Online Image Editor
- Configuring the Image Picker
-
Configuring CKEditor
- 11 Working with the WebCenter Sites Database
- 12 Managing Data in Non-Asset Tables
-
4
Understanding the Asset Types and Asset Models
-
Part III Developing a Website
- 13 Website Development with the MVC Framework and APIs
- 14 Developing a Server-Side Website
- 15 Developing a Client-Side Website
-
16
Website Development with Tag Technologies
- About Choosing a Coding Language
- About the Oracle WebCenter Sites Context
- Understanding WebCenter Sites JSP
- Understanding WebCenter Sites XML
-
Understanding WebCenter Sites Tags
- Tags That Create the WebCenter Sites Context
- Tags That Handle Variables
- Tags That Call Pages and Elements
- Tags That Create URLs
- Tags That Control Caching
- Tags That Set Cookies
- Programming Construct Tags
- Tags That Manage Compositional and Approval Dependencies
- Tags That Retrieve Information About Basic Assets
- Tags That Create Assetsets (Flex Assets)
- Tags That Create Searchstates (Flex Assets)
- About Variables Supported in WebCenter Sites
- Other WebCenter Sites Storage Constructs
- About Values for Special Characters
- 17 About Sessions and Cookies
-
18
Creating Template, CSElement, and SiteEntry Assets
- About Template, CSElement, and SiteEntry Assets
- About Pages
- Using CSElement, Template, and SiteEntry Assets
- Creating Template Assets
- Creating CSElement Assets
- Creating SiteEntry Assets
- Managing Template, CSElement, and SiteEntry Assets
- Using Oracle WebCenter Sites Explorer to Create and Edit Element Logic
- 19 Creating Templates and Wrappers
-
20
Coding Elements for Templates and CSElements
- About Dependencies
- About Coding to Log Dependencies
- About Invoking CSElement and SiteEntry Assets
- Coding Elements to Display Basic Assets
- About Coding Elements that Display Flex Assets
-
Coding Templates That Display Flex Assets
- Example Data Set for the Examples in This Section
-
Examples of Assetsets with One Product (Flex Asset)
- Create a Searchstate and Apply It to an Assetset
- Get the Price of the Product
- Display the Price of the Product
- Get the Colors for the Product
- Display the Colors of the Product
- Create a List Object for the ASSETSET.GETMULTIPLEVALUES tag
- Get the Value for Both Price and Color with ASSETSET.GETMULTIPLEVALUES
- Display the Value of Price and Color for the jeans-2 Product
- Special Cases: Flex Attributes of Type Text, Blob, and URL
-
Examples of Assetsets with Multiple Products (Flex Assets)
- Creating a Searchstate and Apply it to an Assetset
- Displaying the Number of Assets in the Assetset
- Displaying the Colors That the Jeans Are Available In
- Displaying Both the Colors and the Styles for the Jeans in the Assetset
- Creating a Table That Displays All the Jeans and Their Attribute Values
- Searching for Jeans Based on a Range of Prices
- Searching for Jeans with a Wildcard for Color
- Searching for Jeans with Specific Colors
- Creating URLs for Hyperlinks
- Handling Error Conditions
- Encoding Page Arguments
- What You May Need to Know About Securing Your Site Against XSS Attacks
-
21
Coding Templates for In-Context and Presentation Editing
- Coding Templates for In-Context Content Editing
-
Coding Templates for Presentation Editing
- Selecting a Different Layout for the Entire Web Page
- Selecting a Different Layout for a Page Fragment
- Editing Presentation and Content Simultaneously
- Understanding the Context System Variable
- Using Slots with CSElement and SiteEntry Assets
- Constraining Asset Types
- Preventing CSS and JavaScript Conflicts
- Enabling Content Creation for Web Mode
- 22 Template Element Examples for Basic Assets
-
23
Creating Collection Assets, Query Assets, and Page Assets
- About Creating Assets
- Creating Collection Assets
- Creating Query Assets
- Creating Page Assets
- 24 Best Practices for Creating Future Site Preview Assets and Templates
-
25
Configuring Sites for Multilingual Support
- About Configuring a Site for Multilingual Support
- Working with Locale Filtering
- Planning Multilingual Support for a Site
-
Configuring Multilingual Support for a Site
- Configuration Quick Reference
- Enabling the Dimension and DimensionSet Asset Types
- Enabling the Locale Subtype of the Dimension Asset Type
- How To Create a Locale
- How to Share a Locale to Another Site
- How To Create and Configure a Dimension Set
- How To Share a Dimension Set to Another Site
- How To Configure a Locale Filter
- How to Configure the Fallback Hierarchy of the Hierarchical Filter
- How to Bulk-Assign a Default Locale to Assets in a Site
- Tips for Using WebCenter Sites Translation Mechanism
-
Part IV Developing Mobile Websites
-
26
Configuring WebCenter Sites to Support Mobile Websites
- Prerequisites for Mobility Developers
- Understanding Key Mobility Concepts
- Prerequisites for Configuring Mobility Features
- Configuring Mobility Features
- Mirror Publishing the Device Repository to Delivery System
- Creating Templates
-
Optimizing Images for Mobile Websites
-
How to Optimize Images Using the Image Optimization Filter
- Create a Flex Filter of the ImageOptimizationFilter Type
- Include the Filter in Your Site's Image Definition
- Create Instances of the blob Type Attribute Asset
- Set Image Properties for Optimization
- Apply the Image Optimization Filter on Existing Images
- Verify If the Image Optimization Filter Has Been Applied
- Use the Optimized Images in Your Site
- How to Optimize Images Using a Pluggable Interface
-
How to Optimize Images Using the Image Optimization Filter
- How Device Detection Works
-
26
Configuring WebCenter Sites to Support Mobile Websites
-
Part V Managing Caching
- 27 Understanding Page Design and Caching
- 28 Working with Resultset Caching and Queries
- 29 Using Cache Management with WebCenter Sites
- 30 Using Advanced Page Caching Techniques
-
Part VI Migrating Your Work to Your Content Management System
- 31 Importing Assets of Any Type
-
32
Importing Flex Assets
- About Importing Flex Assets
- Understanding XMLPost and the Flex Asset Model
- About Importing the Structural Asset Types in the Flex Model
-
Importing Flex Assets with XMLPost
- Configuration File Properties and Source File Tags for Flex Assets
- Sample Flex Asset Configuration File for addData
- Configuration File Properties and Attributes of Type Blob (or URL)
- Sample Flex Asset Source File for addData
- Sample Flex Asset Configuration File for RemoteContentPost
- Sample Flex Asset Source File for RemoteContentPost
- Editing Flex Assets with XMLPost
- Deleting Assets with XMLPost
-
33
Importing Flex Assets with the BulkLoader Utility
-
About the BulkLoader Utility
- Understanding BulkLoader Features
- How BulkLoader Works
- About Using the BulkLoader Utility
- Importing Flex Assets from Flat Tables
- When to Use XMLPost to Import Structural Assets
- Creating the Input Table (Data Source)
- Creating the Mapping Table
- Creating the BulkLoader Configuration File
- Running the BulkLoader Utility
- Enabling Access to Imported Assets in the Contributor Interface
- Reviewing Feedback Information
- Approving and Publishing the Assets to the Delivery System
- Importing Flex Assets Using a Custom Extraction Mechanism
- Approving Flex Assets with the BulkApprover Utility
-
About the BulkLoader Utility
- Part VII Security: Managing Content Management Users
- Part VIII Publishing Your Site
-
Part IX Developing Personalized and Targeted Websites with Engage
- 37 Creating Visitor Data Assets
- 38 Understanding Recommendation Assets
- 39 Working with Memory-Centric Visitor Tracking
- 40 Coding Engage Pages
- Part X Running A/B Testing
- Part XI Customizing Blogs
-
Part XII Developing WebCenter Sites: Visitor Services
-
42
Developing WebCenter Sites: Visitor Services
- Visitor Services Overview
- Configuring the Visitor Services URL
- Configuring an Identity Provider
- Configuring an Access Provider
- Configuring One or More Profile Providers
- Creating One or More Aggregation Templates
- Optimizing Experiences Using Visitor Services Data
- Visitor Services Reference
-
42
Developing WebCenter Sites: Visitor Services
-
Part XIII Controlling the Site Capture Process
-
43
Coding the Crawler Configuration File
- About Controlling a Crawler
- BaseConfigurator Methods
- Crawler Customization Methods
- getSocketTimeout
- getPostExecutionCommand
- getNumWorkers
- getUserAgent
- createResourceRewriter
- createMailer
- getProxyHost
- getProxyCredentials
- Interfaces
- Summary of Methods and Interfaces
-
43
Coding the Crawler Configuration File
-
Part XIV Integrating with Third-Party Content Sources
-
44
Integrating Third-Party Content Sources Using Proxy Assets
- Proxy Asset Architecture and the Contributor Interface
- Installing Sample Proxy Assets
- Integrating External Content in the Contributor Interface
- Setting Up YouTube Proxy Assets
- User Interface Customizations
- Information About Embedding Proxy Assets in Web Pages
-
44
Integrating Third-Party Content Sources Using Proxy Assets
-
Part XV Developing Applications with the Web Experience Management (WEM) Framework
- 45 About the Web Experience Management (WEM) Framework
- 46 Understanding the WEM Framework and Services
- 47 Working with the Articles Sample Application
- 48 Developing Applications with WEM Framework
- 49 Developing Custom REST Resources with WEM Framework
- 50 Working with Single Sign-On for Production Sites
- 51 Using REST Resources with the WEM Framework
-
52
Introducing Customizable Single Sign-On Facility in WEM Framework
- About Customizing Login Behavior for the WEM Framework
- About Components of the Default CSSO Implementation
- Configuring and Deploying Custom SSO Behavior
- Running the CSSO Sample Implementation
- 53 Buffering in WEM Framework
- 54 Registering Applications Manually in WEM Framework
-
Part XVI Customizing Oracle WebCenter Sites
- 55 Adding Customizations to WebCenter Sites
- 56 Customizing the Tree in the Admin Interface
- 57 About Customizing Components of the Contributor Interface
- 58 Understanding the Contributor Interface Framework and UI Controller
- 59 Customizing the Contributor Interface Dashboard
-
60
Customizing Search Views of the Contributor Interface
- About Search View Customization
- Customization Processes
- Customizing Undocked Views
- About Customizing Docked Views
- Customizing Sort Menus and Tooltips
- 61 Customizing Global Properties, Toolbar, and Menu Bar in the Contributor Interface
- 62 Customizing Asset Forms for the Contributor Interface
- 63 Customizing Workflow
-
64
Working with RealTime Publishing Customization Hooks
- About RealTime Publishing
-
Writing a Custom Transporter
- Writing Your Own Transporter
- Considerations About Overriding AbstractTransporter Methods
- Helper Methods in AbstractTransporter
- Implementing a Transporter: Example
- Code for Writing RealTime Publishing Transporter
- Understanding Edge-Case Scenarios
- Intercepting Asset Publishing Events on the Management Instance
- Distinguishing Between Unpackers and CacheUpdates
- 65 Understanding Asset and Publish Events in WebCenter Sites
- 66 Customizing Content Audit Reports
- Part XVII Troubleshooting
-
Part XVIII Reference
-
68
Using Asset API: Tutorial
- Understanding the Asset API
- Primary Interfaces
- Getting Started
-
Asset API Read
- A Simple Example: Reading Field Values
- Reading AssetId
- Reading Attributes Given the Asset ID
- Running a Query
- Running a Complex Query
- Retrieving the Results by Sorting
- Reading BlobObject
- Retrieving Multi-Valued Attributes
- Multilingual Assets: Retrieving Translations
- Reading Asset and Attribute Definitions
- Reading Key-Value Mappings
- Asset API Write
- Development Strategies
- Optional: Setting Up to Use the Asset API from Standalone Java Programs
- 69 Using Public Site Search
-
68
Using Asset API: Tutorial
-
Part XIX Coding with Developer Tools
- 70 About Developer Tools
-
71
Installing and Configuring Developer Tools
- Prerequisites
-
Setting Up Developer Tools
- How to Install the Developer Tools Plug-in
- How to Verify the Developer Tools Plug-In Installation
- How to Integrate WebCenter Sites with the Eclipse IDE
- How to Enable Code Completion for Remote Hosts
- How to Use Developer Tools to Work with Existing Resources
- How to Manage WebCenter Sites Resources
- How to Work with a Pre-Existing Project in Eclipse
- Updating Developer Tools
- Managing WebCenter Sites Resources in Eclipse
- Uninstalling Developer Tools
- 72 Introducing Developer Tools Features in Eclipse
- 73 Developing JSPs with Developer Tools
- 74 Creating Templates for Mobile Websites Using Developer Tools
- 75 Synchronizing and Exchanging Data Using Developer Tools
- 76 Using Workspaces in Developer Tools
- 77 Using Developer Tools Command Line Interface (CLI)
- 78 Integrating Developer Tools Workspaces with Version Control Systems
- 79 Using Developer Tools to Manage and Exchange Resources
- 80 Using the Developer Tools Command Line Interface (CLI) to Create Reusable Modules
-
Part XX Appendixes for Oracle WebCenter Sites Core
- 81 Introducing WebCenter Sites Tools and Utilities
- 82 Understanding White Space and Compression
- 83 Using WebCenter Sites URL Assemblers