WebCenter Sites Avanzado - v2

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 130

Taller Avanzado WebCenter Sites

Carlos Picazo Principal Sales Consultant


1

2011 Oracle Corporation Proprietary and Confidential

Agenda
09:00 09:30 09:30 10:00 10:00 11:00 11:00 11:30 11:30 12:30 12:30 13:00 13:00 13:30 13:30 14:00 14:00 15:00 15:00 17:00 17:00 17:30 Bienvenida y registro. Repaso de funcionalidades de WebCenter Sites. Arquitectura y Escalabilidad. Caf. Modelo de datos y plantillas de contenido. Page Layout & Insite Edit (How to) Personalizacin (How to) Gadgets/Community/Mobility (How to) Comida. Talleres tcnicos de desarrollo. Q&A

2011 Oracle Corporation Proprietary and Confidential

PRIMER PASO: PRESENTACIONES

2011 Oracle Corporation Proprietary and Confidential

Presentaciones

Who are you? What do you do? What do you expect from this course? Something interesting about yourself..
4

2011 Oracle Corporation Proprietary and Confidential

Whats on the disk?

Copy all the files somewhere Expand wemdemo_avisports.rar, jdk1.6.0_16.zip and cosgas.zip to C:\Kits

2011 Oracle Corporation Proprietary and Confidential

09:30 10:00 REPASO DE FUNCIONALIDADES

2011 Oracle Corporation Proprietary and Confidential

Best-in-class WCM Foundation


Built for business users, scales to enterprise deployments

Business user tools for content editing & site management Large-scale product information management Scalable dynamic delivery for targeted & multi-lingual/locale content Streamlined management of multiple sites / large deployments Rich media management for the Web

2011 Oracle Corporation Proprietary and Confidential

Mobile Channel Enablement


Reach out to additional online channels with quality, flexibility and ease Reuse content & edit navigation from traditional website OOTB mobile templates by device family Edit mobile sites & traditional website from same business user interface Device-based preview Automatic transformation of content & site layout for thousands of device types Location-based services Comprehensive video & rich media support
8

2011 Oracle Corporation Proprietary and Confidential

Customer Segmentation & Targeting


Deliver a targeted, sticky and persuasive experience online Flexible rules engine for creation of customer segments & recommendations Enables delivery of targeted content & campaigns Segmentation based on implicit (behavioral) and/or explicit (known user or characteristics) criteria Enables granular targeting based on membership in multiple segments

FatWire

2011 Oracle Corporation Proprietary and Confidential

Analytics for Content Optimization


Granular analytics & optimization for marketers and content managers

Track aggregate usage of content assets across pages & sites Track effectiveness of targeted site content for user segments Visualize results with in-context reporting Understand site usage via behavior tracking Access comprehensive reports or create your own

10

2011 Oracle Corporation Proprietary and Confidential

Social Computing
Interactive and Social online experiences for site visitors Add Social Computing around your website: Commenting, rating, reviews, blogs Business user administration & moderation of UGC Enable UGC to drive the content of dynamic sites

11

2011 Oracle Corporation Proprietary and Confidential

End-User Personalisation & Syndication


Provide dashboards and reach out to your visitors through gadgets End-user personalization using gadget dashboards on web pages Quickly create new gadgets out-of-thebox

Gadget syndication for use on third-party Websites

12

2011 Oracle Corporation Proprietary and Confidential

High Performance websites with Satellite Server


High-performance and scalable delivery of dynamic sites

Distributed edge caching


Dynamic assembly and delivery High performance, automated management Scalable to the demands of the highest-traffic websites

13

2011 Oracle Corporation Proprietary and Confidential

Content Integration Platform


Enterprise Content Integration for the Web
Puts content from enterprise systems at the fingertips of FatWire Content Server users

Content flagged for sharing is made accessible directly in the FatWire user interface
Workflow and change notifications for shared content Source content remains the master SOA architecture Open and extensible
14

2011 Oracle Corporation Proprietary and Confidential

Copyright 2011 FatWire Corporation Under NDA

Web Experience Management


With WebCenter Sites Eliminate IT bottleneck Empower business users
Author content in context Design site layout
Convert Interact & Moderate Author

Design

Automatic conversion & publish to Web


Separate code from content

Test & Analyze

Publish & Deliver

Target

15

2011 Oracle Corporation Proprietary and Confidential

Web Experience Management


With WebCenter Sites
Relevant Customer Content
Targeted material and messages that drive customer retention and loyalty Segment audiences and deliver personalized promotions, turning online browsers to buyers Multi site / multi language
Convert Interact & Moderate Author

Design

Test & Analyze

Publish & Deliver

Understanding your results


Integrated analytics
16

Target

2011 Oracle Corporation Proprietary and Confidential

Web Experience Management


With WebCenter Sites
Build Community Engagement
Encourage community interaction between customers and the company Increase customer loyalty with ongoing communications through social networks
Interact & Moderate Author

Convert

Design

Drive Site Stickiness and Loyalty


Quickly create gadgets for use in company web sites and on third-party sites across mobile and social channels Dynamic delivery for targeted marketing and multi-lingual content
17

Test & Analyze

Publish & Deliver

Target

2011 Oracle Corporation Proprietary and Confidential

10:00 10:30 ARQUITECTURA Y ESCALABILIDAD

18

2011 Oracle Corporation Proprietary and Confidential

WebCenter Sites Server (WCM Foundation)


formerly Content Server
Management

Mobility Server Framework Community Server Gadget Server Engage WebCenter Sites Framework

Delivery

Mobility Server Community Server Gadget Server Engage WebCenter Sites Mobile Delivery Satellite Server Site Visitors

Content Managers

WEM

WEM

Analytics
Content Integration Platform
Documentum SharePoint File System

19

2011 Oracle Corporation Proprietary and Confidential

Core WebCenter Sites Architecture


User Interface
Business User Admin Content Editors Portal

API
JSP/XML Java REST and SOAP

Authentication, Authorization and SSO

Asset Framework
Asset Managers Revision Tracking Search Import / Export Approval Publishing Workflow Templating Engine

Content Services
Database and File System Abstraction Catalog Management Cache Management Dependency Management Page Server Image Server Event Management

