1 About Site Studio for External Applications

Site Studio for External Applications can dramatically improve productivity and allows organizations to maintain accurate, timely, and current web content with consistent branding and presentation across all corporate sites. With Site Studio, you can centralize control of site architecture and presentation, while distributing content development and ongoing maintenance to business units or other teams. Additionally, Site Studio for External Applications can be integrated with third-party applications servers.

This section covers the following topics:

1.1 New for this Release

These enhancements, upgrades, or changes are new for this release:

1.2 Introduction to Site Studio for External Applications

Site Studio for External Applications is a powerful, flexible web development tool that offers a comprehensive approach to designing, building, and maintaining enterprise-scale web sites in an application server environment. Web site development and template creation is performed in the JDeveloper environment. Site assets, such as files and graphics, are stored and managed in the content server. Templates may be stored and managed in the content server or as part of your project in JDeveloper, depending on the type of template used.

Site Studio JSP/JSPX templates, including page templates, region templates, and subtemplates, can be stored locally within Oracle JDeveloper or checked in to your Oracle WebCenter Content Server 11gR1 or Oracle Content Server 10gR3 instance.

  • JSPX templates stored locally are typically located in a subdirectory within your project on JDeveloper. For example, the /wcm/templates/page/ subdirectory would typically contain all page templates associated with your project.

  • JSPX templates can also be stored on an Oracle WebCenter Content Server 11gR1 or Oracle Content Server 10gR3 instance. This allows templates to be modified and updated on your site without having to re-deploy the application. JSPX templates stored on Oracle WebCenter Content Server 11gR1 or Oracle Content Server 10gR3 can be edited in your JDeveloper environment and previewed multiple times before being committed to Oracle WebCenter Content Server 11gR1 or Oracle Content Server 10gR3.

Your project may contain both JSPX templates stored locally and JSPX templates stored on Oracle WebCenter Content Server 11gR1 or Oracle Content Server 10gR3. However, it is recommended that you build each project using one template type.

1.3 Installing Site Studio for External Applications

Site Studio for External Applications requires two extensions be installed on Oracle JDeveloper and two components be enabled on Oracle WebCenter Content Server.

Follow the steps provided in these sections to install the required extensions and components:

1.3.1 Installing Required Extensions on Oracle JDeveloper

Site Studio for External Applications 11gR1 requires that the Remote Intradoc Client (RIDC) extension and Site Studio for External Applications (SSXA) extension for Oracle JDeveloper be installed.

Required Extensions

These extensions must be installed on Oracle JDeveloper:

  • Oracle Remote Intradoc Client (RIDC) extension 11.1.1.6 (11gR1 PS5). The Remote Intradoc Client (RIDC) extension for JDeveloper is included with the Remote Intradoc Client (RIDC) suite distribution.

    The RIDC extension (oracle.ucm.ridc.jdev-11.1.1.6.zip) is located in the modules/jdev directory of the RIDC suite distribution (ridc-suite-11.1.1.6.zip).

  • Oracle Site Studio for External Applications (SSXA) extension 11.1.1.6 (11gR1 PS5). The Site Studio for External Applications (SSXA) extension for JDeveloper is included with the Web Content Management (WCM) suite distribution.

    The SSXA extension (oracle.ucm.wcm.jdev-11.1.1.6.zip) is located in the modules/jdev directory of the Web Content Management (WCM) suite distribution (wcm-suite-11.1.1.6.zip).

The Remote Intradoc Client (RIDC) suite distribution and Web Content Management (WCM) suite distribution can be downloaded from the Oracle Technology Network (OTN) at http://otn.oracle.com.

Installation steps

