Displaying ECM Content In WebCenter Sites Bex Huff – Bezzotech Tony Field – Function1
Agenda Overview of SITES and CONTENT Why should they be integrated? Rendering CONTENT assets in SITES Existing and forthcoming approaches Recommendations For the latest version of this presentation, go to SlideShare: http://slideshare.com/bexmex
CONTENT, SITES, or PORTAL? WebCenter CONTENT (UCM / Site Studio) Single source of truth for enterprise content WebCenter SITES (FatWire) Web experience management WebCenter PORTAL Application Integration When to use which? Oracle official direction statement Practical considerations: Where is your biggest investment?
Base content management platform WebCenter CONTENT Base content management platform Java application, running in WebLogic Dozens of integration points with back-end systems LDAP, BPEL, ESB, SOA, Portal Enterprise Applications: EBS, PeopleSoft, Siebel Over 50 ways to integrate (and growing) Content centric applications built with same framework: Web Content Management (Site Studio) Digital Asset Management Imaging and Process Management
WebCenter CONTENT Architecture
Oracle’s Web Experience Management platform WebCenter SITES Oracle’s Web Experience Management platform Like Site Studio, but with more engagement points: User engagement, recommendations, polling High performance distributed cache Content targeting and optimization Easy end-user contribution, security, and workflows Out-of-the-box social integration (Facebook, Twitter) Architecture basics: Java/JSP/Taglibrary based Database repository for web assets Smart cache for high scalability
Site Studio Resources Project File Sub-template Section Element Definition File Page Template File Data File Placeholders Elements Placeholder Definition File Region Definition File Region Template File Region
WebCenter SITES Resources Attribute Asset Rendering Template Asset Type
Site Studio Architecture
Site Studio for External Applications (SSXA)
SSXA Web Services for Site Studio Assets SSXA is a set of APIs to view and edit WCM content remotely Core services available in 10gR4 CONTENT 11g has connectors for JEE Application servers WCM_PLACEHOLDER dataFileDocName : content ID of the item to render into HTML placeholderDefinitionDocName : content ID of the placeholder optional parameters: same as wcmPlaceholder IdocScript WCM_BEGIN_EDIT_SESSION dDocName : content ID of the item to edit Opens up the Site Studio Contributor out-of-context for data files Example: doc-info page for any data file
Rendering Site Studio Placeholders All information stored in the XML Site Studio Project File Maps a URL to a nodeId for the site Each nodeId has placeholders, with data files, and templates Request comes in to render a URL Site Studio maps the URL to a nodeId Site Studio begins rendering the page template for that nodeId Placeholders are rendered based on data file and region template To render a page, you only need Project File and Page Template All else handled via WCM_PLACEHODLER service Or wcmPlacehodler IdocScript
Page Template with placeholders Data File for the placeholder Site Studio Resources Page Template with placeholders <div id="mainContent"><!--$wcmPlaceholder('mainContent')--></div> Data File for the placeholder <dataFile> <title>This is my title</title> <body>This is the body of my news item</body> </dataFile> Region Template for the placeholder <h1><!--$wcmElement('title')--></h1> <div id='body'><!--$wcmElement('body')--></div>
WebCenter SITES Architecture Management Delivery Mobile Delivery Community Server Community Server WEM Framework WEM Framework Gadget Server Gadget Server Satellite Server Site Visitors Content Managers Engage Engage Content Server Content Server Content Optimizer Content Integration Platform Documentum File System SharePoint …
Typical WebCenter SITES Deployment
Rendering SITES Assets Request passed from app server to Satellite servlet (caching system) Satellite sends request to Content Server (yes, another Content Server) Content Server indirectly looks up the element (JSP), dispatches it, and invokes it. Asset data is loaded in the element, then displayed MVC approach was built as a retrofit (not all elements have to be JSP – some can be thin XML that calls into a proper dispatcher, which in turn calls back into a JSP) Rendered markup is often cached
Trivial SITES full-page template
Current Integration Options Good news: CONTENT has many integration options WebCenter SITES is Java/JSP based Multiple integration options with CONTENT RIDC or SOAP Tag libraries based on RIDC/SOAP Scheduled migration of content into SITES database as assets Still not many common patterns Management of synched content requires business rules Where should my content live? How do I keep it up to date?
Front-end Java controller (Spring, Struts, ADF, etc.) Roll-Your-Own SSXA Front-end Java controller (Spring, Struts, ADF, etc.) Parses project file, maps URL paths into nodeId Uses nodeId to find placeholders, data files, and templates Use JSP-based page templates Very simplistic tags / attributes for placeholders Use OpenWCM web services to render existing assets WCM_PLACEHODLER Use EHCache to guarantee performance Link back to WebCenter content for editing assets
Render SSXA Content Through SITES! Using controller infrastructure (like GSF), can plug in custom SSXA controller Map a friendly URL to a Site Studio Section Call WCM_PLACEHODLER to render placeholders Display them on a SITES template! Only valid for placeholders, not fragments What about editing the content? Just have a link to WCM_BEGIN_EDIT_SESSION Visible upon Ctrl-Shift-F5 of course Use built-in ehCache for optimum performance Be sure to do URL forwarding for link management
11.1.1.8 Feature: WebCenter CONTENT Connector Assets tagged in CONTENT can be synched to SITES Synched content is treated like a regular asset in SITES Read-only Loaded into hard-coded taxonomy based on rules Sync is scheduled to search WebCenter CONTENT periodically Detailed logging, exception handling, and reporting all provided Available in 11.1.1.8 (right now!!!) Walk-thru!
Tagging “Sync to Sites”
UI Configuration
Selection Rules
Taxonomy Target Rules
Attribute Mapping
Business User Experience – Totally Transparent!
New SITES Feature: External Repositories! A “proxy” asset is a record in SITES about an asset But the asset does not exist in the SITES database Sometimes there is no need for the data to be copied Sometimes there is too much data to copy Goal: very large media delivery web sites You wouldn‘t put YouTube videos in a database But, you would put metadata about those videos in a database CONTENT is no different Sometimes assets belong in SITES Sometimes assets belong in CONTENT Allows external repositories to be represented in SITES Library holdings, document repository, product catalog, etc.
Site Studio renders and delivers content Migration In Stages Site Studio renders and delivers content Current state SITES delivers Site Studio placeholders as markup Custom SSXA controller in SITES SITES delivers and renders Site Studio content Developer ports Site Studio Region Templates to SITES Content is retrieved from Site Studio at render time Data Files rendered via native SITES templates CONTENT Data Files migrated to SITES assets: Connector is used: content is copied over to an asset in SITES External Repository: content remains in CONTENT
Additional Bonus Integrations Once Integrated with CONTENT, SITES gains for free: SOA BPEL BPM ESB SOAP RIDC Anything else CONTENT integrates with SITES connector via Content Integration Platform Contrast with external repository support & CONTENT integration
April 7 – 11, 2014 The Venetian Resort, Las Vegas, NV COLLABORATE14.IOUG.ORG April 7 – 11, 2014 The Venetian Resort, Las Vegas, NV Network with 5,000+ database and application professionals 5 days of in-depth education built by users, for users Complimentary Pre-Conference Workshops for IOUG registrants If you like what you heard today, you should come see me speak at COLLABORATE 14 – IOUG Forum 1,000 customer sessions, very similar to what you see on User Group Sunday at OpenWorld Includes complimentary hands on labs and pre-conference workshops for IOUG attendees COLLABORATE 14 is April 7-11 in Las Vegas! Attend for free! IOUG’s Call for Speakers is now open collaborate14.ioug.org/call-for-speakers
Training Close to Home IOUG Master Class Series Returns Coming soon to a city near you! One Day Interactive Training Events to meet your educational needs Communities Maximum Availability Architecture with Oracle’s Larry Carpenter and Joe Meeks October 15: Milwaukee, WI October 16: Rochester, NY Performance and Internals with Craig Shallahamer November 6: Chicago, IL November 8: Atlanta, GA Get more information at www.ioug.org/masterclass or visit the IOUG kiosk in Moscone West, 2nd floor IOUG Master Class brings the best content from COLLABORATE 13 to a city near you Use these one-day training events to train your entire team at an affordable price! Group discounts available, visit the IOUG kiosk for more information
Come See IOUG at the User Group Pavilion Win a Free Registration to COLLABORATE 14! Stop by the IOUG kiosk in the User Group Pavilion in Moscone West, 2nd floor, to pick up a lucky poker chip and see if you are a winner of a free registration to COLLABORATE 14 in Las Vegas! Visit IOUG in the User Group Pavilion, on the 2nd floor of Moscone West to pick up your poker chip and win a prize Don’t forget to drop off your speaker card from this session to help me win a prize!
Complimentary eBook Register Now www.mhprofessional.com/dbsec Use Code: db12c
Company: http://bezzotech.com Blog: http://bexhuff.com Bex Huff Company: http://bezzotech.com Blog: http://bexhuff.com Self: bex@bezzotech.com Tony Field Company: http://function1.com Blog: http://www.function1.com/blog/ Self: tony@function1.com 35