jueves, 18 de febrero de 2016

WCP11g: Inline-Preview of Documents I (Concepts)

In the following ports I will try to explain how Inline Rendering of Documents works in WebCenter Portal 11g and I will show the different alternatives (out of the box and custom implementations) that you can take.

In this post I will explain the Out of the Box possibilities that WebCenter Portal 11g offers.

Note: Remember that this only applies to 11g version. In 12c the new Content Manager Task Flow is the unique component for accessing and managing documents.

Basically, WebCenter Portal 11g brings two ways Out of the Box:
  • Using Dynamic Converter. It uses three out of the box templates SLIDE-PREVIEW, SLIDE-LARGE-PREVIEW and SLIDE-PREVIEW-TEXT. They produce a HTML with a JQuery Slider of Images.

  • Disabling Dynamic Converter will render de document depending on the Web Viewable version of the document.
    • If PDF version is available it will show the PDF via the /webcenter/content/conn servlet
    • If no PDF then it will show the metadata of the document without Inline Rendering.

Dynamic Converter (Recommended)

HTML Rendition of SLIDE-PREVIEW-LARGE (Dynamic Converter)

The following diagram shows how Dynamic Converter and the other WebCenter Content components works together to generate the Inline - Preview rendering:

Inline Rendering Diagram when using Dynamic Converter

From the above diagram it is shown the following steps:
  1. User uploads a document into WebCenter Content.
  2. WebCenter Content sends the document to Inbound Refinery for PDF conversion (if configured)
  3. Document is released in WebCenter Content.
  4. User request the Document (the first time) via WebCenter Portal and then Document Viewer executes GET_DYNAMIC_CONVERSION service using SLIDE-PREVIEW or SLIDE-PREVIEW-LARGE depeding if showing in Popup or Maximized.
    1.  If it is the first time and the document is large enough then an annoying page will be shown. I found lot of people complaining about the Dynamic Conversion In Progres... page shown (that is the reason of this post).
    2. Dynamic Converter delegates to OIT (Oracle Outside In Technology) to transform to HTML the Native or Web Viewable version of the document (this can be configured for the Dynamic Converter Templates). Basically the steps of the transformation are:
      1. dcexport and htmlexport processes of OIT are executed to produce one PNG image per slide, page (depending on the type of document).
      2. The HTML generated is a JQuery Image Slider using the images produced by the export and it is serve to the user instead of the DOCX or PDF.
Future requests to the same document will use the Cached HTML produced the first time
  • Cached HTML Dynamic Conversion version renders a HTML using JQuery to show an Slider of Images. Performance.
  • Transformation process by OIT can take too long.
  • The end user does not like the IFrame saying Dynamic Conversion In Progress... It is not user friendly.
    When Dynamic Conversion takes long to finish it shows this Error Page (not friendly).
  • I found some UNIX systems with problems in their X Server or X Font Server which produces 0 bytes images and then the Inline Rendering is not working properly (slider of empty images).

PDF / Metadata Rendering (Dynamic Converter disabled)

Dynamic Converter Disabled -> PDF Rendering by Browser PDF Viewer
If Oracle WebCenter Portal and Oracle WebCenter Content are running under the same Port then you can consider this approach instead of the Dynamic Converter.

Basically the basis of this approach is to enable IBR to convert into PDF rendition the documents that we upload through WebCenter Portal. It can be done using the File Wizard Format menu of WebCenter Content.

File Formats Wizard configured to convert DOCX files

And the Dynamic Converter Component is disabled.

Dynamic Converter Disabled.
Now your Document Viewer will use /webcenter/content/conn servlet to render inline the PDF version of your document.

  • No "Dynamic Conversion In Progress" page.
  • It rely on the PDF Viewer Implementation of the modern browsers.
  • The document is not release and available for the other users until it finishes the PDF conversion.
  • Large Sized documents are not rendered until the full PDF is downloaded.
  • The contributor of the document will show the metadata of the document until its transformation to PDF is finished.

    Metadata is shown if the PDF version is not available
In the following posts I will publish two custom implementations in order to allow the PDF version to render progressively using the PDF alternative.
  • WCP11g: Inline-Preview of Documents II (Range Request Servlet): Customization of the Document Viewer to render the PDF Version using a Custom Server which allows chunked and range requests -> Progressive Loading. Soon available
  • WCP11g: Inline-Preview of Documents III (PDF JS): Customization of the Document Viewer to render the PDFs using the PDF JS library of Mozilla. Soon available

1 comentario:

  1. Great post Merchan, so I'm deploying your solution and i'M getting Failure Apache Brige when invoking UCM. Trace on log show the following:

    Caused by: intradoc.data.DataException: !csUnableToLoadTable,DCTemplateConversion

    Why Spaces is calling to Dymamic Converter if it`s disabled?