Database
20

File System

2011 Oracle Corporation Proprietary and Confidential

Multi-Site Management
WebCenter Sites provides a single solution to manage multiple sites Site Launcher can quickly replicate one site from another (copy/share) A Site is a logical unit in WebCenter Sites Micro-Site, Campaign Site, fully fledged Website A site skeletal owns components such as Assets, Templates, Workflows etc Content Owners login to a Site and have visibility to contents of only that site Common components can be shared between sites
WebCenter Sites
SITE 1 - Users Site1 Assets, Templates, Users Site2 Assets, Templates, Users REPLICATE SITE 3 - Users Site3 Assets, Templates, Users www.oracle.com

SITE 2 - Users

www.oracle.com/openworld

www.oracle.com/fatwire

21

2011 Oracle Corporation Proprietary and Confidential

Workflow
START END

State 1

State Deadline

State 2

State 3

Process Action
Step 4

Step 1

Step 2

Step 3

Roles

Process Deadline Step Condition Finish Assignment Step Action

Step 4
Deadline Action

User Assignment 1 Delegate User Assignment 2

User Assignment 3

Dead Lock

Abstain User Assignment 4 Deadlock Action

Delegate Action

Assignment Action

22

2011 Oracle Corporation Proprietary and Confidential

Approval and Publishing


WebCenter Sites
Destination 1 Dependencies

Target WebCenter Site(s) 1

ASSET

Destination 2 Dependencies

Target WebCenter Site(s) 2

User approves Asset for Publishing to Destination (s)

Destination 3 Dependencies

File System

All dependences of the Asset are also published to keep the integrity of data intact

23

2011 Oracle Corporation Proprietary and Confidential

Search
Management
User Interfaces WEM App Site Search

Delivery
WEM App

Java API

REST API

Java API

REST API

Framework

Search Framework & API

Framework

Search Framework & API

WEM

WebCenter Sites

WEM

WebCenter Sites

Publish

Web Content

Search Indices

Web Content

Search Indices

24

2011 Oracle Corporation Proprietary and Confidential

Satellite Server
Management

Mobility Server Framework Community Server Gadget Server Engage WebCenter Sites Framework

Delivery

Mobility Server Community Server Gadget Server Engage WebCenter Sites Mobile Delivery Satellite Server Site Visitors

Content Managers

WEM

WEM

Analytics
Content Integration Platform
Documentum SharePoint File System

25

2011 Oracle Corporation Proprietary and Confidential

Satellite Server standard request

Is page in cache?

Content Repository

26

2011 Oracle Corporation Proprietary and Confidential

Satellite Server business user publishes content

Publish Invalidate/Refresh cache

?
Is page in cache? Get cached components Get new component Compose page from cache components

Content Repository

27

2011 Oracle Corporation Proprietary and Confidential

Horizontal Scalability
WebCenter Sites deployments scale out by the use of Satellite Servers Satellite Servers are edge caching systems, fully integrated into the content workflow

WebCenter Sites Satellite Servers

Load Balancer

WEB

28

2011 Oracle Corporation Proprietary and Confidential

Vertical Scalability
WebCenter Sites and Satellite Server are standard J2EE applications Both scale well under application server clusters Multiple instances can be run on the same hardware

Load Balancer WebCenter Sites


Satellite Servers

WEB

29

2011 Oracle Corporation Proprietary and Confidential

Targeting
formerly Engage
Management

Mobility Server Framework Community Server Gadget Server Engage WebCenter Sites Framework

Delivery

Mobility Server Community Server Gadget Server Engage WebCenter Sites Mobile Delivery Satellite Server Site Visitors

Content Managers

WEM

WEM

Analytics
Content Integration Platform
Documentum SharePoint File System

30

2011 Oracle Corporation Proprietary and Confidential

Targeting
formerly Engage
Marketers

Site Visitors

Engage UI
Visitor Data
Visitor Attributes History Attributes

Recommendations Promotions Cross/up sells

Segments Segments
Segments

Visitor Data Manager

Qualifying Segments

Rules Engine

Segments Segments
Recommendations

Asset Repository External Systems

31

2011 Oracle Corporation Proprietary and Confidential

Analytics
formerly Content Optimizer
Management

Mobility Server Framework Community Server Gadget Server Engage WebCenter Sites Framework

Delivery

Mobility Server Community Server Gadget Server Engage WebCenter Sites Mobile Delivery Satellite Server Site Visitors

Content Managers

WEM

WEM

Analytics
Content Integration Platform
Documentum SharePoint File System

32

2011 Oracle Corporation Proprietary and Confidential

Analytics
formerly Content Optimizer
Website
Aggregated Data Drill Down Reports
Sensor

Site Visitors

DBMS

Marketers

Process Queue

Data is aggregated daily

Data Analysis
Distributed File System (HDFS) Map-Reduce

33

2011 Oracle Corporation Proprietary and Confidential

Social & User-Generated Content (UGC)


formerly Community Server
Management

Mobility Server Framework Community Server Gadget Server Engage WebCenter Sites Framework

Delivery

Mobility Server Community Server Gadget Server Engage WebCenter Sites Mobile Delivery Satellite Server Site Visitors

Content Managers

WEM

WEM

Analytics
Content Integration Platform
Documentum SharePoint File System

34

2011 Oracle Corporation Proprietary and Confidential

Social & User-Generated Content (UGC)


formerly Community Server
Management
SSO
UI Framework
Moderation and Administration
UGC data and moderation changes

Delivery
Web Site
Comments, Ratings, Reviews,

SSO

Framework

REST

Framework

WEM

WEM
Publish

REST

WebCenter Sites
Contributors, Administrators

WebCenter Sites
Visitors

Web Content

Pages that contain comments, layout and settings for comments/ratings

Web Content

35

2011 Oracle Corporation Proprietary and Confidential

Gadgets
formerly Gadget Server
Management

Mobility Server Framework Community Server Gadget Server Engage WebCenter Sites Framework

Delivery

Mobility Server Community Server Gadget Server Engage WebCenter Sites Mobile Delivery Satellite Server Site Visitors

Content Managers

WEM

WEM

Analytics
Content Integration Platform
Documentum SharePoint File System

36

