14 Understanding Publishing

Publishing, which involves copying content from the management system to the delivery system, helps you to make content available to the visitors of your online site. WebCenter Sites provides an approval system that determines which content gets published. WebCenter Sites’ scheduling function enables you to set the publication time and a utility helps you to configure site-specific publishing destinations.

The following topics describe the publishing system and approval system:

14.1 Prerequisites for Publishing Assets

Before you can start publishing assets, you need to determine publishing method, publishing destination, assets to be approved for publishing, time of publishing, assets to be published, and user permissions to publish.

Consider the following before publishing any asset:

  • Which publishing method WebCenter Sites should use. The recommended publishing method is RealTime Publishing, which is described in Using RealTime Publishing. Also, see Alternate Publishing Methods.

    As an administrator, you specify the publishing method for the destination when you configure the publishing destination.

  • The publishing destination WebCenter Sites should publish to during a given session.

    As an administrator, you configure the publishing destinations for your system. See Publishing Destinations.

  • Which assets have been approved and are ready to be published to the current destination. The approval system determines this information.

    When an asset is ready for publication, a content provider marks it as approved for a specific publishing destination. The approval system validates the approved label to determine if publishing the asset can create broken links on the live site. If the potential for broken links exists, the asset is held back from the publishing session until its dependencies on other assets are resolved by the user approving those assets. If the approved asset either has no dependencies or its dependencies are satisfied, the approval system releases the asset to the publishing system.

    The approval system's process is complex and varies from one publishing method to another. See Understanding the Approval System and Learning Export to Disk Publishing Terminology.

  • When assets should be published.

    As an administrator, you set up the publishing schedule. The publishing process runs as a batch process that you schedule to occur at regular intervals. You can also override the schedule and publish on demand. See About Scheduled Publishing Sessions.

  • Which users should be granted permissions to run on-demand publishes on individual assets from the WebCenter Sites: Contributor interface.

    To grant Contributor interface users the permission to publish assets from the Contributor interface, you must assign each user the Publisher role. For instructions, see Authorizing Users to Publish Assets from the Contributor Interface.

During a publishing session, the session information is recorded in log files. You can monitor the session through the Publish Console to determine both the publishing history and the status of currently running publishing sessions. You can also use your browser for other administrative tasks, as the publishing process runs in the background. See Understanding the Publishing Session and Obtaining Information About a Publishing Session.

Publishes triggered from the Contributor interface can also be viewed from the Contributor interface’s Publish Console.

14.2 Publishing Destinations

When you publish sites from WebCenter Sites, you can choose either the WebCenter Sites database to which you are mirroring content, or a directory to which you are exporting content, as the publishing destination.

A publishing destination is expressed as a named object that defines the following parameters:

  • A publishing method.

  • A location:

    • For Export to Disk publishing and Export Assets to XML, the publishing system converts the approved assets into HTML or XML files. The location is the root directory to which the files are saved. You set this directory with the cs.pgexportfolder property, categorized under Publish, in the wcs_properties file.

    • For Mirror to Server publishing, the destination is the server name in URL format (including the port number) of the server that is supposed to deliver the content. (You set the server name in the Destination address field of the Destination form.)

  • The names of CM sites whose assets can be published to the destination.

For any publishing method, you can configure multiple publishing destinations. Depending on how your sites are designed by the developers, you may have to publish both static content (HTML files, using Export to Disk) and dynamic content (pages generated on the fly by the Mirror to Server or Export to XML publishing method). For this dual implementation, consult with your developers to determine how to configure your publishing destinations.

In this document, the following terms are used when discussing publishing destinations and configuration:

  • Source. The WebCenter Sites database that serves as the source for a publishing session. Because you can mirror assets from any WebCenter Sites system to any other WebCenter Sites system, the source is not always the content management system.

  • Destination. Either the WebCenter Sites database that you are mirroring to or the directory that you are exporting to.

See Configuring an Export Destination and Creating a Mirror Destination.

14.3 Authorizing Users to Publish Assets from the Contributor Interface

Typically, publishing is scheduled and run from the Admin interface. However, the Contributor interface provides an on-demand publish feature which users, granted the appropriate role, can use to publish individual assets directly from the Contributor interface.