Follow these steps to install the required extensions on Oracle JDeveloper 11gR1:

  1. Download the Remote Intradoc Client (RIDC) suite distribution and Web Content Management (WCM) suite distribution from Oracle Technology Network (OTN).

  2. Unbundle the Remote Intradoc Client (RIDC) suite distribution (ridc-suite-11.1.1.6.zip) to a location on the system hosting your Oracle JDeveloper instance.

  3. Unbundle the Web Content Management (WCM) suite distribution (wcm-suite-11.1.1.6.zip) to a location on the system hosting your Oracle JDeveloper instance.

  4. From the JDeveloper main menu, select Help then Check for Updates.

  5. Enable the Install from Local File option.

  6. Click Browse and navigate to the unbundled Remote Intradoc Client (RIDC) suite distribution (ridc-suite-11.1.1.6.zip).

  7. Select the RIDC extension (oracle.ucm.ridc.jdev-11.1.1.6.zip) located in the modules/jdev directory and click Open.

  8. Click Next to install/update the extension.

  9. Click Finish.

  10. From the JDeveloper main menu, select Help, then Check for Updates.

  11. Enable the Install from Local File option.

  12. Click Browse and navigate to the unbundled Web Content Management (WCM) suite distribution (wcm-suite-11.1.1.6.zip).

  13. Select the SSXA extension (oracle.ucm.wcm.jdev-11.1.1.6.zip) located in the modules/jdev directory and click Open.

  14. Click Next to install/update the extension.

  15. Click Finish.

For additional information on installing JDeveloper extensions refer to the Oracle Fusion Middleware Installation Guide for Oracle JDeveloper or the Oracle JDeveloper online help.

1.3.2 Enabling Required Components on Oracle WebCenter Content Server 11gR1

Site Studio for External Applications 11gR1 requires that the SiteSudio component and SiteStudioExternalApplications component be enabled on Oracle WebCenter Content Server.

Both the SiteStudio and SiteStudioExternalApplications components are installed as part of the full Oracle UCM installation and simply need to be enabled on Oracle WebCenter Content Server 11gR1.

If you are planning to use dynamic conversion of native documents on your Site Studio web sites, then you must configure Dynamic Converter in Oracle WebCenter Content Server.

Required Components

These components must be enabled on Oracle WebCenter Content Server 11gR1:

  • SiteStudio 11.1.1.6 (11gR1 PS5).

  • SiteStudioExternalApplications 11.1.1.6 (11gR1 PS5).

Refer to the Oracle WebCenter Content Server documentation or online help for instructions on enabling components.

1.3.3 Enabling Required Components on Oracle Content Server 10gR3

Site Studio for External Applications can be used with Oracle Content Server 10gR3 platform. However, because the Universal Content Management 11gR1 distribution is considerably different from the 10gR3 distribution, several manual actions must be performed.

Required Updates and Additional Configuration

These updates and additional configurations must be completed:

  • Oracle Content Server 10gR3 with the latest 10gR35CoreUpdate and 10gR35NativeUpdate bundles installed. These bundles update Oracle Content Server and Dynamic Converter to the required feature level and the web filter to the required version.

  • SSUrlMapPlugin.dll (.so) 11.1.1.3.0 or greater

    This DLL is included with the 10gR35NativeUpdate bundle. To confirm the version number, from the Content Server Admin menu, select Filter Administration.

  • Dynamic Converter 8.1.0.736 or greater

    If you are planning to use dynamic conversion of native documents on your Site Studio web sites, you must install and configure Dynamic Converter build version 8.1.0.736 or greater in Oracle Content Server.

  • JDK version 1.6 must be installed (Oracle Content Server 10gR3 is shipped with JDK 1.5).

  • The Oracle Content Server configuration file Intradoc.cfg must be updated to reference the new JDK 1.6 installation directory. Add the entry to the #Additional Variables section of the configuration file (for example, JDK_custom="C:\Program Files\Java\SDK 1.6.0").

  • The JDeveloper Site Studio for External Applications connections dialog is pre-populated with a default web connection port value of 16200 for an Oracle WebCenter Content Server 11g instance. Oracle Content Server 10gR3 web servers most often listen on port 80. As such, this value will likely have to be changed when connecting to an Oracle Content Server 10gR3 instance.

Required Components

These components must be installed and enabled on Oracle Content Server10gR3:

  • SiteStudio 11.1.1.6 (11gR1 PS5).

    The SiteStudio 11.1.1.6 component is provided with the Site Studio suite distribution (sitestudio-11.1.1.6.zip).

  • SiteStudioExternalApplications 11.1.1.6 (11gR1 PS5).

    The SiteStudioExternalApplications 11.1.1.6 component (oracle.ucm.wcm.idc-component-11.1.1.6.zip) is located in the /component directory of the Web Content Management (WCM) suite distribution (wcm-suite-11.1.1.6.zip).

