C Annotations XML Structure

This appendix provides information about the changes in the Annotations XML Structure for imaging in WebCenter Content 12c.

The document content that is moved during migration from Imaging 11g to WebCenter Content 12c is optimized using the following data items:

  • Annotations

    Annotations are created by users while interacting with the 11g Imaging Viewer which is replaced by the WCC ADF UI viewer. The annotation structures are migrated and converted during this upgrade process.

  • Supporting Content

    Supporting Content is generally the output of the OFR (Oracle Forms Recognition) process which generates an XML data file that IPM stored/attached to the IPM document.

The Annotations and Supporting Content files were stored as separate documents within Content Server in 11g, but in the 12c they are moved to the directory-based Attachments mechanism available in Content Server.

In WebCenter Content 12c, the Annotations XML structure has undergone some modifications. For information about the specific changes to the annotations XML structure, see Changes to Annotations XML Structure.

C.1 Changes to Annotations XML Structure

The following table gives an overview of the Annotation XML structure changes in WebCenter Content 12c:

Table C-1 Changes to Annotations XML Structure

Description 11g 12c What has changed

Main Structure

<AnnotationSet>

<noteAnnot>

<pageNumber>

<<Properties as tags>>

<noteAnnot>

</AnnotatiionSet>

<document>

<page id="1" ….>

<note <<Properties as attributes>> >

</note>

</page>

<page id ="2" … >

</page>

</document>

The structure is now page-wise. 11g structure was a bunch of annotations grouped as a set.

Example of a single Redact Annotation

<redactAnnot>

<annType>REDACT</annType>

<uniqueId>IPM-2_2.IPM_000785-REDACT-A5796285966849967960B</uniqueId>

<pageNumber>1</pageNumber>

<createDate>Mon Oct 13 16:06:47 IST 2014</createDate>

<modifiedDate>Mon Oct 13 16:06:53 IST 2014</modifiedDate>

<createdBy>ipmadmin</createdBy>

<modifiedBy>ipmadmin</modifiedBy>

<color>

<a>255</a>

<r>0</r>

<g>0</g>

<b>0</b>

</color>

<securitySetting>STANDARD</securitySetting>

<opacity>100</opacity>

<readOnly>false</readOnly>

<startPoint>

<x>0.5379901960784313</x>

<y>0.17140151515151514</y>

</startPoint>

<endPoint>

<x>0.6727941176470589</x>

<y>0.29829545454545453</y>

</endPoint>

</redactAnnot>

<redact id="1" permissions="Standard" locX="0.40448114" locY="0.3042292" width="0.058372643" height="0.035925422" bgColor="00,00,00,ff">

<auditEvent id="1" createdBy="weblogic" createdOn="2014-12-10T23:58:39-08:00" type="created"/>

<auditEvent id="2" createdBy="weblogic" createdOn="2014-12-10T23:59:19-08:00" type="modified"/>

</redact>

Tags used to describe the annotation properties are converted into attributes like 'Opacity', 'bgcolor'.

The startPoint, endPoint tags have are to get 'width', 'height' and 'x,y' co-ordinates.

Note Text in a Note Annotation

<noteAnnot>

<<Other Properties>>

<noteText>&lt;html&gt;

&lt;head&gt;

&lt;/head&gt;

&lt;body&gt;

&lt;p style="margin-top: 0"&gt;

sticky

&lt;/p&gt;

&lt;/body&gt;

&lt;/html&gt;

</noteText>

<note id="6" permissions="Standard" note="&lt;html>&#xa; &lt;head>&#xa;&#xa; &lt;/head>&#xa; &lt;body>&#xa; &lt;p style=&quot;margin-top: 0&quot;>&#xa; sticky&#xa; &lt;/p>&#xa; &lt;/body>&#xa;&lt;/html>&#xa;"

bgImage="MISC.NOTE" locX="-15.647406" locY="-15.790814" width="32.0" height="32.0" orientation="0" fgColor="00,00,00,ff" bgColor="ff,ff,00,ff">

A change from tags to attribute.

ArrowType in Line Annot

<lineAnnot>

<<Other Properties>>

<arrowType>NONE</arrowType>

</lineAnnot>

<line id="2" permissions="Standard" locX="0.3567217" locY="0.049567986" width="0.04304245" height="0.04592997" fgColor="ff,00,00,ff">

<customField name="arrowType" value="NONE"/>

