advanced site studio class, june 18, 2012

78

Upload: lee-klement

Post on 08-Jun-2015

1.465 views

Category:

Documents


2 download

DESCRIPTION

Supplemental slides from June 18, 2012 Session of Advanced Site Studio class

TRANSCRIPT

Page 1: Advanced Site Studio Class, June 18, 2012
Page 2: Advanced Site Studio Class, June 18, 2012

<Insert Picture Here>

Oracle Universal Content Management 11g: Manage Web Content IILee KlementLee KlementSenior Principal InstructorOracle University

Page 3: Advanced Site Studio Class, June 18, 2012

Welcome! I’m Lee.

<Insert Picture Here>• Name: Lee Klement• Residence: Minneapolis MinnesotaResidence: Minneapolis, Minnesota• Workplace: Everywhere!• Experience: 16 Years with Stellent, now Oracle

• Spent time in Support, Consulting, and QA/Web Group• 8 Years as a Trainer on Content Server

• Lead Instructor on Content Server Products (UCM / WCM / URM)Lead Instructor on Content Server Products (UCM / WCM / URM)

• Now also teaching Oracle Classes on:• Introduction to Java• Java EE• XML• Web services

Page 4: Advanced Site Studio Class, June 18, 2012

Introduce Yourself!

<Insert Picture Here>

Wh t’ ?• What’s your name?

• What do you do?

• What experience or training do you have with Content Server?

• What experience or training do you have with Site Studio?

• What will you be doing with Site Studio?

• Tell us two facts about yourself.Tell us two facts about yourself.

Page 5: Advanced Site Studio Class, June 18, 2012

Introduce Yourself!

<Insert Picture Here>• What’s your name?

• Where are you today?

• What do you do?What do you do?

• What experience or training do you have with Site Studio?Site Studio?

• Tell me about your installation

Wh t ill b d i ith Sit St di ?• What will you be doing with Site Studio?

• Tell us two facts about yourself.

Page 6: Advanced Site Studio Class, June 18, 2012

WCM II: Monday's Lessons