2011 Oracle Corporation Proprietary and Confidential

Gadgets
formerly Gadget Server
Management
SSO UI Framework
Gadget Lists and Dashboard
Composed dashboard(s), white list of gadgets, settings

Delivery
Web Site SSO
Gadget Container

Framework

REST

Framework

WEM

WEM
Publish

REST

WebCenter Sites
Contributors, Administrators

WebCenter Sites
Visitors

Web Content

Pages Containing Dashboard(s)

Web Content

37

2011 Oracle Corporation Proprietary and Confidential

ECM Integration
formerly Content Integration Platform
Management

Mobility Server Framework Community Server Gadget Server Engage WebCenter Sites Framework

Delivery

Mobility Server Community Server Gadget Server Engage WebCenter Sites Mobile Delivery Satellite Server Site Visitors

Content Managers

WEM

WEM

Analytics
Content Integration Platform
Documentum SharePoint File System

38

2011 Oracle Corporation Proprietary and Confidential

ECM Integration
formerly Content Integration Platform
Scheduler

Runtime
Plugins & Data Mappings

Event

Connectors
Documentum SharePoint File System ContentServer

Documentum

FatWire WebCenter Sites

39

2011 Oracle Corporation Proprietary and Confidential

Available APIs Reading APIs


XML tags JSP tags Asset API REST API SOAP

Writing APIs
XML tags JSP tags Asset API

REST API
XMLpost

BulkLoader
CIP (Content Integration Platform)
40

2011 Oracle Corporation Proprietary and Confidential

Core Concept #1: Sites is comprised two PROD environments


Management Environment
Inside the firewall Where contributors create, review, collaborate, preview, and approve content for publishing

Delivery Environment
Visitor-facing Where content is dynamically rendered to visitors at request time No files or file folders

Publish

41

2011 Oracle Corporation Proprietary and Confidential

Core Concept #2: Everything is modeled in the database


There are no folders There are no files All webpages are served via the ContentServer servlet Each assettype has its own schema You design the asset model to match the business requirements of your client

42

2011 Oracle Corporation Proprietary and Confidential

One migrates content via Sites Publishing feature Sites uses its own protocol wrapped inside of http It is *NOT* database to database Publishing queues are called destinations Publishing/approval is inherently incremental Queues are transactional, thus all items in the queue have had their dependencies evaluated recursively failure of one item in the list invalidates the entire list The reason for this evaluation is to eliminate broken links

Core Concept #3: Publishing is smart

43

2011 Oracle Corporation Proprietary and Confidential

Types of Managed Content Objects All are client-specific and need to be architected
Basic Assets
Simple row/column structure One record per asset Attributes = columns More scalable, less flexible

Flex Assets

44

Multiple values, multiple inheritance Flexible changes possible post go-live without schema changes Multiple records per asset Attributes = rows More flexible, less scalable

2011 Oracle Corporation Proprietary and Confidential

Types of Managed List Objects many different types, each with pros and cons

Named Association Attribute of Type Asset Recommendation SitePlan Translation

45

2011 Oracle Corporation Proprietary and Confidential

Other Types of Asset Objects All are client-specific and need to be architected
Core/Structural Assets
Page Dimensionsets (locales) Flex Definitions Attributes

Code/Logic Assets

46

Templates CSElements Filters Attribute Editors Query


2011 Oracle Corporation Proprietary and Confidential

Many ways to design the flex model There is no cookie cutter asset model
Flex Family (database level)
Single Family w/ Multiple Branches vs. Multiple Families w/ Single Branch

Relationship of Assettypes to Definitions


Single Assettype Multiple Definitions vs. Single Assettype Single Definition

Attribute Design
Required vs. Optional

Attribute Editor Design


Single value vs. Multiple values Attribute Inheritance Value type: string, text, integer, date, asset, etc.
47

2011 Oracle Corporation Proprietary and Confidential

When to consider Basic vs. Flex


Basic Uncached* Tag query Attribute Inheritance Attribute Editors Flex Filters More efficient Not supported Not supported Not Supported Flex Less efficient Supported Supported Supported

Hierarchical Organization

Not Supported

Supported

Multi-valued Attributes Search Associations**

Not Supported SQL, Search Engine Named Associations, Dimensions

Supported Search States, Search Engine Named Associations, Dimensions, Parent/Child relationships, Asset Attribute

* When the resultset is cached, the fetch for either type would be approx the same ** Attributes inherited via Parent / Child flex relationships are faster to read than named associations or attributes of t ype asset
48

2011 Oracle Corporation Proprietary and Confidential

Additional Flex Features


Ability to inherit attributes from parents
Useful for creating packages of attributes that dont change

Ability to easily add attribute editors


i.e. presentation logic in front of the database field

Ability to implement flex filters


Java code the executes immediately before saving

Works with Engage


Ability to set ratings
49

2011 Oracle Corporation Proprietary and Confidential

Webpage Template Architecture directly affects performance and scalability


Rule of 8: best to have no more than 6-8 pagelets per webpage Each pagelet is its own http request

50

2011 Oracle Corporation Proprietary and Confidential

Webpage Template Architecture directly affects performance and scalability


Webpage should be made up of pagelets Each pagelet has its own request and is thus cacheable independent of the calling page Each pagelet request has its cache arguments this is what makes it unique Each pagelet also has logged dependencies this is how the system knows when to uncache it The trick is reusability the main benefit of caching Biggest issues: too little caching and too much caching
51

2011 Oracle Corporation Proprietary and Confidential

Visitor Experience
Speed is key for a good visitor experience thus getting caching/uncaching optimized is a key deliverable A good asset model affects end-user experience in two ways: it facilitates serendipitous relationships between assets that can be MANAGED by editors And the asset model affects caching/uncaching (and thus performance) Getting it all right takes experience and skill But the benefit of getting it right is high-performance websites on a small hardware footprint
52

2011 Oracle Corporation Proprietary and Confidential

11:00 11:30 CAF

53

2011 Oracle Corporation Proprietary and Confidential

Test your installation



54

Navigate to C:\Kits\wemdemo Run startFatWire.bat Navigate to C:\Kits\cosgas Run the four .bat files (one by one) In a browser, navigate to http://localhost:7001/cs/login Login: admin/fwdemo1234 Site: FS Test the applications
|
2011 Oracle Corporation Proprietary and Confidential