To authorize a user to publish assets from the Contributor interface:
  1. From the WEM Admin interface, click Sites on the menu bar.
  2. In the Sites list, hold the cursor over the site name and click Manage Site Users.

    Note:

    The Contributor application must be assigned to the site you select. See Authorizing Users to Work with Applications.

  3. In the Manage Site Users list, point to the user you want to authorize to publish assets directly from the Contributor interface, and select Assign Roles to User.
  4. In the Assign Roles to User form, select the Publisher role from the Available list box and move it to the Selected list box.
  5. Click Save and Close.
  6. Verify the user has permission to publish from the Contributor interface on the selected site.
    1. Log in to the site with the user’s credentials and select the Contributor icon.

    2. In the Contributor interface, find and open an asset you want to publish. See Finding and Organizing Assets in Using Oracle WebCenter Sites.

    3. In the asset’s toolbar, point to the Approve icon. If the tooltip says “Publish,” then you have successfully granted the user publishing permissions in the Contributor interface.

14.4 Understanding the Approval System

When assets are approved for publication on a specific destination, WebCenter Sites verifies that each asset is ready to be published by calling the approval system. The approval system runs a pre-publication process that protects the site against possible broken links and outdated content. In this process, the approval system determines answers to the following questions:

  1. Which assets are deemed to be ready for publishing — which assets are marked by the user as approved?

  2. Do the approved assets have dependencies? That is, must any other assets also accompany those approved assets? or, must any other assets also exist on the destination to ensure that all the links on the site will work correctly?

    For example, you could have a site set up that has article assets that refer to image files. An approved article with an unapproved associated image file cannot be published until the image file is also approved.

Depending on the answers to these questions, the approval system either allows the publishing system to publish approved assets at the next publishing session, or it stalls the publication of assets that fail the dependency test.

Note:

In Export to Disk publishing, the choice of templates can cause assets to bypass the approval system. See Evaluating Approval Dependencies and Approving and Publishing the Assets to the Delivery System in Developing with Oracle WebCenter Sites.

Detailed information about the workings of the approval system is given in Understanding the Approval System.

14.5 About Scheduled Publishing Sessions

A publishing session (no matter what the publishing method) runs as a background, batch process called a publish event. As the administrator, you configure the schedule for publishing events.

You can schedule publishing events to occur daily, weekly, hourly, every 15 minutes, or in various combinations of these time increments. When scheduling multiple publishing sessions, bear in mind several rules:

  • Publishing to a given destination must be done serially.

    Because each publishing session is a background event, a given destination can support only one publishing session at a time. If publishing to a specific destination is still in progress when the next event for that destination is scheduled, the second event attempts to run and then fails, reporting that a publishing session to that destination is underway.

    Similarly, multiple sources must not be configured to publish simultaneously to the same destination. Doing so will cause publishing errors and problems with data integrity.

  • Never schedule a publishing session to a destination for a time when the destination system could be publishing to another destination.

    For example, you publish from the development system to the management system, and from the management system to the delivery system. Do not schedule a publishing session from the development system to the management system while the management system is publishing to the delivery system.

  • Publishing to multiple destinations can be done simultaneously. You can publish to multiple destinations at the same time by setting up events for the destinations and selecting the same time for them.

  • The publishing feature in the Contributor interface is disabled during a scheduled publish session.

Because a publishing event completes database transactions, the publishing feature must have a user account specified for it. This user is called the batch user and you use the xcelerate.batchuser and xcelerate.batchpass properties, categorized under Publish, in the wcs_properties.json file to identify the batch user account for your WebCenter Sites system.

Note:

Publishing also requires a mirror user, different from the batch user. See Working with Users and Mirror to Server Publishing.

14.6 Understanding the Publishing Session

When the publishing system begins publishing approved assets, does the following:

  • Creates a publishing session by adding a row to the PubSession table and assigns the session a unique ID, called the PubSession ID.

  • Runs a query to gather all the assets that are approved and are ready to be published to the destination that the session is publishing to.

  • Locks the assets that are returned by the query, and also notifies the CacheManager about these assets, so that they cannot be edited while the publishing session is underway.

  • Calls the appropriate element for the publishing method, passing it the list of assets that should be published.

Then, those assets are either rendered into files or mirrored to a destination database, depending on the publishing method in use.

When the publishing session concludes, the publishing system notifies the approval system of which assets were published and then it updates the page cache.

14.7 Obtaining Information About a Publishing Session

WebCenter Sites writes information about each publishing session to log files and to several tables in the WebCenter Sites database. Much of this information opens in the Publishing Console as the publishing history for a session. To display the Publishing Console, click the Publish button located in the top button bar in the main window. See also Troubleshooting.

Note:

You must have the xcelpublish ACL to view the Publish Console.