<Insert Picture Here>1. Introduction (& Let's Build a Classroom)

2. Deploying a Dynamic Web Site

3. Site Studio Administration Page

4. Creating Custom Elements

Page 7: Advanced Site Studio Class, June 18, 2012

WCM II: Tuesday's Lessons

<Insert Picture Here>5. Using Idoc Scriptg

6. Adding Navigation

7. Adding Parameters to gCustom Elements

8. Using a Cascading Style Sheet with Dynamic Converter

Page 8: Advanced Site Studio Class, June 18, 2012

WCM II: Wednesday's Lessons

<Insert Picture Here>9. Options Available Only in Contribution Mode

10. Extending Your Web Page with C t S ti P tiCustom Section Properties

11. Creating a Custom Dynamic List

12. Working with Site Studio for External Applications (SSXA)

Page 9: Advanced Site Studio Class, June 18, 2012

Site Studio isn't Site Studio

• Site Studio is the WCM add-on to Oracle Content Server

• Content Server is changing it's name.W F i Middl Ui l C t t• Was Fusion Middleware Uinversal Content Management (UCM)

• Site Studio was FMW UCM Web ContentSite Studio was FMW UCM Web Content Management

• UCM Is Becoming: Oracle WebCenter Content• Site Studio is becoming Oracle WebCenter Content:

Site Studio

Page 10: Advanced Site Studio Class, June 18, 2012

WCM II: Possible Bonus Lessons

<Insert Picture Here>• Creating Fragmentsg g

• Going Deeper With Idoc Script

• Site Studio Services• Site Studio Services

• Creating Static Lists

Page 11: Advanced Site Studio Class, June 18, 2012
Page 12: Advanced Site Studio Class, June 18, 2012

<Insert Picture Here>

Build-A-ClassBuild A Class(a.k.a. Practice 2...)

Page 13: Advanced Site Studio Class, June 18, 2012

Big Changes!

• Oracle Universal Content Management (UCM) 11g is g ( ) gthe first version to be implemented as a Java Enterprise Edition (Java EE) Application

• That means UCM 11g (a.k.a. Content Server) runs inside a Java EE Application Server

• Oracle's Flagship Java EE Server is the Weblogic Application Server

Page 14: Advanced Site Studio Class, June 18, 2012

Connections...

• Weblogic Admin Console:ghttp://hostname.us.oracle.com:7001/console

C t t S• Content Server:http://hostname.us.oracle.com:16200/cs

Page 15: Advanced Site Studio Class, June 18, 2012

Build-Out, Part I

• Lee's Part:• Lesson 1

• Your Part:• Practice 1-1 to 1-3: Starting Servers & Configuring WLS• Practice 2-1: Installing Componentsg p

• Verify:• Components Enabled:

• ContentTracker• ContentTracker • ContentTrackerReports • DynamicConverter • DBSearchContainsOpSupport p pp• SiteStudio • Folders_g • SiteStudioExternalApplications • SiteStudioPublisher

Page 16: Advanced Site Studio Class, June 18, 2012

Build-Out, Part II

• Lee's Part:• Lesson 2; to page 2-7

• Your Part:• Practice 2-2 to 2-5:

CMU, Metadata, Admin Tray, Import Content, & Rebuild Index

• Verify:• Metadata on Checkin Page• Content Visible in Search ResultsContent Visible in Search Results

Page 17: Advanced Site Studio Class, June 18, 2012

Build-Out, Part III

• Lee's Part:• Lesson 2; 2-8 to end + demo replication

• Your Part:• Practice 2-6: Installing and Configuring Site Studio Designer• Practice 2-7: Unpack the lab files for this classp

• Verify:• Designer Starts• Lab Files visible at d:\labs\WCM II• Lab Files visible at d:\labs\WCM II

Page 18: Advanced Site Studio Class, June 18, 2012

<Insert Picture Here>

Lesson 3Lesson 3Site Studio Admin Page

Page 19: Advanced Site Studio Class, June 18, 2012

Site Studio & DNS

Page 20: Advanced Site Studio Class, June 18, 2012

<Insert Picture Here>

Interlude:Interlude:Site Studio Review

Page 21: Advanced Site Studio Class, June 18, 2012

Site Studio Purpose

• Build a system that allows websites to be maintained ywith minimal intervention from the web team.

• Web team creates the design, infrastructure, and process for the sitesprocess for the sites.

• Contributors create & maintain the content.• Site managers use existing design elements to createSite managers use existing design elements to create

and maintain sections of the website.

Page 22: Advanced Site Studio Class, June 18, 2012

Site Studio Design Principles

• A strong separation of presentation & content & gcontrol file• Presentation and content are stored in separate files• Control files control the contribution process• Control files control the contribution process• That makes presentation and content independently

reuseable elements.These reuseable elements are all combined dynamically on• These reuseable elements are all combined dynamically, on-demand.

Page 23: Advanced Site Studio Class, June 18, 2012

3 Kinds of Files

• Content• Contributor Data Files: XML / HTMLContributor Data Files: XML / HTML• Native Content: Word, Wordperfect, Powerpoint, etc.

• Presentation• Templates

• Page Template: Top-Level Structure Page• Region Template: Presentation for a contribution regiong p g• Subtemplate: Reuseable modules that fit inside a page

template.

• Control• Control• Most have 'definition' in their name (i.e. Element Definition,

Region Definition, Placeholder Definition)All t d XML• All stored as XML

Page 24: Advanced Site Studio Class, June 18, 2012

Placeholders & Contribution Regions

In a page template, a placeholder may reference a

t ib ticontribution region.

A contributionA contribution region is an editable area of the pagethe page.

Page 25: Advanced Site Studio Class, June 18, 2012

What's a Placeholder?

• A placeholder is a named insertion point in a page gtemplate or a subtemplate.

• At each placeholder you can assign either a region definition / template to make a contribution region ORdefinition / template to make a contribution region OR a subtemplate. The subtemplate would then typically carry more placeholders.

Page 26: Advanced Site Studio Class, June 18, 2012

Presentation Model

Page 27: Advanced Site Studio Class, June 18, 2012

Contribution Model

Page 28: Advanced Site Studio Class, June 18, 2012

Region Definitions Define a 'Type' of Datafile

• Region Definition defines what data will be in a data gfile (it's structure)

• Region Template provides a presentation for that dataD t fil h t t th t t h th d fi iti• Data files have a structure that matches the definition they were created from

Page 29: Advanced Site Studio Class, June 18, 2012

Content Re-Use

...can look different...

The same datafile...

on different pages...on different pages

Page 30: Advanced Site Studio Class, June 18, 2012

Site Studio Parts...

Page 31: Advanced Site Studio Class, June 18, 2012

Site Studio Parts - v2

Page 32: Advanced Site Studio Class, June 18, 2012

Site Studio Parts, v3

Page 33: Advanced Site Studio Class, June 18, 2012

Naming Scheme for Class

• 2-Letter Code for what kind of thing it is, i.e.g• PT - Page Template• RT - Region Template• ED - Element Definition• ED - Element Definition• RD - Region Definition

• Followed by a functional description, i.e.• ED-WYSIWYG-CSSBodyStyles

Page 34: Advanced Site Studio Class, June 18, 2012
Page 35: Advanced Site Studio Class, June 18, 2012

<Insert Picture Here>

Lesson 5Lesson 5Idoc Script

Page 36: Advanced Site Studio Class, June 18, 2012

Idoc Script Is...

• Server-Side• Tag-Based• Tag-Based• Case Sensitive• Simple

C t i d• Constrained• In Time• In Functionality

• Secure• Secure• Exensible• Mature• Powerful• Complete

Page 37: Advanced Site Studio Class, June 18, 2012

Variables

• Loosely typed - essentially all stringsy y y g• Undeclared - use its yours• Set a value in a web page like this:

<!--$MyVariable = "Lee"-->

• Set a value in a config file or URL like this:MyVariable=LeeMyVariable Lee

• Reference a variable in a web page like this:<!--$MyVariable-->

• Scope is controlled by where value set.

Page 38: Advanced Site Studio Class, June 18, 2012

Metadata = Variables

• Every metadata field (like Title) has a standard y ( )variable name (like dDocTitle)

• Prefixes indicate what 'kind' of metadata field it is:d t / t d d t t t d t• d - system / standard content metadata

• x - custom / extended content metadata• u - user metadata

• See section 2 of the Idoc Script Reference Guide• Beware of data pollution!• Beware of data pollution!

Page 39: Advanced Site Studio Class, June 18, 2012

Variables

• UserName• isLoggedIn• UserIsAdmin• siteId / nodeId• siteId / nodeId• SS_DATAFILE• SSContributor

Page 40: Advanced Site Studio Class, June 18, 2012

Functions

• Simple:• dateCurrent()• formatDateOnly()• isTrue()isTrue()

Page 41: Advanced Site Studio Class, June 18, 2012

Functions

• Security & Usersy

• userHasRole()

Page 42: Advanced Site Studio Class, June 18, 2012

Functions

• Site Studio Specific• wcmElement()• ssGetNodeLabel()• ssGetWebsiteName()ssGetWebsiteName()• wcmUrl()• ssGetDocInfo()• ssIsNativeDoc()

Page 43: Advanced Site Studio Class, June 18, 2012

<Insert Picture Here>

Lesson 6Lesson 6Navigation

Page 44: Advanced Site Studio Class, June 18, 2012

Understanding and Creating Navigation

We've got three main topics to cover:g

• Site Studio Navigation Basics• How to Write Navigation Code in Site Studio• How to Package Navigation Code in Site Studio

Page 45: Advanced Site Studio Class, June 18, 2012

Site Studio Navigation Basics

• Navigation is automatically kept up to date• Site stucture is stored in the project filep j• Site Studio publishes site structure and key section

properties to JavaScript and XML data files• Navigation data is also available via Webservices and

Idoc Script APIs• Your navigation code reads that data and presents it• Your navigation code reads that data and presents it

Page 46: Advanced Site Studio Class, June 18, 2012

Where's that Data?

• Site Studio publishes navigation and section property g yto a Site Studio directory in the weblayout.

I th l th th i• In the classroom the path is:D:\Oracle\Middleware\user_projects\domains\base_domain\ucm\cs\weblayout\websites

• Below that there is a separate directory per website

Th i J S i t d XML fil ith h th• There is a JavaScript and an XML file, with much the same data in each.

Page 47: Advanced Site Studio Class, June 18, 2012

Writing Navigation Code

• The data is there, we just need to read it and present it.j

• You can do it in JavaScript, IdocScript, or whatever

• I will demonstrate getting the data from the server via an Idoc Script function and building the nav with Idoc ScriptIdoc Script function and building the nav with Idoc Script

• For your activity you'll work with a JavaScript-based o you act ty you o t a Ja aSc pt basedversion.

Page 48: Advanced Site Studio Class, June 18, 2012

Packaging Navigation Code

• Now we've got it, where do we put it?g

Page 49: Advanced Site Studio Class, June 18, 2012

Where do I put my Navigation Code

In a Page Template?B d h i bBad choice because:Not very reuseableNo way to set parametersAgainst general Site Studio design principles

In a SubtemplateNot the bestNot the bestMore resuable (than PT)No way to set parameters

In a Region TemplateIn a Fragment

Page 50: Advanced Site Studio Class, June 18, 2012

2 Ways to Package Navigation

• In a FragmentP t t ONLY b d i i SS D i A• Parameters set ONLY by designers in SS Designer App

• Assets store in Fragment library - always there• Can insert cordinated code snippets in head & body• Easier for web designer to use

• In a Region Template• In a Region Template• Parameters set by designers or contributors in SS Contributor• Assets are separate content items and may or may not be

l d d ith th RT dloaded with the RT code• Only 'drop point' insertion in body

Page 51: Advanced Site Studio Class, June 18, 2012

<Insert Picture Here>

Lesson 8Lesson 8Using CSS with Dynamic Converter

Page 52: Advanced Site Studio Class, June 18, 2012
Page 53: Advanced Site Studio Class, June 18, 2012

Dynamic Converter Basics

• Dynamic Converter does a template-controlled yconversion of native content to web content.

• A Dynamic Converter template is a collection of rulesfor converting parts of a native document to webfor converting parts of a native document to web formats

• A Dynamic Converter element is one of those rulesy• A Dynamic Converter Layout defines the

characteristics of the page that is 'wrapped around' the converted contentthe converted content.

Page 54: Advanced Site Studio Class, June 18, 2012

Dynamic Converter Basics

Dynamic Converter does a template-controlledconversion of native content to web content.

Page 55: Advanced Site Studio Class, June 18, 2012

Role of Template & Layout

The Native File is processed by rules in the DC Template to produce HTMLin the DC Template to produce HTML. That HTML is merged into the DC Layout to produce a finished page.y p p g

Page 56: Advanced Site Studio Class, June 18, 2012

Dynamic Conversion: What You Need

• A Dynamic Converter Template• A Dynamic Converter Layout

(always use the snippet layout)

• Some Native Content• Some Native Content(with styles & wsot = native document & rd field pointing to a region def)

• A CSS Stylesheet• A Conversions Definition

(be sure to reference this in the site properties)

• A Region Definitiong(may be blank)

• A Region Template(with a dynamic conversion object)( y j )

Page 57: Advanced Site Studio Class, June 18, 2012

CSS: 3 Ways to Apply A Style

• With a span tag:g<span class="myStyle"><h1>Some Text</h1></span>

• With a class selector:• With a class selector:<h1 class = "myStyle">Some Text</h1>

• With a type selector:<h1>Some Text</h1>

See the 'Selectutorial' at: http://css.maxdesign.com.au/selectutorial/selectors_type.htm_

Page 58: Advanced Site Studio Class, June 18, 2012

Code to link to a CSS File from a Template

Ideally this code would all be on one line in your template:

<link media="screen" href="<!--$wcmUrl('resource', 'groups/public/documents/dDocType/dDocName.css')-->" type="text/css" rel="stylesheet" />

Replace the relative URL of the content (second parameter of wcmUrl function) with a value copied from your stylesheet's Document Information page.p y y p g

Page 59: Advanced Site Studio Class, June 18, 2012

Region Template Code for Data file or Dynamic ConversionData file or Dynamic Conversion

<!-- Inside a Region Template SS_DATAFILE will carry the dDocName of the content to be displayed -->

<!--$if ssIsNativeDoc( SS_DATAFILE )-->_<!-- Code for processing dynamic conversion here--><!--$wcmDynamicConversion("Main")-->

<!--$else--><!-- Code for processing contributor datafile here --><h1><!--$wcmElement("Headline")--></h1><!--$wcmElement("Body")-->

<!--$endif--><! $endif >

Page 60: Advanced Site Studio Class, June 18, 2012

<Insert Picture Here>

Lesson 10Lesson 10Custom Section Properties

Page 61: Advanced Site Studio Class, June 18, 2012

What are they good for?

• Accessible from SS Designer and SS Manager toolsg g

• Allow some bit of data to be attached to the section

• Template code can reference the property to look up• Template code can reference the property to look up parameters that will change its appearance or behavior

• Supplemental CSS for Section

• Query to Drive Section-Specific Dynamic Listy p y

Page 62: Advanced Site Studio Class, June 18, 2012
Page 63: Advanced Site Studio Class, June 18, 2012

<Insert Picture Here>

Lesson 11Lesson 11Dynamic Lists

Page 64: Advanced Site Studio Class, June 18, 2012

RT Code for Simple Dynamic List

<span class = "Heading3"><!--$wcmElement("heading")--></span></br>

<!--$if wcmDynamicList("pagenavlist")--><!-- wcmDynamicList loads the parameters from the RD / ED and returns true -->

<!--$executeService("SS_GET_SEARCH_RESULTS")-->< l><ul>

<!--$loop SearchResults--><li><a href="<!--$ssUrl-->"><!--$xml(dDocTitle)--></a>&nbsp;<a href = "<!--$URL-->"><img src="<!--$wcmUrl('resource',

'groups/public/documents/web_asset/doc_icon.gif')-->" /></a></li><!--$endloop-->

</ul><!--$endif-->

Page 65: Advanced Site Studio Class, June 18, 2012
Page 66: Advanced Site Studio Class, June 18, 2012

<Insert Picture Here>

Lesson 12Lesson 12Site Studio for External Applications

Page 67: Advanced Site Studio Class, June 18, 2012

SSXA?

• What is it?An extension or re-implementation of Site Studio with a goal of

integration with other applications using industry standard technology (SOAP/XML Web Services and JSP/JSPX)

• Why would I want it?B t t Sit St di ith th li tiBecause you want to use Site Studio with another application or

portal to deliver Web Content Management.

Page 68: Advanced Site Studio Class, June 18, 2012

What Do You Know About Java EE?

Page 69: Advanced Site Studio Class, June 18, 2012
Page 70: Advanced Site Studio Class, June 18, 2012

<Insert Picture Here>

BonusKey UCM ResourcesKey UCM Resources

Page 71: Advanced Site Studio Class, June 18, 2012

Oracle Technology Network

• Downloads: http://www.oracle.com/technetwork/middleware/content-management/downloads/index-085241.html

• Documents:http://www oracle com/technetwork/middleware/content-http://www.oracle.com/technetwork/middleware/content-management/documentation

• Discussion:http://www.oracle.com/technetwork/middleware/content-management/community/

Page 72: Advanced Site Studio Class, June 18, 2012

The Yahoo Group

• Intradoc_UsersThe oldest and largest community of Content Server users and experts.

Page 73: Advanced Site Studio Class, June 18, 2012

The Book:

The Definitive Guide to Stellent Content Server DevelopmentBy Brian HuffBy Brian Huff

Page 74: Advanced Site Studio Class, June 18, 2012

3 Key Blogs...

• Kyle's Blog: y ghttp://blogs.oracle.com/kyle/

• WebMonkeyMagic:http://webmonkeymagic.blogspot.com/

• Bex Huff's Blog:http://bexhuff.com/

O M ?• One More?Content on Content Managementhttp://contentoncontentmanagement.com/

Page 75: Advanced Site Studio Class, June 18, 2012

The Videos (...and another book)

• StellentExperts channel with titles like:(search for "Stellent")• "How to become clear on ECM Role-Based Security in 15

min or less"• "How to install Oracle UCM 11gR1 on your laptop in a short

afternoon"

• Dmitri Khanine (the man behind the videos)also has a book; "The Oracle UCM Handbook" though it has had mixedHandbook though it has had mixed reviews...

Page 76: Advanced Site Studio Class, June 18, 2012

Classroom URLs:

Att deAttendance: http://education.oracle.com/eattendance.html

Evaluations:http://education oracle com/pls/eval-eddap-http://education.oracle.com/pls/eval-eddap-dcd/eval_common_hdr.n_osevalsearch

On-Site Evaluations:On-Site Evaluations:http://education.oracle.com/eval-eddap-dcd/plsql/oseval_pack.home

Page 77: Advanced Site Studio Class, June 18, 2012

<Insert Picture Here>

Thank You!• You can contact me at:

lee klement@oracle [email protected]

Page 78: Advanced Site Studio Class, June 18, 2012