The Site Studio suite distribution and Web Content Management (WCM) suite distribution can be downloaded from the Oracle Technology Network (OTN) at http://otn.oracle.com.

Refer to the Oracle Content Server 10gR3 documentation or Oracle Content Server online help for instructions on installing and enabling components.

1.4 Understanding the Site Studio Project Structure

This is the basic structure of a Site Studio project in the JDeveloper environment:

+ Site Files
     + templates
       + page
       + region
       + subtemplates
+ Web Content
     + wcm
     + WEB-INF
       + sites
       - wcm-config.xml
       - web.xml
       - weblogic.xml

Please note the following nodes and files:

  • Site Files: This is a virtual node that points to the Web Content/wcm node.

  • Web Content/wcm: This node contains the page templates, region templates, and subtemplates for this project.

  • Web Content/WEB-INF: This node contains the XML descriptor files and configuration files.

  • WEB-INF/sites: This node contains the XML files that store the data and configuration information for the Site Studio site. See Section 1.5, "Understanding Site Studio Site Files" for more information.

  • WEB-INF/wcm-config.xml: The Site Studio configuration file.

  • WEB-INF/web.xml: The web-app XML descriptor file.

  • WEB-INF/weblogic.xml: The Oracle WebLogic deployment descriptor file.

1.5 Understanding Site Studio Site Files

In JDeveloper, Site Studio site files are located in the sites directory of your Site Studio project (from the main menu, select View, then Application Navigator, then Projects, then expand Web Content, then expand WEB_INF and then expand sites).

Site Studio site files are XML files that store the data and configuration information for the Site Studio site. These XML files are maintained on JDeveloper, but all content resides on the content server.

The site files contain site-related information including:

  • The site hierarchy.

  • Properties of each site section (including associated page templates, region templates, and content files, and custom section properties).

  • Explicit data file associations (for example, which content files are used and their location in the site).

  • Mappings of placeholder names to placeholder definitions.

  • Items in the asset pane (including how they are categorized).

1.6 Understanding the Site URL Format

The site URLs are hierarchical, allowing navigation through a given project file. They have the following general format:

/[Site Identifier]/[Section 1]/[Section 2]/.../[content].html
  • Site Identifier: The path that identifies a site, the URL pattern listed in the wcm-config.xml file.

  • Section: A list of sections, identified by either the urlDirName attribute or the label attribute in the project file.

  • Content: Can be the content ID (dDocName) of an item on Oracle WebCenter Content Server, or index to refer to the primary page.

For example, a path to the primary page of the About section:

/mysite/About/index.html

A path to a piece of content to display in the Products section:

/mysite/Products/new_product.html

1.7 Understanding Security and Contributor Authentication

The security check is performed in the Site Studio for External Applications layer. The web browser user (typically anonymous) is taken as the userId and each datafile is checked by the Site Studio for External Applications layer to evaluate whether that userId has the equivalent permission through the content server's web interface. The adminUser's userId is used to fetch the datafile from the content server and store it in the Site Studio for External Applications cache.

Security Settings

In the wcm-config.xml file, the security element defines how security is handled. If the enabled attribute is set to false, no security checks are performed in consumption mode and all content displayed through the placeholder will be readable. Requests through the proxy servlet will still be validated.

Depending on your content server configuration, you can also specify the level of security using the securityType attribute (each level is in addition to the previous level):

  • groups: Check security based on the content server security group.

  • accounts: After checking the group, check the security accounts.

  • acl: After checking the accounts, validate against any access control lists (ACLs).

Contribution and Design Mode Authentication

Contribution and design modes require authentication to the application server running the site. This is placed into the web.xml file automatically, to verify these settings review the web.xml file. See the topic Assigning Security Roles for the Contributor and Designer in the online help for details on contribution mode and design mode.

For example:

