> For the complete documentation index, see [llms.txt](https://docs.navigaglobal.com/template-handler/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.navigaglobal.com/template-handler/master-6/admin/requirements.md).

# Requirements

### Plugins

The following plugins are needed in order to run the plugin

{% hint style="info" %}

#### Content Agent

* An action will be called to get content-handler instance to handle requests and fetching content
  {% endhint %}

### OC configuration

In order to work with this plugin you'll also need to have the Template content type configuration in OC as well as the Naviga ID access configuration.

{% tabs %}
{% tab title="Template configuration" %}

```yaml
indexfields:
    - name: TemplateType
      type: STRING
      multivalued: false
      sortable: true
      readonly: false
      description: "Template type"

    - name: TemplateCreator
      type: STRING
      multivalued: false
      sortable: false
      readonly: false
      description: "Sub for user who created"

    - name: TemplateIsShared
      type: BOOLEAN
      multivalued: false
      readonly: false
      suggest: false
      description: "DO NOT DELETE OR CHANGE... A flag to determine if a template is shared or personal"

contenttypes:
    - Template:
        - name: TemplateType
          type: STRING
          multivalued: false
          searchable: true
          readonly: false
          description: "Template type"
          indexfields:
            - TemplateType

        - name: Name
          type: STRING
          multivalued: false
          searchable: true
          readonly: false
          description: "For overview in xlibris"
          indexfields:
            - Name

        - name: TemplateCreator
          type: STRING
          multivalued: false
          searchable: true
          readonly: false
          description: "Sub for user who created"
          indexfields:
            - TemplateCreator

        - name: TemplateIsShared
          type: BOOLEAN
          multivalued: false
          searchable: false
          readonly: false
          description: "DO NOT DELETE OR CHANGE... A flag to determine if a template is shared or personal"
          indexfields:
            - TemplateIsShared
      
        - name: Headline
          type: STRING
          multivalued: false
          searchable: true
          readonly: false
          description: DO NOT DELETE OR CHANGE... For overview in xlibris
          indexfields:
            - Headline

xpathextractors:
#Type
    - id: 43c56a3b-0ab6-4b69-87dc-cf9fea67925a
      property: TemplateType
      contenttype: Template
      mimetype: application/vnd.iptc.g2.newsitem+xml.article.template
      xpath: /*:newsItem/*:itemMeta/*:itemMetaExtProperty[@type='imext:type']/@value

    - id: f89e5147-2945-4bcc-89cc-3bad8d4a1cf9
      property: TemplateType
      contenttype: Template
      mimetype: application/vnd.iptc.g2.conceptitem+xml.event.template
      xpath: /*:conceptItem/*:itemMeta/*:itemMetaExtProperty[@type='imext:type']/@value
      ignoreroot: false

    - id: bec0d5e9-666d-4d1b-b506-9d658dcc2677
      property: TemplateType
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.assignment.template
      xpath: /*:planning/*:planningExtProperty[@type='imext:type']/@value
      ignoreroot: false

    - id: 91155f2c-4327-4684-8363-b50112fa6781
      property: TemplateType
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.template
      xpath: /*:planningItem/*:itemMeta/*:itemMetaExtProperty[@type='imext:type']/@value
      ignoreroot: false

#Name
    - id: aa6635b1-fed8-4bb4-bb72-8b46d98537fd
      property: Name
      contenttype: Template
      mimetype: application/vnd.iptc.g2.newsitem+xml.article.template
      xpath: /*:newsItem/*:itemMeta/*:title/text()

    - id: cb5577d6-9e4c-4c23-83a5-f3d09caebc1a
      property: Name
      contenttype: Template
      mimetype: application/vnd.iptc.g2.conceptitem+xml.event.template
      xpath: //*:links/*:link[@rel="template-info"]/@title
      ignoreroot: false

    - id: 1133944d-1b81-401b-a38f-cdb23fbe0408
      property: Name
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.assignment.template
      xpath: //*:links/*:link[@rel="template-info"]/@title
      ignoreroot: false

    - id: 3ac4c35e-4d12-4dd0-9e15-f25f7487ce60
      property: Name
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.template
      xpath: //*:links/*:link[@rel="template-info"]/@title
      ignoreroot: false

#Creator
    - id: 02e533c3-f044-46f2-a6ea-40016f4cd100
      property: TemplateCreator
      contenttype: Template
      mimetype: application/vnd.iptc.g2.newsitem+xml.article.template
      xpath: /*:newsItem/*:itemMeta/*:links/*:link[@rel = 'creator']/substring-after(@uri, 'imid://user/sub/')

    - id: 296da437-a3d7-464c-912e-0a5d1d268876
      property: TemplateCreator
      contenttype: Template
      mimetype: application/vnd.iptc.g2.conceptitem+xml.event.template
      xpath: /*:conceptItem/*:itemMeta/*:links/*:link[@rel='creator']/substring-after(@uri, 'imid://user/sub/')
      ignoreroot: false

    - id: 21d75501-4dad-4aed-a680-77e4f05cc961
      property: TemplateCreator
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.assignment.template
      xpath: /*:planning/*:links/*:link[@rel='creator']/substring-after(@uri, 'imid://user/sub/')
      ignoreroot: false

    - id: 1ec4af79-d094-47f2-a08c-9a3f502a9502
      property: TemplateCreator
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.template
      xpath: /*:planningItem/*:itemMeta/*:links/*:link[@rel='creator']/substring-after(@uri, 'imid://user/sub/')
      ignoreroot: false

#IsShared
    - id: 28bfef1d-c01f-4797-9133-170dacbbd192
      property: TemplateIsShared
      contenttype: Template
      mimetype: application/vnd.iptc.g2.newsitem+xml.article.template
      xpath: /*:newsItem/*:itemMeta/*:links/*:link[@rel="template-info"]/@uri eq 'im://template/shared'
      ignoreroot: false

    - id: 04e14cd5-ec17-44e8-b79b-5aced9f08cd4
      property: TemplateIsShared
      contenttype: Template
      mimetype: application/vnd.iptc.g2.conceptitem+xml.event.template
      xpath: //*:links/*:link[@rel="template-info"]/@uri eq 'im://template/shared'
      ignoreroot: false

    - id: 0d1465b1-225d-4816-bfc6-869b0dae8e08
      property: TemplateIsShared
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.assignment.template
      xpath: //*:links/*:link[@rel="template-info"]/@uri eq 'im://template/shared'
      ignoreroot: false

    - id: e32a666a-26d0-4352-88a8-3d71adee0bdb
      property: TemplateIsShared
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.template
      xpath: //*:links/*:link[@rel="template-info"]/@uri eq 'im://template/shared'
      ignoreroot: false

#Headline
    - id: 55644308-6fe5-4865-a155-9eafe9f48011
      property: Headline
      contenttype: Template
      mimetype: application/vnd.iptc.g2.conceptitem+xml.event.template
      xpath: //*:links/*:link[@rel="template-info"]/@title
      ignoreroot: false

    - id: 7541b4b0-5c67-4b18-9276-ba48ba7ad5ee
      property: Headline
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.assignment.template
      xpath: //*:links/*:link[@rel="template-info"]/@title
      ignoreroot: false

    - id: 4f5d94fe-b870-4b1d-93b5-6b5dc42b319b
      property: Headline
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.template
      xpath: //*:links/*:link[@rel="template-info"]/@title
      ignoreroot: false

importcontenttyperules:
    - id: 2abdb19b-b5a7-4567-bccc-c5c823ee162d
      contenttype: Template
      metadatamimetypes:
          - application/vnd.iptc.g2.conceptitem+xml.event.template
          - application/vnd.iptc.g2.planningitem+xml.template
          - application/vnd.iptc.g2.planningitem+xml.assignment.template

versioning:
    contenttypes:
        - name: Template
          maxversions: 0
```

{% endtab %}

{% tab title="Naviga ID configuration" %}

```yaml
indexfields:
    - name: NavigaOrganisation
      type: STRING
      multivalued: false
      readonly: false
      suggest: false
      description: Naviga Organisation

    - name: NavigaOrganisationId
      type: STRING
      multivalued: false
      readonly: false
      suggest: false
      description: Naviga Organisation Id name

    - name: NavigaSharedWithOrgs
      type: STRING
      multivalued: true
      readonly: false
      suggest: true
      description: Naviga shared with the entire organisation

    - name: NavigaUnits
      type: STRING
      multivalued: true
      readonly: false
      suggest: true
      description: Naviga Units

    - name: NavigaUnitsId
      type: STRING
      multivalued: true
      readonly: false
      suggest: true
      description: Naviga Units Id name

    - name: ObjectCreated
      type: DATE
      multivalued: false
      readonly: false
      suggest: false
      description: Created date from metadata

    - name: ObjectCreator
      type: STRING
      multivalued: false
      readonly: false
      suggest: true
      description: Creator of the object

    - name: ObjectUpdated
      type: DATE
      multivalued: false
      readonly: false
      suggest: false
      description: Updated date from metadata

    - name: ObjectUpdater
      type: STRING
      multivalued: false
      readonly: false
      suggest: true
      description: Updater of the object

contenttypes:
    - Template:
        - name: NavigaOrganisation
          type: STRING
          multivalued: false
          searchable: false
          readonly: false
          description: Naviga Organisation
          indexfields:
            - NavigaOrganisation

        - name: NavigaOrganisationId
          type: STRING
          multivalued: false
          searchable: false
          readonly: false
          description: Naviga Organisation Id name
          indexfields:
            - NavigaOrganisationId

        - name: NavigaSharedWithOrgs
          type: STRING
          multivalued: true
          searchable: false
          readonly: false
          description: Naviga Shared with the entire organisation
          indexfields:
            - NavigaSharedWithOrgs

        - name: NavigaUnits
          type: STRING
          multivalued: true
          searchable: false
          readonly: false
          description: Naviga units
          indexfields:
            - NavigaUnits

        - name: NavigaUnitsId
          type: STRING
          multivalued: true
          searchable: false
          readonly: false
          description: Naviga Units Id name
          indexfields:
            - NavigaUnitsId

        - name: ObjectCreated
          type: DATE
          multivalued: false
          searchable: false
          readonly: false
          description: Created date from metadata
          indexfields:
            - ObjectCreated

        - name: ObjectCreator
          type: STRING
          multivalued: false
          searchable: false
          readonly: false
          description: Creator of the object
          indexfields:
            - ObjectCreator

        - name: ObjectUpdated
          type: DATE
          multivalued: false
          searchable: false
          readonly: false
          description: Updated date from metadata
          indexfields:
            - ObjectUpdated

        - name: ObjectUpdater
          type: STRING
          multivalued: false
          searchable: false
          readonly: false
          description: Updater of the object
          indexfields:
            - ObjectUpdater


xpathextractors:
    #Template - Article
    - id: 273e2339-de7f-417a-956e-fcf20916fb65
      property: NavigaOrganisation
      contenttype: Template
      mimetype: application/vnd.iptc.g2.newsitem+xml.article.template
      xpath: /*:newsItem/*:itemMeta/*:links/*:link[@rel='creator']/*:links//*:link[(@type='x-imid/organisation' and @rel='affiliation')]/@title
      ignoreroot: false

    - id: 350aa4a3-4d0a-4929-8e42-344b64c6ef0d
      property: NavigaOrganisationId
      contenttype: Template
      mimetype: application/vnd.iptc.g2.newsitem+xml.article.template
      xpath: /*:newsItem/*:itemMeta/*:links/*:link[@rel='creator']/*:links//*:link[(@type='x-imid/organisation' and @rel='affiliation')]/substring-after(@uri, 'imid://organisation/')
      ignoreroot: false

    - id: c5b526a4-042a-4586-971b-770f1714af8d
      property: NavigaSharedWithOrgs
      contenttype: Template
      mimetype: application/vnd.iptc.g2.newsitem+xml.article.template
      xpath: /*:newsItem/*:itemMeta/*:links/*:link[@rel='shared-with']/*:links//*:link[(@type='x-imid/organisation' and @rel='shared-with')]/substring-after(@uri, 'imid://organisation/')
      ignoreroot: false

    - id: 19dd1df2-26c4-4431-a34f-34f75c99c798
      property: NavigaUnits
      contenttype: Template
      mimetype: application/vnd.iptc.g2.newsitem+xml.article.template
      xpath: /*:newsItem/*:itemMeta/*:links/*:link[@rel='creator' or @rel='shared-with']/*:links//*:link[@type='x-imid/unit']/@title
      ignoreroot: false

    - id: 324f2dbe-d773-417f-95de-a816b2812f67
      property: NavigaUnitsId
      contenttype: Template
      mimetype: application/vnd.iptc.g2.newsitem+xml.article.template
      xpath: /*:newsItem/*:itemMeta/*:links/*:link[@rel='creator' or @rel='shared-with']/*:links//*:link[@type='x-imid/unit']/substring-after(@uri, 'imid://unit/')
      ignoreroot: false

    - id: 690ce898-7c3a-4edf-8ff8-03e78b5548cc
      property: ObjectCreator
      contenttype: Template
      mimetype: application/vnd.iptc.g2.newsitem+xml.article.template
      xpath: /*:newsItem/*:itemMeta/*:links/*:link[@rel="creator"]/@title
      ignoreroot: false

    - id: 7b03cfd2-c0dd-454b-ace0-2dcede02be86
      property: ObjectUpdater
      contenttype: Template
      mimetype: application/vnd.iptc.g2.newsitem+xml.article.template
      xpath: /*:newsItem/*:itemMeta/*:links/*:link[@rel="updater"]/@title
      ignoreroot: false

    #Template - Planning
    - id: ecc7698f-312b-4265-9c49-9fb74ed75645
      property: NavigaOrganisation
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.template
      xpath: /*:planningItem/*:itemMeta/*:links/*:link[@rel='creator']/*:links//*:link[(@type='x-imid/organisation' and @rel='affiliation')]/@title
      ignoreroot: false

    - id: aa14050b-7f75-498e-b022-e7bcb96da159
      property: NavigaOrganisationId
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.template
      xpath: /*:planningItem/*:itemMeta/*:links/*:link[@rel='creator']/*:links//*:link[(@type='x-imid/organisation' and @rel='affiliation')]/substring-after(@uri, 'imid://organisation/')
      ignoreroot: false

    - id: fb8cb6da-174c-4b74-b66b-1dbe8417d6fb
      property: NavigaSharedWithOrgs
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.template
      xpath: /*:planningItem/*:itemMeta/*:links/*:link[@rel='shared-with']/*:links//*:link[(@type='x-imid/organisation' and @rel='shared-with')]/substring-after(@uri, 'imid://organisation/')
      ignoreroot: false

    - id: 2cec9b8d-f57f-40fe-852a-c4d670e2b289
      property: NavigaUnits
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.template
      xpath: /*:planningItem/*:itemMeta/*:links/*:link[@rel='creator' or @rel='shared-with']/*:links//*:link[@type='x-imid/unit']/@title
      ignoreroot: false

    - id: 6ee1dfee-24e4-4b0a-8c17-36b8c422a138
      property: NavigaUnitsId
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.template
      xpath: /*:planningItem/*:itemMeta/*:links/*:link[@rel='creator' or @rel='shared-with']/*:links//*:link[@type='x-imid/unit']/substring-after(@uri, 'imid://unit/')
      ignoreroot: false

    - id: 7cfff9d3-ed2f-4479-9a4f-4a392f66af98
      property: ObjectCreator
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.template
      xpath: /*:planningItem/*:itemMeta/*:links/*:link[@rel="creator"]/@title
      ignoreroot: false

    - id: 9c6aee83-f5cf-4ece-9316-3903c99bae3d
      property: ObjectUpdater
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.template
      xpath: /*:planningItem/*:itemMeta/*:links/*:link[@rel="updater"]/@title
      ignoreroot: false

    #Template - Assignment    
    - id: ca548a01-846f-4854-a684-4b22a8a0b9c3
      property: NavigaOrganisation
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.assignment.template
      xpath: /*:planning/*:links/*:link[@rel='creator']/*:links//*:link[(@type='x-imid/organisation' and @rel='affiliation')]/@title
      ignoreroot: false
      
    - id: 05e5d574-edf9-4aad-9664-deb3593fcf7a
      property: NavigaOrganisationId
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.assignment.template
      xpath: /*:planning/*:links/*:link[@rel='creator']/*:links//*:link[(@type='x-imid/organisation' and @rel='affiliation')]/substring-after(@uri, 'imid://organisation/')
      ignoreroot: false

    - id: 8c4fdfed-9879-4c7c-9dd0-393960b3d537
      property: NavigaSharedWithOrgs
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.assignment.template
      xpath: /*:planning/*:links/*:link[@rel='shared-with']/*:links//*:link[(@type='x-imid/organisation' and @rel='shared-with')]/substring-after(@uri, 'imid://organisation/')
      ignoreroot: false

    - id: 4fad9239-78a4-4cb2-9a94-2fc52a358d11
      property: NavigaUnits
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.assignment.template
      xpath: /*:planning/*:links/*:link[@rel='creator' or @rel='shared-with']/*:links//*:link[@type='x-imid/unit']/@title
      ignoreroot: false

    - id: 32465103-0c6c-46d3-abda-243348dbe9f5
      property: NavigaUnitsId
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.assignment.template
      xpath: /*:planning/*:links/*:link[@rel='creator' or @rel='shared-with']/*:links//*:link[@type='x-imid/unit']/substring-after(@uri, 'imid://unit/')
      ignoreroot: false

    - id: 7ca10a48-14a9-4ae2-b170-a0b5000d68a7
      property: ObjectCreator
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.assignment.template
      xpath: /*:planning/*:links/*:link[@rel="creator"]/@title
      ignoreroot: false

    - id: e03338b2-0ca4-4efc-b80b-e45bc42b16a3
      property: ObjectUpdater
      contenttype: Template
      mimetype: application/vnd.iptc.g2.planningitem+xml.assignment.template
      xpath: /*:planning/*:links/*:link[@rel="updater"]/@title
      ignoreroot: false
      
    #Template - Event
    - id: c5b0ce5f-62c9-41a2-8ba3-364814dbc0e9
      property: NavigaOrganisation
      contenttype: Template
      mimetype: application/vnd.iptc.g2.conceptitem+xml.event.template
      xpath: /*:conceptItem/*:itemMeta/*:links/*:link[@rel='creator']/*:links//*:link[(@type='x-imid/organisation' and @rel='affiliation')]/@title
      ignoreroot: false

    - id: 05fd65d7-4505-4dd9-be93-c598066e468e
      property: NavigaOrganisationId
      contenttype: Template
      mimetype: application/vnd.iptc.g2.conceptitem+xml.event.template
      xpath: /*:conceptItem/*:itemMeta/*:links/*:link[@rel='creator']/*:links//*:link[(@type='x-imid/organisation' and @rel='affiliation')]/substring-after(@uri, 'imid://organisation/')
      ignoreroot: false

    - id: a79fa04a-96b8-415c-a992-9f6a0a5e3e0e
      property: NavigaSharedWithOrgs
      contenttype: Template
      mimetype: application/vnd.iptc.g2.conceptitem+xml.event.template
      xpath: /*:conceptItem/*:itemMeta/*:links/*:link[@rel='shared-with']/*:links//*:link[(@type='x-imid/organisation' and @rel='shared-with')]/substring-after(@uri, 'imid://organisation/')
      ignoreroot: false

    - id: d6e93c1e-7f2d-4ea6-988c-0e1fe0add3e9
      property: NavigaUnits
      contenttype: Template
      mimetype: application/vnd.iptc.g2.conceptitem+xml.event.template
      xpath: /*:conceptItem/*:itemMeta/*:links/*:link[@rel='creator' or @rel='shared-with']/*:links//*:link[@type='x-imid/unit']/@title
      ignoreroot: false

    - id: c315a3d1-fcc2-4f52-a6c4-7d5deb4fbb2d
      property: NavigaUnitsId
      contenttype: Template
      mimetype: application/vnd.iptc.g2.conceptitem+xml.event.template
      xpath: /*:conceptItem/*:itemMeta/*:links/*:link[@rel='creator' or @rel='shared-with']/*:links//*:link[@type='x-imid/unit']/substring-after(@uri, 'imid://unit/')
      ignoreroot: false

    - id: 8da7514f-c57d-4ff7-9af7-6f2c19406361
      property: ObjectCreator
      contenttype: Template
      mimetype: application/vnd.iptc.g2.conceptitem+xml.event.template
      xpath: /*:conceptItem/*:itemMeta/*:links/*:link[@rel="creator"]/@title
      ignoreroot: false

    - id: b62cfbba-7810-43d8-a0e8-33d994818c8d
      property: ObjectUpdater
      contenttype: Template
      mimetype: application/vnd.iptc.g2.conceptitem+xml.event.template
      xpath: /*:conceptItem/*:itemMeta/*:links/*:link[@rel="updater"]/@title
      ignoreroot: false
```

{% endtab %}

{% tab title="Import group rules" %}

```
Due to us not being able to default import group rules 
these need to be setup manually.

#Article
Content type: Template
Property: TemplateType
Operator: EQ
Value: x-im/article-template

#Planning item
Content type: Template
Property: TemplateType
Operator: EQ
Value: x-im/newscoverage-template

#Assignment
Content type: Template
Property: TemplateType
Operator: EQ
Value: x-im/assignment-template

#Event
Content type: Template
Property: TemplateType
Operator: EQ
Value: x-im/event-template

```

{% endtab %}
{% endtabs %}
