Article

Basic article handling that enables functionality as clearing and creating new copies of a newsitem article

clear(disableWarning)

Clear the article and create a new based on the configured base template.

Parameters

Param

Type

Description

disableWarning

boolean

Required - Optional, default false. If true, the article will be cleared without warning

copy(name)

Attempt to execute copy hooks if at least one exists, then create a new, unsaved, article based on the current article.

Parameters

Param

Type

Description

name

string

Required - Name or identifier of caller

setSourceArticle(sourceArticleUuid)

Remove any itemMeta links with rel "source", and add a new itemMeta link with rel "source" using supplied article uuid

Parameters

Param

Type

sourceArticleUuid

string

setPubStatus(data)

Sets the publication status for this document. The value is one of what is defined in the NewsML G2 standard: https://www.iptc.org/std/NewsML-G2/latest/QuickStart-NewsML-G2-ItemBasics under the Publication Status section, together with custom extension in the format [customExtensionPrefix]:[customValue], such as imext:draft

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

string

Required - The value to be set in pubStatus. Expected value is in the form "stat:usable"

data.eventType

string

Type of event to be sent when data has changed. default "document:changed"

Example

import {api} from 'writer'

api.Article.setPubStatus({
     'change': 'stat:withheld'
  });

<itemMeta>
  <pubStatus qcode="stat:withheld"/>
</itemMeta>

addService(data)

Adds a service to the itemMeta section of the article. The service tag concists of a mandatory 'qcode' value and an optional 'why' attribute with extra information.

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

string

Required - The change specification

data.change.qcode

string

Required - The value to be set in the qcode for the service. Expected value is in the form "xxx:yyy"

data.change.why

string

Required - Optional parameter for the 'why' attribute for service.

data.eventType

string

Type of event to be sent when data has changed. default "document:changed"

Example

import {api} from 'writer'

api.article.addService({
    change: {
     qcode: "imchn:abc",
     why: "imext:main"
   }
});


<contentMeta>
    <service qcode="imchn:abc" why="imext:main"/>
</contentMeta>

removeService(data)

Removes a service from the itemMeta section of the article.

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

string

Required - The qcode value matching the service to be removed. If there is no match, no event is sent.

data.eventType

string

Type of event to be sent when data has changed. default "document:changed"

Example

import {api} from 'writer'

api.article.removeService({
    change: "imchn:abc"
});

setPubStart(data)

Sets the publish start time, using ISO_8601 standard. If value is null, pubStart will be unset.

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

string

Required - The time, in ISO_8601

data.eventType

string

Type of event to send when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.setPubStart({
     'change': '2018-04-21T00:00:00+02:00'
  });
<itemMeta>
  <itemMetaExtProperty type="imext:pubstart" value="2018-04-21T00:00:00+02:00"/>
</itemMeta>

setPubStop(data)

Sets the publish stop time, using ISO_8601 standard.

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

string

Required - The time, in ISO_8601

data.eventType

string

Type of event to send when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.setPubStop({
     'change': '2018-04-21T00:00:00+02:00'
  });
<itemMeta>
  <itemMetaExtProperty type="imext:pubstop" value="2018-04-21T00:00:00+02:00"/>
</itemMeta>

setTitle(data)

Sets the value of the title.

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

string

Required - Value of the title to set. Must not be null or undefined

data.eventType

object

Type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.setTitle({
     "change": "Document title"
  });
<itemMeta>
  <title>Document title</title>
</itemMeta>

setEdNote(data)

Sets the value of editor note

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

string

Required - The text value of editor note. If null or empty, the element will be removed from document.

data.eventType

object

Type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.setEdNote({
     "change": "Instructions to editor"
  });
<itemMeta>
  <edNote>Instructions to editor</edNote>
</itemMeta>

setItemMetaExtProperty(data)

Sets the value of a property. If value is null, the property will be removed. The type of property to change is specified by the type argument.

The type is defined by the [customPrefix]:[type] syntax, such as imext:url

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

object

Required - Specification of the property to set.

data.change.type

string

Required - The identification of the property

data.change.value

string

Required - The value of the property. If null, the property will be removed.

data.eventType

object

Type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.setItemMetaExtProperty({
     "change": {
         type: "imext:haspublishedversion",
         value: "true"
     }
  });