11:30 12:30 MODELO DE DATOS Y PLANTILLAS

55

2011 Oracle Corporation Proprietary and Confidential

Content Modeling - Assets


Asset is the fundamental data structure in WebCenter Sites An Asset belongs to a Type Assets have attributes Attributes can be of many types (String, Number, File etc) Assets can be associated with other assets Assets can be enabled for sites Data for an Asset is stored in Database. Some attributes may be stored in File system
56

Asset
Type Attributes Associations Site(s)

2011 Oracle Corporation Proprietary and Confidential

Content Modeling - Assets


Site Architect defines Asset Types (using Advanced UI)
Example: An Article type, contains a title, body, picture etc.

Developer Builds Presentation templates


Summary Template Detail Template

Business User

Architect

ASSET

Business user creates Asset instances.


Title: Giants head to Super Bowl Body: .. What a match!.. Picture: Eli-Manning.jpg

Site visitor
Views the article
Developer

Provides user generated content

Site Visitor

57

2011 Oracle Corporation Proprietary and Confidential

Modelo de contenidos: Potente y Flexible


Editores de Atributos
Texto Plainplano Text

Atributos Name Nombre Tamao


ABC 123

Assets/objetos Asset Attribute Attribute Attribute AE AE AE

Sites

Plantillas

Estilos ABC ABC

Rich Test WYSIWYG Date Fecha

Description Descripcion Fecha Cost Precio

Text

29.1.09 $

Plantillas Pgina

ABC

Repositorio de contenidos
58

Plantillas Asset

2011 Oracle Corporation Proprietary and Confidential

Templating
A template is an asset A template is a piece of code written in JSP, XML or HTML A template can be typed or un-typed.
Typed template is assigned to a an asset type, an un-typed template can be used with any asset type A template is tasked with providing view for a section of the page, for a specific asset type. A template can employ can use JavaBeans, asset APIs, tags and any other libraries Content Sever is also a controller framework for templates

Frameworks such as Struts, Spring MVC, JSF are possible using Java API

59

2011 Oracle Corporation Proprietary and Confidential

Lesson: Templates & Elements WebCenter Sites uses two types of code assets:
Template
Callable via http Cacheable Applicable to specific assettypes (typed) or Applicable to any assettype (typeless) Scope is always local Previewable by selecting an asset and choosing Preview

CSElement
Not directly callable via http Not directly cacheable Scope can be local, global, or stacked
60

2011 Oracle Corporation Proprietary and Confidential

Lesson: Templates & Elements


Both Templates and Elements can be nested:
Nested Templates via the <render:calltemplate> tag Nested Elements via the <render:callelement> tag

Nested Templates are special: they can be cached independently of the calling page. We call them pagelets
Thus when a pagelets cache expires, only that pagelet refreshes but *NOT* the outer calling Template! This is the key to high performance cache in WebCenter Sites

Note: Elements can be wrapped in a SiteEntry, making them cacheable (but we wont explore that here)

61

2011 Oracle Corporation Proprietary and Confidential

Lesson: Templates & Elements


A typical outer (page) template would make 6-8 calls to nested cached pagelets Each pagelet has its own cache criteria this is what makes that instance of the cache unique

Presumably, those pagelets would be reusable thus reducing coding time


However, getting everything just right takes experience it is easy to screw things up The most common problem is that clients either overcache or undercache (or both!) their pagelets Example: passing cid to the footer why is that bad?
62

2011 Oracle Corporation Proprietary and Confidential

Teminology
Wrapper
Store the logic (session, cookie, )

Layout (Typeless Template)


The layout of site or some part of the site

Asset Type Template (Typed)


Template view/display for one Content

63

2011 Oracle Corporation Proprietary and Confidential

Typed versus Typeless Templates


URL : Layout c=Page cid=current page id
URL : Layout c=Article cid=current article id

/Layout
<render:calltemplate Container c=Page for Page tname=Container <render:calltemplate c=Page /Footer tname=/Footer

/Layout
<render:calltemplate Container c=Article for Article tname=Container <render:calltemplate c=Article /Footer tname=/Footer

64

2011 Oracle Corporation Proprietary and Confidential

Elements of the Wrapper template:


<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> ..

65

2011 Oracle Corporation Proprietary and Confidential

Elements of the wrapper page


<render:satellitepage pagename='<%=ics.GetVar("childpagename")%>'> <render:argument name='c' value='<%=ics.GetVar("c")%>'/> <render:argument name='cid' value='<%=ics.GetVar("cid")%>'/> <render:argument name='p' value='<%=ics.GetVar("p")%>' /> <render:argument name="locale" value='<%=ics.GetSSVar("preferred_locale")%>'/> <render:argument name="packedargs" value='<%=ics.GetVar("packedargs")%>'/> </render:satellitepage> http://localhost:7001/cs/Satellite?c=Page&childpagename=FS%2FLayout&cid=1255731768473&pagen ame=FSWrapper&rendermode=previewnoinsite

66

2011 Oracle Corporation Proprietary and Confidential

FS/Layout template
Site entry calls the /Layout template

String sContainerTName = "Container"; <render:calltemplate tname='<%=sContainerTName%>' site='<%=sSite%>' tid='<%=ics.GetVar("tid")%>' slotname="ArticleContainer" c='<%=ics.GetVar("c")%>' cid='<%=ics.GetVar("cid")%>' ttype="Template"> <render:argument name="p" value='<%=ics.GetVar("p")%>' /> <render:argument name="locale" value='<%=ics.GetVar("locale")%>'/> <render:argument name="packedargs" value='<%=ics.GetVar("packedargs")%>'/> </render:calltemplate>

67

2011 Oracle Corporation Proprietary and Confidential

Page Container
String sDetailTName = ics.GetVar("stype") + "Detail"; %> <%-- Call the container template for the current page subtype --%> <render:calltemplate tname='<%=sDetailTName%>' site='<%=ics.GetVar("site")%>' tid='<%=ics.GetVar("tid")%>' slotname="PageContainer" c='<%=ics.GetVar("c")%>' cid='<%=ics.GetVar("cid")%>' ttype="Template" context=""> <render:argument name="p" value='<%=ics.GetVar("p")%>' /> <render:argument name="locale" value='<%=ics.GetVar("locale")%>'/> <render:argument name="packedargs" value='<%=ics.GetVar("packedargs")%>'/> </render:calltemplate>

