Should an annotation created using the Annotation API display in Review Space?

I used the Annotation.Create API to create this annotation using a test user account in our DEV environment:

<ishobject ishref="GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ishtype="ISHAnnotation" ishannotationref="9000187">
<ishfields>
<ishfield name="CREATED-ON" level="annotation" xml:space="preserve">16/04/2025 18:29:11</ishfield>
<ishfield name="MODIFIED-ON" level="annotation" xml:space="preserve"/>
<ishfield name="FISHSELECTEDORIGINALTEXT" level="annotation" xml:space="preserve">Assumes the default line is set to the desk phone.</ishfield>
<ishfield name="FISHANNOTPROPOSEDCHNGTXT" level="annotation" xml:space="preserve"/>
<ishfield name="FISHANNOTATIONTEXT" level="annotation" xml:space="preserve">Replace with conref: GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</ishfield>
<ishfield name="FISHANNOTATIONCREATOR" level="annotation" xml:space="preserve">rachel.owlglass</ishfield>
<ishfield name="FISHCONTENTOBJLOGICALID" level="annotation" xml:space="preserve">GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</ishfield>
<ishfield name="FISHCONTENTOBJVERSION" level="annotation" xml:space="preserve">1</ishfield>
<ishfield name="FISHCONTENTOBJLANGUAGE" level="annotation" xml:space="preserve">en-US</ishfield>
<ishfield name="FISHREVISIONID" level="annotation" xml:space="preserve">GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</ishfield>
<ishfield name="FISHPUBLOGICALID" level="annotation" xml:space="preserve">GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</ishfield>
<ishfield name="FISHPUBVERSION" level="annotation" xml:space="preserve">1</ishfield>
<ishfield name="FISHANNOTATIONSTATUS" level="annotation" xml:space="preserve">Unshared</ishfield>
<ishfield name="FISHANNOTATIONADDRESS" level="annotation" xml:space="preserve">[{"revisionId":"GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","type":"TEXT_RANGE_SELECTOR","startContainerQuery":"/*[1]/node()[3]/node()[3]/node()[1]","startOffset":0,"endContainerQuery":"/*[1]/node()[3]/node()[3]/node()[1]","endOffset":50}]</ishfield>
<ishfield name="FISHANNOTRESOLUTIONTYPE" level="annotation" xml:space="preserve"/>
<ishfield name="FISHANNOTRESOLUTIONTEXT" level="annotation" xml:space="preserve"/>
<ishfield name="FISHANNOTATIONCATEGORY" level="annotation" xml:space="preserve">Comment</ishfield>
<ishfield name="FISHANNOTSNAPSHOTID" level="annotation" xml:space="preserve">20250416182911972</ishfield>
<ishfield name="FISHANNOTRESOLVEDON" level="annotation" xml:space="preserve"/>
<ishfield name="FISHANNOTRESOLVEDBY" level="annotation" xml:space="preserve"/>
<ishfield name="FISHRESOLVEDREVISIONID" level="annotation" xml:space="preserve"/>
</ishfields>
</ishobject>

It does not display in Review Space when I log in as the test user.

I created a similar annotation in Review Space using that same test account:

<ishobject ishref="GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ishtype="ISHAnnotation" ishannotationref="9000214">
<ishfields>
<ishfield name="CREATED-ON" level="annotation" xml:space="preserve">16/04/2025 22:33:46</ishfield>
<ishfield name="MODIFIED-ON" level="annotation" xml:space="preserve"/>
<ishfield name="FISHSELECTEDORIGINALTEXT" level="annotation" xml:space="preserve">Assumes the default line is set to the desk phone.</ishfield>
<ishfield name="FISHANNOTPROPOSEDCHNGTXT" level="annotation" xml:space="preserve"/>
<ishfield name="FISHANNOTATIONTEXT" level="annotation" xml:space="preserve">Replace with conref: GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</ishfield>
<ishfield name="FISHANNOTATIONCREATOR" level="annotation" xml:space="preserve">rachel.owlglass</ishfield>
<ishfield name="FISHCONTENTOBJLOGICALID" level="annotation" xml:space="preserve">GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</ishfield>
<ishfield name="FISHCONTENTOBJVERSION" level="annotation" xml:space="preserve">1</ishfield>
<ishfield name="FISHCONTENTOBJLANGUAGE" level="annotation" xml:space="preserve">en-US</ishfield>
<ishfield name="FISHREVISIONID" level="annotation" xml:space="preserve">GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</ishfield>
<ishfield name="FISHPUBLOGICALID" level="annotation" xml:space="preserve">GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</ishfield>
<ishfield name="FISHPUBVERSION" level="annotation" xml:space="preserve">1</ishfield>
<ishfield name="FISHANNOTATIONSTATUS" level="annotation" xml:space="preserve">Unshared</ishfield>
<ishfield name="FISHANNOTATIONADDRESS" level="annotation" xml:space="preserve">[{"revisionId":"GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","type":"TEXT_RANGE_SELECTOR","startContainerQuery":"/*[1]/node()[3]/node()[3]/node()[1]","startOffset":0,"endContainerQuery":"/*[1]/node()[3]/node()[3]/node()[1]","endOffset":50}]</ishfield>
<ishfield name="FISHANNOTRESOLUTIONTYPE" level="annotation" xml:space="preserve"/>
<ishfield name="FISHANNOTRESOLUTIONTEXT" level="annotation" xml:space="preserve"/>
<ishfield name="FISHANNOTATIONCATEGORY" level="annotation" xml:space="preserve">Comment</ishfield>
<ishfield name="FISHANNOTSNAPSHOTID" level="annotation" xml:space="preserve">20250416223346874</ishfield>
<ishfield name="FISHANNOTRESOLVEDON" level="annotation" xml:space="preserve"/>
<ishfield name="FISHANNOTRESOLVEDBY" level="annotation" xml:space="preserve"/>
<ishfield name="FISHRESOLVEDREVISIONID" level="annotation" xml:space="preserve"/>
</ishfields>
</ishobject>

Why does the annotation created with the API not display in RS, but the other annotation created in RS does?

Thanks,

Patrick

emoji
Parents
  • Hi Patrick,

    My likely suspects in order are

    1. The addressing, so all the GUID-xxxx in turn version language potentially revisionid. So I would suggest to retrieve a working one, and change them one <ishfield at a time into your desired one.
    2. The status, FISHANNOTATIONSTATUS states Unshared which means Administrator-only or the exact same user.
    3. The exact address in the xml, TEXT_RANGE_SELECTOR, which is a specific addressing logic. Although when it goes wrong, it should still end up at the top of your topic as an "orphin". Where orphin means it is on this topic, but we could not resolve the exact location in the xml text anymore.

    Hope this helps,
    Best wishes,
    Dave

    emoji
Reply
  • Hi Patrick,

    My likely suspects in order are

    1. The addressing, so all the GUID-xxxx in turn version language potentially revisionid. So I would suggest to retrieve a working one, and change them one <ishfield at a time into your desired one.
    2. The status, FISHANNOTATIONSTATUS states Unshared which means Administrator-only or the exact same user.
    3. The exact address in the xml, TEXT_RANGE_SELECTOR, which is a specific addressing logic. Although when it goes wrong, it should still end up at the top of your topic as an "orphin". Where orphin means it is on this topic, but we could not resolve the exact location in the xml text anymore.

    Hope this helps,
    Best wishes,
    Dave

    emoji
Children