<itemMeta>
  <itemMetaExtProperty type="imext:haspublishedversion" value="true"/>
</itemMeta>

Adds a link to the itemMeta section of the article.

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

object

Required - Specifies the link to be created.

data.change.rel

string

Required - The 'rel' attribute of the link. Example: "author". This parameter is mandatory and must be defined. Must not contain spaces

data.change.type

string

Required - The 'type' attribute of the link. Example: "x-im/person". This parameter is mandatory and must be defined.

data.change.uri

string

Required - The 'uri' pointing to an external resource. This OR the 'uuid' parameter must be present.

data.change.uuid

string

Required - The 'uuid', which is an ID of a resource in the writer repository. This OR the 'uri' parameter must be present.

data.change.data

string

Required - An optional data block with custom tags.

data.change.links

array

Required - Optional links for the link to be created. Should be of the same format as the top-most link.

data.eventType

string

The type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.addItemMetaLink({
     change: {
         rel: "subject",
         title: "Mora",
         type: "x-im/category",
         uuid: "7b8461e8-4a22-11e8-aa12-b79c05b8e6d5",
         links: [
             {
                 rel: "broader",
                 title: "Dalarna",
                 uuid: "03d22994-91e4-11e5-8994-feff819cdc9f",
                 type: "x-im/category",
                 data: {
                     "placement": {
                         attributes: {
                             "type": "position"
                         },
                         value: "left"
                     }
                 }
             }
         ]
     }
  });

<itemMeta>
  <links>
      <link rel="subject" title="Mora" type="x-im/category" uuid="7b8461e8-4a22-11e8-aa12-b79c05b8e6d5">
          <links>
              <link rel="broader" title="Dalarna" uuid="03d22994-91e4-11e5-8994-feff819cdc9f" type="x-im/category">
                  <data>
                      <placement type="position>left</placement>
                  </data>
          </links>
      </link>
  </links>
</itemMeta>

Removes a link from itemMeta section

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

object

Required - The link to remove

data.rel

string

Required - The rel attribute of the link

data.uri

string

Required - The URI that identifies the link, OR

data.uuid

string

Required - The uuid that identifies the link.

data.eventType

string

The type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.removeItemMetaLink({
     change: {
         rel: 'subject',
         uuid: '320938f8-db94-11e5-b5d2-0a1d41d68578'
     }
  });

setAltId(data)

Sets the alternative ID for the article. If null, the element will be removed.

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

string

Required - The new ID to set

data.eventType

string

The type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.setAltId({
     "change": "854575"
  });

<contentMeta>
  <altId>854575</altId>
</contentMeta>

setSlugline(data)

Sets the slugline for the article. If null, the element will be removed.

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

string

Required - The new slugline

data.eventType

string

The type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.setSlugline({
     "change": "This article is all about"
  });

<contentMeta>
  <slugline>This article is all about</slugline>
</contentMeta>

setDescription(data)

Sets the description of the article. If null, the element will be removed.

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

string

Required - The new description

data.eventType

string

The type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.setDescription({
     "change": "Description of the article"
  });

<contentMeta>
  <description>Description of the article</description>
</contentMeta>

setLanguage(data)

Sets the language for the article. If null, the element will be removed.

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

string

Required - The language to set

data.eventType

string

The type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.setLanguage({
     "change": "en"
  });

<contentMeta>
  <language tag="en"/>
</contentMeta>

setIdfLanguage(data)

Sets the language in the idf section of the document. See https://www.w3.org/2005/05/font-size-test/starhtml-test.html for valid language codes.

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

string

Required - The specification of language and optional direction

data.change.lang

string

Required - The language specification, as specified in the link above.

data.change.dir

string

Required - The text direction

data.eventType

string

The type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

setBy(data)

Sets the byline for the article. If null, the element will be removed.

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

string

Required - The new byline

data.eventType

string

The type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.setBy({
     "change": "Boris Byline"
  });

<contentMeta>
  <by>Boris Byline</by>
</contentMeta>

setHeadline(data)

Sets the headline of the article. If null, the element will be removed.

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

string

Required - The new headline

data.eventType

string

The type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.setHeadline({
     "change": "Article headline"
  });

<contentMeta>
  <headline>Article headline</headline>
</contentMeta>

Adds a link to the contentMeta section of the article.

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

object

Required - Specifies the link to be created.

