This post is a technical primer for Oracle Site Studio, including a quick overview of the technology and important concepts for anyone building websites using Site Studio.
Site Studio is part of Oracle’s Web Content Management (WCM) solution (not to be confused with Oracle WebCenter Sites, which is geared more towards marketing and branding websites). Site Studio websites are built on a content management platform and allow for site designers to create the site structure, underlying page layout, and look and feel, whereby non-technical business end users can be given the ability to update web pages in-context (directly from their web browser while in Contribution Mode) without a need to involve someone from IT to make the change for them.
Site Studio is built on top of Oracle Content Server (a Java web application), which is the core of Oracle WebCenter Content (WCC). Site Studio is a component that you can optionally enable on Content Server, and there is also a Site Studio for External Applications component which allows for the application server or website to be decoupled from Content Server.
The underlying site assets (i.e., content items) that are used to create and display a Site Studio website are stored in Content Server and are conceptually grouped as follows:
- Presentation Files – Style sheets and templates (page templates, region templates, and subtemplates). When using the Site Studio for External Applications component, these files can either be stored in Content Server or with the web application.
- Content Files – Contributor data files, native documents, images, and other media files.
- Control and Configuration Files – Placeholder definitions, element definitions, region definitions, fragment libraries, and so on.
The following diagram depicts the relationship between site assets:
When the Site Studio component is enabled, the site assets leverage the following custom metadata fields:
- Web Site Object Type (xWebsiteObjectType)
- Web Sites (xWebsites)
- Exclude From Lists (xDontShowInListsForWebsites)
- Web Site Section (xWebsiteSection)
- Region Definition (xRegionDefinition)
The Site Studio architecture allows for a separation of the presentation layer from the content. The following diagram depicts the website contribution model:
The following is an example of steps taken by a Contributor to edit a webpage:
- Contributor views a web page in their browser they wish to edit
- Contributor enters Contribution Mode
- NOTE: Default key combination is CTRL+SHIFT+F5
- Contributor clicks the Edit action from the Contribution Region on the page they wish to update
- NOTE: They are only allowed to edit a Contribution Region if they have the appropriate security permissions
- A new browser window pops up displaying the Contributor application, which displays the editable Elements for that Contribution Region
- NOTE: The Contributor application knows which editable Elements to display because it knows which Contributor Data File is being edited for that Contribution Region. That data file has an xRegionDefinition metadata value which references the Content ID (unique identifier) of a Region Definition in the Content Server repository. It is that Region Definition which defines the Element Definitions
- Contributor edits one or more Elements from the Contributor application, then clicks the Save action
- The Contributor application updates the Contributor Data File by checking in a new revision of that file into the Content Server repository
- The Contributor application window closes and the webpage refreshes so that you can view the updated Contribution Region in-context with the rest of the page
- NOTE: Typically, that new revision of the Contributor Data File is routed to Workflow for approval before it is published for the public to see
When a webpage is requested, Site Studio pieces together all of the underlying site assets to dynamically generate a webpage. The following diagram depicts the website presentation model:
The following is an example of steps taken by Site Studio to dynamically display a webpage, where a portion of the page consists of Contributor content:
- End user requests a web page (e.g., via a path-based URL such as /mysite/index.htm)
- Site Studio loads the appropriate Page Template associated with that site section (where the Page Template can use static code, Placeholder Definitions, and Fragments to make up the page)
- Site Studio loads the Placeholder Definition for the Contribution Region (which was either defined via the wcmPlaceholder tag in the Page Template, or from a site section property), which includes available Subtemplates, Region Definitions, and Region Templates
- Site Studio loads the Contributor Data File for the Contribution Region (which was either defined from a site section property, or from the wcmPlaceholder tag in the Page Template) and identifies the xRegionDefinition metadata value associated with it
- Site Studio uses the xRegionDefintion metadata value to find that Region Definition in the Placeholder Definition, which in turn then maps to a Region Template
- Site Studio uses that Region Template to write out the display code of the contributor input saved in the Contributor Data File (e.g., wrapping an <H1> HTML tag around a header text element)
- Site Studio takes the output from that Region Template and includes it as a snippet of code to be plugged into the larger Page Template output
For More Information
- Oracle WCC 11g Release 1 - User’s Guide for Site Studio Contributor
- Oracle WCC 11g Release 1 - User’s Guide for Site Studio Designer
- Oracle WCC 11g Release 1 - User’s Guide for Site Studio Publisher
- Oracle WCC 11g Release 1 - Administrator and Manager’s Guide for Site Studio
- Oracle WCC 11g Release 1 - Technical Reference Guide for Site Studio
- Oracle WCC 11g Release 1 - Developer’s Guide for Site Studio for External Applications