<customField name="lineWeight" value="1"/>

</line>

StampType in Stamp Annot

<stampAnnot>

<<Other Properties>> <stampType>APPROVED</stampType>

</stampAnnot>

<stamp id="9" permissions="Standard" bgImage="STAMPS.APPROVED" locX="0.1991342" locY="0.070336394" width="0.15873016" height="0.13455658" orientation="0" fgColor="ff,ff,ff,ff">

The Stamp type was a separate tag and is now replaced by the value in bgImage.

C.2 Annotations Security

This feature explains how to leverage the service to gain access to the annotation XML file. It applies to both the IPM advanced viewer as well as the Unified viewer.

The users are granted one or more of the following security permissions:

  • Standard: Annotations appear on the document page for all users. They may be applied and changed only by users granted Standard annotation security permissions.
  • Restricted: Annotations are visible to all users but can be modified only by a user having the restricted permission. If you do not have the restricted permission (permission to change restricted documents), you can view the annotation but cannot alter it or change the permissions.
  • Hidden: Annotations are visible only to the users that have been granted the hidden permission. Only users having the hidden permission can mark an annotation as hidden or modify the existing hidden annotations.

Note:

If no annotation security is assigned, user cannot create new or modify the existing annotations. However, the users can still view all the Standard and Restricted annotations. This ensures that redaction annotations are applied to all users having rights to view a document.

The users granted with the specific security level, the same security level can be assigned to an annotation. For example, users assigned the restricted security level can grant only the restricted security level to the annotation they create. Users that have been assigned the standard and restricted security levels by an administrator can specify a security level of standard or restricted, but not hidden.

Annotation Retrieval

You can open any document in Imaging and can add annotations to it. You need to add annotations having three security levels (Standard, Restricted, and Hidden).

Once these are added, the annotations can be retrieved by using the following service:
http://host:ucmport/cs/idcplg?dID=<dIDValue>&IdcService=GET_FILE&Rendition=annotationRendition&AuxRenditionType=System 

where <dIDValue> is the WebCenter Content’s unique identifier of the document.

In Imaging, the document name has the <ApplicationId>.<dDocName> format. For example, 5.IPM_000603. In order to find the <dID> of the document, search Content Server for a document having dDocName. For example, search for a document having dDocName as IPM_000603. From the search results and the Document Info page of the document, you can obtain the dID.

If this retrieval is requested by a user who does not have Hidden permission, the user will not be able to see the hidden annotation in the resulting XML file.

If this retrieval is requested by a user who has all the annotation permissions, the user should be able to see all annotations.

Adding or Updating Annotations

Use the EDIT_RENDITIONS service. The dID and renditionKeys are mandatory parameters. Each rendition key takes .name, .action=edit, .file, and .description.

  • dID is the ID of the parent document to which you want to add annotations.
  • .action=edit is always "edit".
  • .name is the extRenditionName of the rendition.
  • .description is the extRenditionDescription of the rendition.
  • .file is the extRenditionPath of the rendition.

RIDC code example:

DataBinder dataBinder = idcClient.createBinder();
   dataBinder.putLocal("IdcService", "EDIT_RENDITIONS");
   dataBinder.putLocal("dID", "1234");
   dataBinder.putLocal("renditionKeys", "aRendition0");
   dataBinder.putLocal("aRendition0.name", "annotationRendition");
   dataBinder.putLocal("aRendition0.action", "edit");
   dataBinder.addFile("aRendition0.file", new File("annotationRendition.xml"));
   dataBinder.putLocal("AuxRenditionType", “System”));

where <dIDValue> is the WebCenter Content’s unique identifier of the document.

In Imaging, the document name has the <ApplicationId>.<dDocName> format. For example, 5.IPM_000603. In order to find the <dID> of the document, search Content Server for a document having dDocName. For example, search for a document having dDocName as IPM_000603. From the search results and the Document Info page of the document, you can obtain the dID.

We can use the same EDIT_RENDITIONS service with action as ‘edit’ for both adding or updating annotations.

The IPM or WebCenter Content viewer can be used to create annotations for a sample document and then the resulting annotation XML file can be retrieved by using the GET_FILE service. This should give us the format of the XML file that can be used to add or update annotations. For the structure of the XML file, see Annotations XML Structure.

Deleting Annotations

Deleting an annotation is similar to the updating of the annotation XML file. In case of deletion, the annotation is removed and the XML file is updated.