68

2011 Oracle Corporation Proprietary and Confidential

12:30 13:00 PAGE LAYOUT & INSITE EDIT

69

2011 Oracle Corporation Proprietary and Confidential

Page Layout a.k.a PageBuilder or Graphical Layout


Invoked via Preview/Insite Editing Interface Basic Concept:
Implement some page Templates with predefined Slots Let users create NEW instances of Page assets, specifying a subtype that corresponds to one of the above pre-configured templates Once in Page Layout mode, users can search for different assettypes then drag /n drop them into the slots NOTE: draggable assets must have viable rendering templates.

70

2011 Oracle Corporation Proprietary and Confidential

Page Layout Adding a slot to a Template


Pretty simple :
<insite:calltemplate slotname site tid context = = = = "MyUniqueSlotName" '<%=ics.GetVar("site")%>' <%=ics.GetVar("tid")%>' '<%=ics.GetVar("cid")%>'> value=foo' />

<render:argument name=var" .. .. .. </insite:calltemplate>

71

2011 Oracle Corporation Proprietary and Confidential

InSite Editing What it is, what it does


Tag library that developers use on their templates

Enables contributors in-context editing of strings, dates and text fields


Developers can optionally specify FCK Editor for wysiwig editing

Also allows re-ordering of static lists


Enabled by a property xcelerate.enableinsite=true
Must use false for delivery environments why?

Contributors must have the xceleditor ACL assigned to their user


Assets permission is appropriate to the users Role
72

2011 Oracle Corporation Proprietary and Confidential

InSite Editing Some of the <insite:edit> tag arguments


assetid (required) e.g: assetid ='<%=ics.GetVar("cid")%>' assettype (required) The asset type of the asset identified with the ASSETID parameter. assetfield (required) e.g: assetfield= "Attribute_byline" assetfieldvalue (required) e.g. assetfieldvalue= ='<%=ics.GetVar("Attribute_byline")%>' editor (optional) e.g editor=fckeditor width (optional), height (optional)

etc.
73

2011 Oracle Corporation Proprietary and Confidential

InSite Editing The <insite:edit> tag example


<insite:edit assetid='<%=ics.GetVar("cid")%>' assettype='<%=ics.GetVar("c")%>' assetfield="Attribute_Title" assetfieldvalue='<%=ics.GetVar(Title")%>'

editor="text"
/>

The above is a typical usage in a JSP template


74

2011 Oracle Corporation Proprietary and Confidential

InSite Editing For more reading


Developers Guide (PDF)
Chapter 35: Coding for the InSite Editor

Users Guide (PDF)


Chapter 4: Page 95, Working with the InSite Interface

75

2011 Oracle Corporation Proprietary and Confidential

13:00 13:30 PERSONALIZACIN

76

2011 Oracle Corporation Proprietary and Confidential

Engage Some Clients Currently Using CS Engage


www.meyer.com www.bancsabadell.es

www.tellmore.dk
www.flmowner.com (a.k.a. MyFord.com)

Most clients are very interested in CS Engage and it is cited as one of the main reasons for purchasing CS It really is neat! (and not all that complex to understand) In a cached state, it can be fast too.
77

2011 Oracle Corporation Proprietary and Confidential

Engage The Four Primary Components Of Engage:


1. Recommendation (a superset list of assets) 2. Segments based on AND/OR combination of Visitor Attributes and History Attributes 3. Visitor Attributes (and History Attributes) 4. Assets Rated or Ranked per Segment

78

2011 Oracle Corporation Proprietary and Confidential

Engage Some Secondary Components Of Engage:


1. Related List (Contextual) Recommendations 2. History Attributes and History Definitions 3. Promotions
Time based Discount based

Note: we will not be going into any detail for the above components in this lesson
79

2011 Oracle Corporation Proprietary and Confidential

Engage The Basic Relationship of the Components:


Visitor belongs to (via cookie values, session values, and/or Visitor data at login) one or more Segments Recommendation List contains list of Assets Each Asset in the List is Ranked per Segment Segment logic (i.e. what constitutes being in/out of segment) is controlled by Marketing people, not code
RESULT: Visitor sees a subset of all possible Assets based on his/her Segment(s)

80

2011 Oracle Corporation Proprietary and Confidential

Engage The Key Thing Is Designing Your Segments FIRST


There are plenty of white papers and companies that specialize in demographic data For example, ESRIs Tapestry Segmentation divides U.S. residential areas into 65 distinctive segments based on socioeconomic and demographic characteristics to provide an accurate, detailed description of U.S. neighborhoods:

|

#18 Cozy and Comfortable #19 Milk and Cookies #20 City Lights #21 Urban Villages etc

81

2011 Oracle Corporation Proprietary and Confidential

Engage Once You Have Identified Your Segments...


then you need to figure out how to parameterize them
Do your visitors require login? Do you need to support Anonymous visitors? Is the data available somewhere already? What data can you obtain for free? (e.g. Census data) What data can you purchase from a 3rd party? What data can you glean from visitors surfing your site? (e.g. what they put into their shopping carts) And finally, what is the relationship between Visitor Attributes and your Segments?

82

2011 Oracle Corporation Proprietary and Confidential

Engage What You Want To Recommend Per Segment?


Are you promoting Individual Articles? Groups of related Products? Are you trying to (up)sell something? Are you looking for a random result? Or just making the site smarter and more segment-appropriate for the visitor? Note: recommendations can even be used to change the look and feel of the webpages by loading different Stylesheet assets or different Layout components per segment
83

2011 Oracle Corporation Proprietary and Confidential

Engage Segments Are Driven By 1..n Values


Those values come either directly or indirectly from the current Visitors session Visitor Attribute values (stored in the VMVistorScalarValue table) generate one or more Segments e.g. visitors year of birth = 1956
Thus, Vistor Attribute YOB = 1956 scalar is set in code Segment BabyBoomer is defined as: YOB between 1946-1961 Thus Visitors Segment is BabyBoomer And assets Rated highly for BabyBoomer will rise to the top of the Recommendation list shown to this visitor

