NewsItem
News item manipulation methods
save()
Save news item. Triggers a validation of the news item.
replaceSource(sourceXml, [etag])
Replace the NewsML source. Will effectively replace the current article with anything in the incoming NewsML.
Parameters
Param | Type | Default |
sourceXml |
| |
etag |
|
|
~~setSource() ~~
Deprecated
Use api.newsItem.replaceSource()
instead
getGuid() ⇒ string
| null
string
| null
Return the GUID in the NewsItemArticle Can return null if no GUID is found in NewsItem
setGuid(uuid)
Set news item guid (uuid)
Parameters
Param | Type | Description |
uuid |
| Required - New uuid or null to clear |
getLocale() ⇒ string
string
Gets locale from article's idf-element. Formatted with underscore, eg. sv_SE, en_GB, nl_NL. Uses fallback languages if the article's language only uses two characters. If fallback fails, will return the configured "language"-property from writer-config.
getLanguageParts() ⇒ Object
Object
Gets a language parts object parsed from article's NewsML.
setLanguage(name, languageCode, textDirection)
Sets xml:lang property on article's idf-element. Language code should be two two-character codes separated by a dash, eg. sv-SE, en-GB
Parameters
Param | Type | Default | Description |
name |
| Required - Plugin-id that set language | |
languageCode |
| Required - Two two-character language-region codes, separated by a dash. eg. sv-SE, en-GB, nl-NL | |
textDirection |
|
| Required - |
getNewsPriority() ⇒ Object
Object
Get news priority.
Returns: Object
- News priority object in JXON format
createNewsPriority(name, newsPriority)
Create and insert a new newsPriority object into the news item content meta data. Triggers a documentChanged event to all documentChanged listeners except the plugin making the change.
Parameters
Param | Type |
name |
|
newsPriority |
|
setNewsPriority(name, newsPriority)
Set news priority.
Parameters
Param | Type | Description |
name |
| Required - Name of the plugin making the call |
newsPriority |
| Required - News priority object |
getMainChannel() ⇒ object
object
Get main channel (channel with attribute why="imext:main")
getSections() ⇒ Array
| *
Array
| *
Get Sections. Finds all the service nodes with a qCode containing imsection:
Renames @qcode to qcode so plugins doesn't have to handle
getSection() ⇒ *
*
Get Section.
Find section on article if any. If no section null is returned. Note that by using this function it is presumed that there can be max one section on an article.
getChannels() ⇒ Array
Array
Get Channels Finds all the service nodes with a qCode containing imchn:
Renames @qcode to qcode so plugins doesn't have to handle
updateSection(name, section)
Update Section. Removes existing section and add new. Note expects article to only allow one section.
Throws:
Error
Parameters
Param | Description |
name | Required - Name of plugin. |
section | Required - Section object to set on article. |
removeSection(name, section, muteEvent)
Removes .
Throws:
Error
Parameters
Param | Type | Description |
name |
| Required - Name of plugin. |
section |
| Required - Section object to remove. |
muteEvent |
| Required - Optional. Mute event if set to true, only used internally. |
addChannel(name, channel, setAsMainChannel)
Add a channel as a . Renaming qcode to @qcode.
Throws:
Error
Parameters
Param | Type | Description |
name |
| Required - Name of plugin |
channel |
| Required - Name of channel |
setAsMainChannel |
| Required - Set this channel as main channel |
removeChannel(name, channel, muteEvent)
Removes .
Throws:
Error
Parameters
Param | Type | Description |
name |
| Required - Name of plugin |
channel |
| Required - Name of channel |
muteEvent |
| Required - Optional. Mute event if set to true, only used internally. |
getPubStatus() ⇒ Object
Object
Get the pubStatus of document
Returns: Object
- Return object with current pubStatus of document
setPubStatus(name, pubStatus)
Set pubStatus Creates a pubStatus node in itemMeta if it not exists
Parameters
Param | Type |
name |
|
pubStatus |
|
getPubStart() ⇒ object
object
Get pubStart
Returns: object
- Object {value: "2016-02-08T20:37:25 01:00", type: "imext:pubstart"}
setPubStart(name, pubStart)
Set pubStart
Parameters
Param | Type | Description |
name |
| Required - Plugin name |
pubStart |
| Required - Expect object with value property. Type is ignored. Object {value: "2016-02-08T20:37:25 01:00"} |
removePubStart(name)
Remove the node for the pubStart
Parameters
Param |
name |
getPubStop() ⇒ object
object
Get pubStop
setPubStop(name, pubStop)
Set pubStop.
Parameters
Param | Type |
name |
|
pubStop |
|
removePubStop(name)
Remove the node for pubStop.
Parameters
Param | Type | Description |
name |
| Required - Plugin name |
getEdNote() ⇒ String
String
Get editorial note from edNote element in itemMeta section.
setEdNote(content)
Set editorial note content in edNote element in itemMeta section
Throws:
Error
Parameters
Param | Type | Description |
content |
| Required - String content of editorial note |
getNewspilotArticleId() ⇒ *
*
Get Newspilot article id (if any).
getAuthors() ⇒ *
*
Get all author links in itemMeta links
getSharedWith()
Get IMID organisation and unit(s)
getUnits()
Get IM
removeAuthorByUUID(name, uuid)
Remove an author from newsItem.
Throws:
NotFoundError
When no node is found by provided UUID the NotFoundError is thrown
Parameters
Param | Type | Description |
name |
| Required - Name of the plugin |
uuid |
| Required - The UUID of the author to be deleted |
addAuthor(name, author)
Add an known author with a specified uuid to the newsItem
Parameters
Param | Type | Description |
name |
| Required - Plugin name |
author |
| Required - Author object with the properties name and uuid |
addSimpleAuthor(name, author)
Add an simple/unknown author to the newsItem
Parameters
Param | Type | Description |
name |
| Required - Plugin name |
author |
| Required - Author object with the properties name and uuid |
updateAuthorWithUUID(name, uuid, author)
Updates itemMeta > links > link[type="x-im/author"]/@name for specified uuid.
If parameter author object contains any of
email
firstName
lastName
phone
facebookUrl
twitterUrl
shortDescription
longDescription a child element, 'data', will be created and a child element to that element with the name of object field will be created, e.g. data > phone.
Note that an existing 'data' element will be removed from link.
Parameters
Param | Type | Description |
name |
| Required - Plugin name |
uuid |
| Required - The uuid for the author in the newsItem |
author |
| Required - Object containing name and, optional, fields (see above) |
updateConcept(name, conceptObject, propertyMap, triggerDocumentChanged)
Update existing concept link with new data
Parameters
Param | Type | Default | Description |
name |
| Required - | |
conceptObject |
| Required - | |
propertyMap |
| Required - | |
triggerDocumentChanged |
|
| Required - set to false to suppress document changed event, default is set to true |
updateRelationalLinks(relation, conceptObject, conceptNode, propertyMap)
Recursive function that will add a concepts Broader relations as links in the existing concept link
Parameters
Param | Type |
relation |
|
conceptObject |
|
conceptNode |
|
propertyMap |
|
updateConceptData(conceptObject, conceptNode)
Update a concept links data node
Parameters
Param | Type |
conceptObject |
|
conceptNode |
|
createExtendedGeoLink(relatedGeoPolygons)
Attach link with related-geo data to article meta
Parameters
Param | Type |
relatedGeoPolygons |
|
removeAuthorByTitle(name, authorName)
Remove an author from newsItem
Throws:
NotFoundError
When no node is found by provided authorName the NotFoundError is thrown
Parameters
Param | Type | Description |
name |
| Required - Name of the plugin |
authorName |
| Required - The name of the author to be deleted |
getLinksByType(name, types, subject) ⇒ *
*
Generic method to retrieve links with a certain type from the itemMeta section
Parameters
Param | Type | Description |
name | Required - Plugin name | |
types |
| Required - Types of links to select |
subject |
| Required - optional Which kind of subject to select, defaults to "subject" |
Example
getTags(types) ⇒ *
*
Get tags (link elements from the itemMeta section)
Returns: *
- Return array of tags in JSON or null if no links was found
Example:: { rel: "subject", title: "Dalarna", type: "x-im/category", uuid: "03d22994-91e4-11e5-8994-feff819cdc9f" }
Parameters
Param | Description |
types | Required - An array of types considered being tags. Example ['x-im/person, x-im/channel'] |
addTag(name, tag)
Adds a tag to itemMeta > links section in newsItem
The format used is identical to the search response provided by concepts backend
Parameters
Param | Type | Description |
name |
| Required - The name of the plugin |
tag |
| Required - Must containt title, type and uuid |
Example
updateTag(name, uuid, tag)
Update a tag in itemMeta > links section
Throws:
NotFoundError
When no node is found by provided UUID the NotFoundError is thrown
Parameters
Param | Type | Description |
name |
| Required - The name of the plugin |
uuid |
| Required - The UUID of the link element |
tag |
| Required - The tag, same format as concept backend provides in search {"name": [ "2016 Eurovision Song Contest" ], "type": [ "story" ], "typeCatalog": [ "imnat" ], "imType": [ "x-im/story" ] } |
removeLinkByUUID(name, uuid)
Removes a link in itemMeta links by providing an UUID
Parameters
Param | Description |
name | Required - The name of the plugin calling the method |
uuid | Required - The uuid of the link to be removed |
removeLinkByURI(name, uri)
Removes a link in itemMeta links by providing an URI
Parameters
Param | Type | Description |
name |
| Required - The name of the plugin calling the method |
uri |
| Required - The URI of the link to be removed |
removeAllLinksByType(name, type)
Removes all links in itemMeta links by providing a type
Parameters
Param | Type | Description |
name |
| Required - of the plugin calling the method |
type |
| Required - of the links to be removed |
removeLinkByUUIDAndRel(name, uuid, rel)
Remove a link from itemMeta links section by type and rel attributes
Parameters
Param | Type |
name |
|
uuid |
|
rel |
|
removeLinkContentMetaByTypeAndRel(name, type, rel)
Remove a link from contentMeta links section by type and rel attributes
Parameters
Param | Type |
name |
|
type |
|
rel |
|
removeLinkContentMetaByTypeAndMatchingFilter(name, type, filter)
Removes links from contentMeta links section that matches provided filter and type.
The filter function is called for each link mathing the type. If the filter returns 'true', the link is removed.
Parameters
Param | Type | Description |
name |
| Required - The name of the plugin performing the remove. |
type |
| Required - The link type that should be part of removal |
filter |
| Required - A function that gets the a link as a argument. Should return 'true' if the link should be removed. |
addLocation(name, location)
Adds a new x-im/place link into itemMeta links
Parameters
Param | Description |
name | Required - Plugin name calling function |
location | Required - The location in JSON containing |
Example
updateLocation(name, location)
Update a location
Throws:
Error
Parameters
Param | Type | Description |
name |
| Required - Name of plugin |
location |
| Required - The location in JSON |
getLocations(entity) ⇒ array
array
Get all location with link type x-im/place, x-im/polygon or x-im/position with the specified entity
Returns: array
- {"data":{"position":"POINT(16.570516 56.774485)"},"rel":"subject","title":"Rälla","type":"x-im/place","uuid":"6599923a-d626-11e5-ab30-625662870761"}
Parameters
Param | Type | Description |
entity |
| Required - Optional entity specification, either "all", "position" or "polygon" |
addLink(name, link, triggerDocumentChanged)
Adds a link to itemMeta links section
Parameters
Param | Type | Default | Description |
name |
| Required - The name of the plugin adding the link | |
link |
| Required - Uses jxon.unbuild to transform JSON to XML. Make sure to use @ property names for attributes. | |
triggerDocumentChanged |
|
| Required - set to false to suppress document changed event, default is set to true |
Example
updateLinkRel(name, link)
Updates the rel value on a meta link
Parameters
Param | Type | Description |
name |
| Required - The name of the plugin that is triggering the change |
link |
| Required - a link object with a valid uuid and valid rel |
Example
addContentMetaLink(name, link)
Adds a link to contentMeta links section
Parameters
Param | Type | Description |
name |
| Required - The name of the plugin adding the link |
link |
| Required - Uses jxon.unbuild to transform JSON to XML. Make sure to use @ property names for attributes. |
Example
getLinkByTypeAndRel(name, type, rel) ⇒ array
array
Retrieve links from itemMeta section by specified type and rel
Returns: array
- Array of links
Parameters
Param | Type |
name |
|
type |
|
rel |
|
getLinkByType(name, type) ⇒ array
array
Retrieve links from itemMeta section by specified type
Returns: array
- Return array of links transformed to JSON
Parameters
Param | Type | Description |
name |
| Required - Name of the plugin |
type |
| Required - The link type |
getContentMetaLinkByType(name, type) ⇒ array
array
Get links in contentMeta links section by specified type
Returns: array
- Return array of links transformed to JSON
Parameters
Param | Type | Description |
name |
| Required - Name of the plugin |
type |
| Required - The link type |
getStories() ⇒ array
array
Get stories
Returns: array
- Array of stories found
getConceptSections() ⇒ array
array
Get concept sections
Returns: array
- Array of concept sections
addStory(name, story)
Add a story link to itemMeta links section
Parameters
Param |
name |
story |
Example
updateStory(name, story)
Updates title on existing story
Throws:
NotFoundError
Parameters
Param | Type | Description |
name |
| Required - Plugin name |
story |
| Required - A story object that atleast contains title and uuid |
Example
~~addConceptProfile(name, contentprofile) ~~
Deprecated
Adds a content-profile link to NewsItem
Parameters
Param | Type | Description |
name |
| Required - Name of the plugin |
contentprofile |
| Required - A contentprofile object containing uuid and title |
Example
addContentProfile(name, contentprofile)
Adds a content-profile link to NewsItem
Parameters
Param | Type | Description |
name |
| Required - Name of the plugin |
contentprofile |
| Required - A contentprofile object containing uuid and title |
Example
addCategory(name, category)
Adds a category link to NewsItem
Parameters
Param | Type | Description |
name |
| Required - Name of the plugin |
category |
| Required - A category object containing uuid and title |
Example
~~updateConceptProfile() ~~
Deprecated
Use updateContentProfile instead.
Example
updateContentProfile(name, contentprofile)
Updates title on existing story
Parameters
Param | Type | Description |
name |
| Required - Plugin name |
contentprofile |
| Required - A concept profile object that atleast contains title and uuid |
Example
getContentProfiles() ⇒ array
| null
array
| null
Returns a list of all existing content-profiles in NewsItem
getConceptByUuid() ⇒ object
| null
object
| null
Returns a conceptItem with matching UUID
Returns: object
| null
- ConceptItem or null
getCategories() ⇒ array
| null
array
| null
Returns a list of all existing categories in NewsItem
getArticleSubType() ⇒ String
String
Get the sub-type of the article (if there is one) For regular stories/articles this will return an empty string Other types includes: x-im/print, x-im/fact etc
Returns: String
- Subtype or empty string
getExtProperty(sectionName, type, raw) ⇒ string
| Element
string
| Element
Retrieve either an itemMetaExtProperty or contentMetaExtProperty value from the item or content meta sections. Optionally return full element if raw parameter is set to true.
Parameters
Param | Type | Default | Description |
sectionName |
| Required - Either 'itemMeta' or 'contentMeta' | |
type |
| Required - | |
raw |
|
| Required - Optional, return as raw dom element, default is false |
setExtProperty(name, sectionName, type, value)
Create new or set a value of existing itemMetaExtProperty or contentMetaExtProperty
Parameters
Param | Type | Description |
name |
| Required - Identifier of caller |
sectionName |
| Required - Either 'itemMeta' or 'contentMeta' |
type |
| Required - Type string |
value |
| Required - Value |
deleteExtProperty(name, sectionName, type)
Delete a specified itemMetaExtProperty or contentMetaExtProperty
Parameters
Param | Type | Description |
name |
| Required - Identifier of caller |
sectionName |
| Required - Either 'itemMeta' or 'contentMeta' |
type |
| Required - Type |
getTemporaryId() ⇒ *
| null
*
| null
Returns the generated temporary id for the article. Temporary id is used when a new article is created and before it's saved the first time.
setTemporaryId(temporaryArticleID)
Set a temporaryId for the article
Parameters
Param |
temporaryArticleID |
hasTemporaryId() ⇒ boolean
boolean
Checks if current article has a temporary id
getIdForArticle() ⇒ string
string
Get the id for the article
getHasPublishedVersion() ⇒ bool
bool
Get value of itemMetaExtProperty element with type imext:haspublihedversion that indicates whether the newsitem has published version or not.
setHasPublishedVersion(name, value)
Set itemMetaExtProperty element with type imext:haspublihedversion to true/false in item > meta sections to indicate whether this newsitem has a published version or not.
Parameters
Param | Type | Description |
name |
| Required - Identifier of caller |
value |
| Required - True or false |
getContentMetaObjectsByType(objectType) ⇒ Array
Array
Retrieve objects from contentmeta.medata section based on type.
Returns: Array
- Array of objects in jxon format
Parameters
Param | Type | Description |
objectType |
| Required - The type of object |
getContentMetaObjectById(id) ⇒ Object
Object
Retrieve object from contentmeta.medata section based on id.
Returns: Object
- Object in jxon format
Parameters
Param | Type | Description |
id |
| Required - The id of object |
setContentMetaObject(name, jxonObject)
Create and add an object into the contentmeta.metadata section. The object is encoded as a jxon object with the mandatory attributes id and type. All data must reside in the sub data structure. If an object with the specified id already exists it is silently replaced. Triggers a document:changed event.
Parameters
Param | Type | Description |
name |
| Required - Name of the plugin making the call |
jxonObject |
| Required - The jxon encoded object |
Example
Example (Results in)
removeContentMetaObject(name, id)
Remove a specific object identied by id from the contentmeta.metadata section. Triggers a document:changed event.
Parameters
Param | Type | Description |
name |
| Required - Name of the plugin making the call |
id |
| Required - The id of the object |
invalidate()
Invalidate document and displays notification that document is invalid
getVersionCreated() ⇒ *
*
Get version created date. Resides in newsItem > itemMeta block. If no version created date was found, null is returned.
getFirstCreated() ⇒ *
*
Get first created date. Resides in newsItem > itemMeta block. If no first created date was found, null is returned.
getContentCreated() ⇒ *
*
Get content created date. Resides in newsItem > contentMeta block. If no content created date was found, null is returned.
getContentModified() ⇒ *
*
Get content modified date. Resides in newsItem > contentMeta block. If no content modified date was found, null is returned.
Last updated