data.change.rel

string

Required - The 'rel' attribute of the link. Example: "author". This parameter is mandatory and must be defined.

data.change.type

string

Required - The 'type' attribute of the link. Example: "x-im/person". This parameter is mandatory and must be defined.

data.change.uri

string

Required - The 'uri' pointing to an external resource. This OR the 'uuid' parameter must be present.

data.change.uuid

string

Required - The 'uuid', which is an ID of a resource in the writer repository. This OR the 'uri' parameter must be present.

data.change.data

string

Required - An optional data block with custom tags.

data.change.links

array

Required - Optional links for the link to be created. Should be of the same format as the top-most link.

data.eventType

string

The type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.addContentMetaLink({
  change: {
    rel: "articlesource",
    title: "Online",
    type: "x-im/articlesource",
    uri: "im://articlesource/online"
  }
});

<contentMeta>
    <links>
        <link rel="articlesource" title="Online" type="x-im/articlesource" uri="im://articlesource/online"/>
    </links>
</contentMeta>

Removes a link from contentMeta section

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

object

Required - The link to remove

data.rel

string

Required - The rel attribute of the link

data.uri

string

Required - The URI that identifies the link, OR

data.uuid

string

Required - The uuid that identifies the link.

data.eventType

string

The type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.removeContentMetaLink({
     change: {
         rel: 'subject',
         uuid: '320938f8-db94-11e5-b5d2-0a1d41d68578'
     }
  });

addContentMetadata(data)

Adds an object element to the metadata section in contentMeta

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

object

Required - The specification of the object tag to add

data.change.id

string

Required - A mandatory id of the object

data.change.type

string

Required - A mandatory type of object

data.change.title

string

Required - A an optional title of the object

data.change.data

object

Required - Optional data element, with custom tags.

data.change.links

array

Required - Optional array with link elements. The link follows the same format as with #addContentMetaLink

data.eventType

string

The type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.addContentMetadata({
    change: {
        id: "8400c74d667e",
        type: "x-im/teaser",
        title: "Sed sit amet turpis a purus fringilla",
        data: {
            subject: "In sodales lectus vel egestas rhoncus",
            text: "Duis eget magna lacus. In sodales lectus vel egestas rhoncus."
        }
        links: [
            {
                rel: "image",
                type: "x-im/image",
                uri: "im://image/znX8U1CU124n26zu7gb40_jBzSk.jpeg",
                uuid: "c382c937-8511-5d48-9677-55658c2bbb32",
                data: {
                    width: "1536",
                    height: "1024"
                }
            }
        ]
    }
})

<contentMeta>
    <metadata>
        <object id="8400c74d667e" type="x-im/teaser" title="Sed sit amet turpis a purus fringilla">
           <data>
               <subject>In sodales lectus vel egestas rhoncus</subject>
               <text>Duis eget magna lacus. In sodales lectus vel egestas rhoncus.</text>
           </data>
           <links>
               <link rel="image"
                         type="x-im/image"
                         uri="im://image/znX8U1CU124n26zu7gb40_jBzSk.jpeg"
                         uuid="c382c937-8511-5d48-9677-55658c2bbb32">
                   <data>
                       <width>1536</width>
                       <height>1024</height>
                   </data>
               </link>
           </links>
        </object>
    </metadata>
</contentMeta>

removeContentMetadata(data)

Removes an object in the contentMeta metadata section of the article.

Parameters

Param

Type

Description

data

object

Required - The change specification

data.change

object

Required - The specification of the object tag to remove

data.change.id

string

Required - The ID for the tag to remove. This argument is required

data.eventType

string

The type of event to be sent when data has changed. Default Event.DOCUMENT_CHANGED

Example

import {api} from 'writer'

api.article.removeContentMetadata({
     change: {
         id: 'A8567B335'
     }
  });

itemMeta(path) ⇒ DocumentNode

Returns the itemMeta node

Returns: DocumentNode - A node instance

Throws:

  • Error when node does not exist

Parameters

Param

Description

path

Required - Optional path to find node under itemMeta

contentMeta(path) ⇒ DocumentNode

Returns the contentMeta node

Returns: DocumentNode - A node instance

Throws:

  • Error when node does not exist

Parameters

Param

Description

path

Required - Optional path to find node under contentMeta

Last updated