84

2011 Oracle Corporation Proprietary and Confidential

Engage Basic Idea: Engage Trims" an Existing List


Trims the List based on Vistor's calculated Segment(s) Visitor may belong to more than one Segment List can come from anywhere:
Recommendation (static list) Recommendation (dynamic list) Recommendation (related list) Collection (using generic dynamic recommendation) NamedAssociation (using generic dynamic recommendation) SearchState (using a generic dynamic recommendation)

Sort order is determined by the Recommendation itself


e.g. sort by Confidence e.g. sort by Rating
85

2011 Oracle Corporation Proprietary and Confidential

Engage
Coding Can Be VERY Simple for the Developer
<vdm:setscalar attribute=YOB' value='<%= ics.GetVar(yob") %>' /> <vdm:setscalar attribute='MaritalStatus' value='<%= ics.GetVar("status") %>' /> <vdm:setscalar attribute='MedianIncome' ... <commercecontext:calculatesegments /> <commercecontext:getsinglerecommendation collection='HomepageRecommendation' varname="assetid" typevarname="assettype" /> value='<%= ics.GetVar("medianincome") %>' />

<render:calltemplate tname='FSIISummary' site='<%=ics.GetVar("site")%>' tid='<%=ics.GetVar("tid")%>' slotname="RecommendationSummary" c='<%=ics.GetVar("assettype")%>' cid='<%=ics.GetVar("assetid")%>' ttype="Template">

You will notice that the developer does not control what gets rendered The logic comes from the Engage assets maintained by the marketers No if/then/else code required!

86

2011 Oracle Corporation Proprietary and Confidential

Engage Login NOT Required: Segments are Driven by Values Example of Anonymous segmentation:
Anonymous Visitor clicks checkout and is asked to type in their zipcode

Zipcode database is referenced that returns two values:


State Median Household Income for that Zipcode

If State = MA, then Segment = NewEnglander If MedianHouseholdIncome = $90,000, then Segment = UpperMiddleClass When the visitor gets to his/her shopping cart, an Upsell Recommendation (or Promotion), trimmed by those Segments, is presented

87

2011 Oracle Corporation Proprietary and Confidential

Engage Advantages of Using the Static List Recommendation


Ability to set the Confidence per asset Supports Heterogenous lists Only need to set Confidence per individual assets for the Segments you are interested in (i.e. you dont need to see every segment unless you absolutely need to) You can avoid unknowndeps *IF* you specify:
Does not return children Promotions cannot override

Note: this is what AVI Sports uses


88

2011 Oracle Corporation Proprietary and Confidential

Engage Disadvantages of Using Static List Recommendation


Yet another asset to manage Has to be manually built and each items Confidence specified individually (i.e. it is not dynamic) You may want to restrict which assettypes can go into the list, but Recommendations allow anything to be added Confidences are local to the list and cannot be shared with another Recommendation list Will generate an unknowndeps *IF* you need to specify either:
Does return children Promotions can override
89

2011 Oracle Corporation Proprietary and Confidential

Engage Advantages of Using Dynamic Recommendation


Supports any kind of list whose name is "AssetList", whose columns are assettype and assetid, and whose children are flex assets Supports Heterogenous and Homogeneous lists Asset Ratings are global and thus available to all Dynamic Recommendations Very flexible. Very powerful. Very dynamic Can also be used to trim existing Named Associations, Searchstates, etc.

90

2011 Oracle Corporation Proprietary and Confidential

Engage Disadvantages of Using Dynamic Recommendations Generates an unknown dependency which will affect caching and publish frequency Cannot specify Confidence to further refine the rendered results thus you are limited to Ratings only to control the behavior of lists Requires assets to be rated individually (or via parents) but this should also be considered an advantage

91

2011 Oracle Corporation Proprietary and Confidential

Engage Dynamic Recs: Using Parents To Bin" Ratings:


Ratings do not need to be set at the child level They can be set at the Parent level also Thus, in a simple structure, all children of the Dell category would receive the same rating However, it gets complex when a flex child might inherit multiple ratings from different parent types
e.g. Dell (MFG category) GeekUsers Rating = 60 e.g. Laptop (PROD category) GeekUsers Rating = 99

Somewhat hard to audit since such inherited/calculated ratings are not shown anywhere in the GUI
92

2011 Oracle Corporation Proprietary and Confidential

Engage Rating = 100: A Very Special Condition


If any asset in the list has rating=100 for any matching segment, then it "wins" and only other assets also with 100 will be rendered Even assets with Rating=99 will not be shown! Example:

93

ProductA has segment1=100, segment2=99 ProductB has segment1=97, segment2=98 VisitorA belongs to both segment1 & segment2 only sees ProductA VisitorB belongs to only segment1 only sees ProductA VisitorC belongs to only segment2 sees ProductA & ProductB

2011 Oracle Corporation Proprietary and Confidential

Engage Rating = 0: Another Very Special Condition


If any asset in the list has rating=0 for any matching segment, then it will never show even if it has a different rating in another segment that the visitor belongs to It even wins over rating=100 in another segment!

Example:
ProductA has segment1=0, segment2=99 ProductB has segment1=97, segment2=98 VisitorA belongs to both segment1 & segment2 only sees ProdB VisitorB belongs to only segment1 sees nothing (or whatever was specified in no segment applies) VisitorC belongs to only segment2 sees ProductA & ProductB
94

2011 Oracle Corporation Proprietary and Confidential

Engage Design Considerations:


Generally: If you use Static List Recommendations, typically use Sort by Confidence rather than Rating

If you use Dynamic List Recommendations, typically use Sort by Rating since there is no Confidence
In both cases: take extra care with Rating=100 or Rating=0 as these values "dominate everything" Besides Confidence and Rating you can also sort instead on Attributes: e.g. Year, Price, etc.
95

2011 Oracle Corporation Proprietary and Confidential

Engage Other Considerations:


Rating assets individually can be tedious

Rating assets per parent makes more sense, but be aware the effect of "dilution"
e.g. setting a single parent to 99 might only change the child by a small margin (if it has many possible parents, each of which contributes to the overall calculation)

This is why Static List Recommendations were invented: you only need to set Confidence for what you need. Ratings trim the list, Confidence biases the list.
Confidence is NOT diluted. Thus it tends to win

Downside is that you cannot globally set a Confidence for an asset it needs to be set for each Static List Recommendation it appears in

96

2011 Oracle Corporation Proprietary and Confidential

Engage Other Considerations (cont.)


RANKING* is yet another hidden feature of CS Engage
Calculated Rank = (Avg. Rating) * Confidence

Used for primarily for returning a single asset via the getsinglerecommendation tag Example of a getrecommendations list (sorted by Rating):
1. 2. 3. XXX (avg. rating=60, confidence=80) YYY (avg. rating=50, confidence=100) ZZZ (avg. rating=40, confidence=90)

However, getsinglerecommendation will return YYY Why? * Not documented as such

97

2011 Oracle Corporation Proprietary and Confidential

Engage Other Considerations (cont.)


Subtle differences between getrecommendations and getsinglerecommendation tags getrecommendations returns a list of assets that is sorted by the Recommendation asset itself
e.g. sort by Confidence e.g. sort by Rating e.g. sort by Attribute The asset with the highest (or lowest) sort value rises to the top

getsinglerecommendation returns a single asset determined by its rank = (avg. Rating) * Confidence
Sort criteria dont figure in determining which asset is returned

In other words: they behave quite differently


98

2011 Oracle Corporation Proprietary and Confidential

Engage Out Of Segment Confidence = None%


You will notice that for Static List Recommendations, there is an option for setting the Out Of Segment Confidence The default value is None% (which is *NOT* like the default 50 used for a null Rating). It literally is null.

But if you specify any non-zero % value, then that assets behavior when there is no segment is equivalent to setting a Rating = 100
In other words, usage of this field dominates and ONLY those assets with non-None/non-Zero % values will be rendered when there are no segments Yup, it can get complicated!
99

2011 Oracle Corporation Proprietary and Confidential

Lesson: Implicit Segmentation Step 2: Using ClickStamp History Attributes


Please make note of the default content on the AVI Sports Home Page Go to the Features section and click on the two "Andre Agassi" stories in Featured Articles list a few times

Now go back to the homepage you should see Agassi-biased content being rendered
How it works: the system keeps track of how many times you hit any tagged page by logging the ClickStamp (TagTracker) history attribute (def) into the db via a call to the SEUtils/History/RecordHistory element from /Layout Find the segment Likes Aggasi and explain how it works Note: This solution would probably not scale in the real world
100

2011 Oracle Corporation Proprietary and Confidential

Lesson: Explicit Segmentation Step 3: Using ClickStamp History Attributes


Login to the AVI Sports site with username/password of nancy/fwdemo1234. Navigate back to the home page to see her segments targeted content (i.e. Women Agassi Fans) How it works: when nancy logged in her visitor attributes identified her as Gender=Female and her ClickStream identified her as an Agassi Fan. Since she met both criteria, her 2nd segment was Women Agassi Fans Inspect the Home Articles Recommendation and describe how it works (note the ranking of the mere Likes Agassi segment why are the numbers lower?)
101

2011 Oracle Corporation Proprietary and Confidential

Engage Summary
Engage is a powerful set of tools and features The hardest part is designing your Segments FIRST!
Segments must be appropriate to your line of business and types of visitors Too many Segments is bad (i.e. hard to manage) Too few is bad also Simple Segments like Male/Female are hardly worth the effort Allocate enough time for a proof-of-concept to workout the details

102

2011 Oracle Corporation Proprietary and Confidential

Engage Summary (cont.)


The 2nd most time-consuming part is dealing with how to register (and manage) your visitors, how to (efficiently) store their visitor data, and how to set/read/expire cookies (or session vars) for when they arent logged in

Coding the rendering of recommended assets using the commercecontext tags is SIMPLE!
Caching is essential for any web application but can be tricky (or even impossible) to design an optimal strategy for complex segmentation requirements Other features like History Attributes and Promotions are considered advanced topics they add to the richness of Engage

103

2011 Oracle Corporation Proprietary and Confidential

For More Reading About Engage


csAdministrator_76
Appendix, Visitor Tables (Engage)

csDeveloper_76P1
Part 3, Chapter 11, Engage Subsection Part 7, Chapters 39-42

104

2011 Oracle Corporation Proprietary and Confidential

13:30 14:00 GADGETS/COMMUNITY/MOBILITY

105

2011 Oracle Corporation Proprietary and Confidential

Gadget Server Features


Allows Site Visitors to
Customized Dashboard

Allows customers to
Create gadgets from WebCenter Sites Contents Publish Gadgets in external repositories (i.e. iGoogle) Deploy as Single Gadget

106

2011 Oracle Corporation Proprietary and Confidential

Gadget Server Administration


Allows Administrator to
Create and administrate gadgets repository Deploy dashboards or Single Gadgets

107

2011 Oracle Corporation Proprietary and Confidential

Gadget Server Deploying Gadget Server Tags


Gadget Server features can be enabled on a page using by using GaS TAGS GaS Tags are JavaScript based GaS Admin generates the required code Developers only need to cut & paste the required TAGS on the templates

108

2011 Oracle Corporation Proprietary and Confidential

Community Server Features


Allows Site Visitors to
Comment on Articles Review & Rate Products Flag Comments/Reviews Polling (CoS 1.5) Blogging

109

2011 Oracle Corporation Proprietary and Confidential

Community Server Administration


Allows Administrator to
View all comments & reviews Edit comments & reviews Set if anonymous users can comment/review Moderate Comments & Reviews Set Approval Rules (Auto/Manual) Set restricted words Set black/while list of visitors

110

2011 Oracle Corporation Proprietary and Confidential

Community Server Deploying Community Server Tags


Community Server features can be enabled on a page using by using CoS TAGS CoS Tags are JavaScript based CoS Admin generates the required code Developers only need to cut & paste the required TAGS on the templates

111

2011 Oracle Corporation Proprietary and Confidential

Supported Platforms
OS - RedHat Enterprise Linux 5.0 Database Oracle 10g R2, 11g Uses Apache Web Server (installed with product) Requires domain (server) and subdomain (UI) Installation
Download specified lampp package. Run install.sh Installer prompts:
Install type Development instance (installs Admin UI & Mobility Server) or Production instance (No UI, only Mobility Server) Content Server domain, user, and password Mobility server domain & subdomain.

Package includes mobile assets & templates


Image carousel, header, footer, list, detail, etc
112

2011 Oracle Corporation Proprietary and Confidential

Deployment Architecture

There is a Mobility Server instance per Content Server. Mobility Server has a server component and a UI component used for the WEM UI (admin server is only on the development instance). Mobility Server includes a database component used for the Cache and Device Detection Database. More details on next slide.
113

2011 Oracle Corporation Proprietary and Confidential

Flow
1. Mobile device makes connection to site and is redirected to Mobility Server to serve request 2. Mobility Server detects the device model of the incoming device.

3. Mobility Server calls Content Server to get the siteplan (via custom REST call)
4. Mobility Server calls Content Server to get cids of content used in web page (via custom REST call) 5. Mobility Server calls appropriate php template (based on asset type) to render page. REST calls are made to Content Server to get actual content (e.g. list of articles or article detail) 6. Mobility Server sends markup to device.
114

2011 Oracle Corporation Proprietary and Confidential

Concepts
Device family device family represents a group of devices with similar layout characteristics (e.g. screen size, touch type, etc)
3 families ship out-of-the-box: touch, basic, smartphone A set of php templates have to be created per asset type (article, product, detail, list, etc) per device family Php template renders the asset type OOTB sample templates come with installation

Mobility Server Controller makes custom REST calls to Content Server to get site plan and page content (via jsps described on next slide)

Mobility Server Controller makes REST calls to get actual content (e.g. article) and places content into object accessible by php templates.

115

2011 Oracle Corporation Proprietary and Confidential

ALTERNATIVES????
Same code as WebCenter Sites Can use Personalization Can use PageLayout

Can use Insite Editing


What about Location based services? -> HTML5

Mobility Server -> supports thousands of devices


JQueryMobile/others -> only new devices and what about roadmap?

116

2011 Oracle Corporation Proprietary and Confidential

14:00 15:00 COMIDA

117

2011 Oracle Corporation Proprietary and Confidential

15:00 17:00 TALLERES TCNICOS DESARROLLO

118

2011 Oracle Corporation Proprietary and Confidential

Definition of a new Page Layout Create new Page subtype (Workshop) Create new Page template for the previous subtype (WorkshopDetail) Use ContentServerExplorer to edit the template and add some slots to be PageLayout ready Create a new Page asset (write something at Description), with Workshop subtype and place it in SitePlan (category public and template /Layout) Preview your page and change to PageLayout mode
119

2011 Oracle Corporation Proprietary and Confidential

Definition of a new AssetType


Create different asset attributes:
StudentName String StudentLastName String StudentCompany String StudentPhoto Blob (ImageEditor as AttrEditor) StudentBio Text (FCKEditor as AttrEditor and allow embedded links) StudentBirthday Date (DatePicker as AttrEditor) StudentCV Asset Document (PickAsset as AttrEditor)

Create new Parent Asset Type (StudentCat) Create new Asset Type (Student) Create new Asset Definition (Student) Create StartMenu items (new and search) for AssetType Student

Enable the new AssetType in our Site (FS)


Add AssetType to Assets TreeTab Create several assets of Student (all of you)
120

2011 Oracle Corporation Proprietary and Confidential

Template for Content Display


Building of two Templates (Detail & Summary) to Display the previously created Asset Type For relationship attributes (StudentCV), discover the reusability of other Asset Type Templates.

Preview the Content in those two templates (independently from the site)
121

2011 Oracle Corporation Proprietary and Confidential

Template for Content Display (Suite) Using Page Layout place the asset within the Site using Summary Template. Click on the link to view the Student Detail.. Opppps BONUS: Why the detail is not displayed????
Build the associated Container template (you can copy the ArticleCat Container Template)

122

2011 Oracle Corporation Proprietary and Confidential

Insite Editing Add insite editing capabilities in our Detail Template

Change to Editing mode and test it

123

2011 Oracle Corporation Proprietary and Confidential

Community & Gadget Server Add Community Server widgets to Detail Template

Little hard..are you able to create a gadget that displays the Students??? TRICK: look how is displayed the articles gadget

Create single gadget with the Students and place it in our Page
124

2011 Oracle Corporation Proprietary and Confidential

Engage
Create new Asset Attribute (VisCompany) Add the attribute to the visitor definition Create new Visitor (You)

Create new Visitor Attribute (VisCompany, category Profile type String, constraint type Enumeration and enter some values [obviously, your company also])
Create new Segment (Profile rules, VisCompany equals [your_company]) Create new recommendation (type recommendation, static list), add several contents to no Segment Apply and add your Segment to recommendation and select your preferred contents. Go to preview PageLayout Search your recommendation Place it (Summary Template), save and preview Now, if you do login with your Visitor, you can see your Custom view BONUS: Investigate why it works automatically if we created a new Attribute. TRICK: follow the flow.
125

2011 Oracle Corporation Proprietary and Confidential

LTIMO PASO: RECURSOS

126

2011 Oracle Corporation Proprietary and Confidential

Documentation Downloadable from Support


v7.6 Admin Guide (pdf) v7.6 Developer Guide (pdf) v7.6 CS Developer Tools (pdf) a.k.a CSDT v7.6 Backup and Recovery Guide (pdf) v7.6 Internationalization Reference (pdf) v7.6 CS-LDAP Integration Guide (pdf)) v7.6 Property Files Reference (pdf) v7.0.3 Delivery Systems Performance Guide (pdf) v7.5 p2 Engage Performance Guide (pdf) v7.6 JSP tag reference (html)
127

2011 Oracle Corporation Proprietary and Confidential

Documentation Structure
How to admin Sites How to Develop for Sites HTML Tag Ref Interesting Reading
128

2011 Oracle Corporation Proprietary and Confidential

Mailing list
[email protected]

129

2011 Oracle Corporation Proprietary and Confidential

130

2011 Oracle Corporation Proprietary and Confidential

You might also like