<security-constraint>
  <web-resource-collection>
    <web-resource-name>ContributionMode</web-resource-name>
    <url-pattern>/wcm-contrib/*</url-pattern>
  </web-resource-collection>
  <auth-constraint>
    <role-name>WCMContributor</role-name>
  </auth-constraint>
</security-constraint>

<login-config>
  <auth-method>FORM</auth-method>
  <realm-name>OpenWCM</realm-name>
  <form-login-config>
    <form-login-page>/wcm/support/login/wcm-login.jsp</form-login-page>
    <form-error-page>/wcm/support/login/wcm-login.jsp</form-error-page>
  </form-login-config>
</login-config>

<security-role>
  <role-name>WCMContributor</role-name>
</security-role>

Upon selecting Ctrl+Shift+F5 (the default keyboard shortcut to enter contribution mode) on a page with placeholder content, the page is refreshed to a URL with /wcm-contrib as the first segment. The application server then validates that the user has the appropriate application role assigned to them via the application server. The role name, as described in the web.xml, is WCMContributor. If the user does not have this role, a login screen is presented and the application server denies access until the credentials are validated and the role condition is met.

The default login page can be customized by changing the web.xml to point at a customized JAAS login page or by adding a local copy of the file /wcm/support/login/wcm-login.jsp to your web application. This page will then be used instead of the shared default version.

Once in contribution mode or design mode, the user ID is now used to validate security and all placeholder content is retrieved live from the content server. Additionally, the rendition is switched from Latest Released to Latest so the contributor user can view content in workflow or otherwise not yet released.

1.8 Understanding Content Caching

Content is cached in a temporary location on the application server. This can be customized to a particular location using the stagingDir attribute on the staging element in the wcm-config.xml file. The content cache stores a local copy of all files, associated metadata, and any associated conversions or renditions.

Any request for content first checks the local cache. If not found, the content server is contacted and the content is placed into the cache. Note that no security information is cached; all security calls go to the content server. Additionally, only Latest Released content is cached; content retrieved during contributor or design modes (Latest Rendition) is not put into the cache.

A background thread, controlled by the contentServer element using the pollerInterval attribute, pings the content server at regular intervals to keep the cache content up to date. A content server administrator can request all caches be refreshed by visiting the Cache Administration page on the content server at this URL (example):

http://localhost:16200/cs/idcplg?IdcService=SSXA_GET_ADMIN_PAGE

1.9 Understanding Service Caching with the Site Studio Tag Library

The caching facilities in Site Studio allow for the caching of service calls. Any service call can be cached to the same location that content and metadata is currently cached. The caching facility is defined using DataBinder properties:

  1. Specify a special parameter to enable caching.

  2. Determine the cache key using one of the following methods:

    • Specify a custom cache key.

    • Specify the local data fields to use to generate a key.

    • Allow the system to calculate the cache key by using a hash of all local data.

Caching Properties

All caching is controlled using properties set in the DataBinder. For JSP/JSPX, these properties can be added with the wcm:idcParameter tag to either a wcm:idcService call or a wcm:dynamicList call.

Parameters:

  • __ssxaCacheEnabled: Set to true to enable caching.

  • __ssxaCacheKey: Specify a cache key to use for this request. Optional.

  • __ssxaCacheFields: Specify a comma-separated values (CSV) list of fields to use to generate the cache key (if not specified, all local data is used). Optional.

  • __ssxaCacheTTL: Specify a time to live value, in milliseconds, for the cached data. If not specified, the default value of 5 minutes is used. If value of 0 (zero) or less is specified, the cache item will live indefinitely (no timeout). Optional.

Example of caching a dynamic list, with the value being refreshed every 60 seconds:

<wcm:dynamicList var="searchResponse" element="nativedocs">
  <wcm:idcParameter name="__ssxaCacheEnabled" value="true" />
  <wcm:idcParameter name="__ssxaCacheTTL" value="60000" />
</wcm:dynamicList>

Example of caching a GET_SEARCH_RESULTS service call:

<wcm:idcService var="dataBinder" service="GET_SEARCH_RESULTS">
  <wcm:idcParameter name="QueryText" value="" />
  <wcm:idcParameter name="__ssxaCacheEnabled" value="true" />
</wcm:dynamicList>

Cache Details

Service calls are staged into the cache directory, alongside the content, metadata and project files. The directory /idc-service is created with this directory structure:

/idc-service/service_name/user_name/cacheID.hda

This example shows a cache directory for a GET_SEARCH_RESULTS service call:

+- idc-service/
   +- ssxa_get_dynamic_list_results/
      +- anonymous/
         +- 3164744485.hda
   +- get_search_results/
      +- anonymous/
         +- 2452981209.hda

1.10 Understanding Site Studio JSP/JSPX Templates

Site Studio JSP/JSPX templates, including page templates, region templates, and subtemplates can be stored locally within JDeveloper or remotely on Oracle WebCenter Content Server.

  • JSPX templates stored locally are typically located in a subdirectory within your project on JDeveloper. For example, the /wcm/templates/page/ subdirectory would typically contain all page templates associated with your project. Templates to be stored locally are created from the JDeveloper New Gallery dialog. See Section 1.10.1, "Creating a Local JSPX Template" for more information.

  • JSPX templates can also be stored on an Oracle WebCenter Content Server 11gR1 or Oracle Content Server 10gR3 instance. This allows templates to be modified and updated on your site without having to re-deploy the application. JSPX templates stored on Oracle WebCenter Content Server 11gR1 or Oracle Content Server 10gR3 can be edited in your JDeveloper environment and previewed multiple times before being committed to Oracle WebCenter Content Server 11gR1 or Oracle Content Server 10gR3. Templates to be stored remotely on Oracle WebCenter Content Server 11gR1 or Oracle Content Server 10gR3 are created from the Site Studio Site Assets window. See Section 1.10.2, "Creating a Remote JSPX Template" for more information.

Your project may contain both JSPX templates stored locally and JSPX templates stored on Oracle WebCenter Content Server 11gR1 or Oracle Content Server 10gR3. However, it is recommended that you build each project using one template type.

Template Syntax and Structure

Any template type can contain any valid JSP syntax. However, it is assumed that the templates will have the following structure:

  • Page Template: Contains wcm:placeholder tags that create areas in a page for assignable content.

  • Region Template: For modeling data file content. Typically contains either a wcm:dataFile tag or wcm:dynamicConversion tag to retrieve the assigned content. It does not contain wcm:placeholder tags.

  • Subtemplate: Like a page template, but is typically responsible for a portion of a page after being assigned to a placeholder. May contain other wcm:placeholder tags.

Template Registration

Templates are registered with a unique identifier in the wcm-config.xml file. This identifier is used to identify the template throughout the Site Studio application. The identifiers are used in the project file to identify page templates (either primary or secondary) and are used in placeholder definitions, to identify a region template or subtemplate.

This template maps the name homepage to the path /wcm/templates/page/homepage.jspx. When the homepage identifier is encountered, the RequestDispatcher is invoked to include the path.

<mappings>
  <pageTemplates>
    <mapping path="/wcm/templates/page/homepage.jspx" id="homepage"/>
  </pageTemplates>
</mappings>

There is no requirement that the template has to point to a JSP or JSPX file. The mapping can point to any valid web application resource. For example, a section could point to another servlet for processing:

<mappings>
  <pageTemplates>
    <mapping path="/servlets/reserveMeetingRoom.do" id="reserveMeeting"/>
  </pageTemplates>
</mappings>

1.10.1 Creating a Local JSPX Template

Follow these steps to create a JSPX template stored locally on JDeveloper (typically, in a subdirectory within your project on JDeveloper).

  1. From the main menu, select View, then Application Navigator.

  2. In the Application Navigator, expand the Projects panel.

  3. Select a Site Studio project.

  4. Expand Web Content, then wcm, and then templates.

  5. Right-click page and select New.

    The New Gallery dialog opens.

  6. From the Categories list, expand Web Tier, then select JSP.

  7. From the Items list, select JSP.

  8. Click OK.

    The Create JSP dialog opens.

  9. For File Name, provide a descriptive file name that identifies this file as a template for this site.

  10. For Directory, accept the default or provide a different directory. By default, the Site Studio template directory in JDeveloper is used. If you want to store the files outside of the JDeveloper directory structure, specify the location.

  11. Select Create as XML Document. This creates a JSP page written in XML syntax using JSPX as the file extension.

  12. Select Register Site File to register the template with your site. In most cases, you will want your template registered with your site.

  13. Select the template type from the Asset Type drop-down list.

  14. Provide a site file ID that identifies this file as a template for this site.

  15. Provide a description for the new template.

  16. Click OK.

  17. From the main menu, select File, then select Save All.

See the topic Creating and Editing Local Templates in the online help for additional information on creating and editing JSPX templates stored locally on JDeveloper.

1.10.2 Creating a Remote JSPX Template

Follow these steps to create a remote JSPX template stored on Oracle WebCenter Content Server:

  1. From the main menu, select View, then Site Studio, and then Site Assets.

  2. From the Project drop-down list (top left), select your project.

    If your project is not listed, it means you are not logged in to your connection. From the Application Resources panel, expand Connections, then Site Studio, then right-click the connection and select Login.

  3. From the Asset Type drop-down list (top right), select a template type. For example, Page Template, Region Template, or Subtemplate.

  4. Click the Create New Asset Type button and select New JSPX Template.

  5. On the Create New Asset dialog, enter a title and content ID. For example, ss-homepage-pt.

  6. Click OK.

  7. On the Site Asset window, click the Refresh button to view your new Content Server template.

See the topic Creating and Editing Remote Templates in the online help for additional information on creating and editing remote JSPX templates stored on Oracle WebCenter Content Server.

1.11 Including Oracle Site Studio Manager Functionality

Oracle Site Studio Manager provides an environment in which site managers can make changes to the site hierarchy such as adding and removing sections, changing the page template assigned to a section, and modifying several site properties.

Oracle Site Studio Manager functionality can be enabled on external sites that use Site Studio for External Applications. However, due to the different environment, Manager functionality in an external application has several differences from Oracle Site Studio Manager running in an Oracle WebCenter Content Server instance. These differences include how Manager functionality is provided and launched, how externally managed JSP/JSPX page templates are handled, and how preview URLs are generated.

Including Oracle Site Studio Manager in Your Site

To support Oracle Site Studio Manager functionality with Site Studio for External Applications, a site-manager page is provided. This page hosts the Oracle Site Studio Manager functionality. To include Oracle Site Studio Manager functionality in your site, you must provide a link from your site to the site-manager.jsp file.

Note:

The code example used in this section assumes you have created a section on your site called Manager and that this section is marked as a contributor-only section so that it is only visible in contribution mode.

To do this, the page template assigned to the Manager section must include the following code:

<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
  xmlns:c="http://java.sun.com/jsp/jstl/core"
  xmlns:wcm="http://www.oracle.com/jsp/wcm/">
<c:redirect url="/wcm-contrib/wcm/support/manager/
  site-manager.jsp?siteID=${wcmContext.siteID}" /></jsp:root>

The redirect tag redirects the browser to the site-manager.jsp file. When a user navigates to the Manager section of the site they will automatically be redirected to this page.

Refer to the Administrator and Manager's Guide for Oracle Site Studio for details on using Oracle Site Studio Manager and additional information on Oracle Site Studio Manager functionality.

1.12 Enabling HCSP-Based Custom Element Forms

Mime-mapping changes are required when using Site Studio for External Application with HCSP-based custom elements.

Within Site Studio for External Applications, custom element forms are HTML files that define custom forms for use in elements (for example, selection forms for specific file types). Hyper Content Server Page (HCSP) forms contain HTML and Idoc Script code (a proprietary scripting language) and are often used to request services from the content server. HCSP-based custom element forms use the .hcsp file extension. By default, HCSP-based custom element forms will not load in the Site Studio for External Applications JDeveloper environment and the user is prompted to download and save the file. If you want to use HCSP-based custom element forms, you need to add a mime-mapping to the Site Studio project web.xml file (not the UCM web.xml file) to enable the custom element forms to be executed instead of being downloaded.

Follow these steps to add a mime-mapping to the Site Studio project web.xml file.

  1. In the Application Navigator, select the Projects panel.

  2. Expand your Site Studio project.

  3. Expand Web Content, and then expand WEB-INF.

  4. Right-click web.xml and select Open.

  5. Select the Source tab.

  6. Add the following mime-mapping at the end of the web.xml file before the closing web-app tag:

    <mime-mapping>
      <extension>hcsp</extension>
      <mime-type>text/html</mime-type>
    </mime-mapping>
    
  7. From the main menu, select File and then Save All.