NewsItem
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
sourceXml
string
etag
string
null
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
uuid
string
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
name
string
Required - Plugin-id that set language
languageCode
string
Required - Two two-character language-region codes, separated by a dash. eg. sv-SE, en-GB, nl-NL
textDirection
string
"ltr"
Required - 'ltr'
or 'rtl'
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
name
string
newsPriority
object
setNewsPriority(name, newsPriority)
Set news priority.
Parameters
name
string
Required - Name of the plugin making the call
newsPriority
Object
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
name
Required - Name of plugin.
section
Required - Section object to set on article.
removeSection(name, section, muteEvent)
Removes .
Throws:
Error
Parameters
name
string
Required - Name of plugin.
section
string
Required - Section object to remove.
muteEvent
boolean
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
name
string
Required - Name of plugin
channel
string
Required - Name of channel
setAsMainChannel
boolean
Required - Set this channel as main channel
removeChannel(name, channel, muteEvent)
Removes .
Throws:
Error
Parameters
name
string
Required - Name of plugin
channel
string
Required - Name of channel
muteEvent
boolean
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
name
string
pubStatus
object
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
name
string
Required - Plugin name
pubStart
object
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
name
getPubStop()⇒ object
object
Get pubStop
setPubStop(name, pubStop)
Set pubStop.
Parameters
name
string
pubStop
object
removePubStop(name)
Remove the node for pubStop.
Parameters
name
string
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
content
string
Required - String content of editorial note
getNewspilotArticleId()⇒ *
*
Get Newspilot article id (if any).
getAuthors()⇒ *
*
Get all author links in itemMeta links
getCreator()⇒ object
object
Get the NavigaID user who created the article
Returns: object
- Normalized USER with linked Organisation and unit
getUpdater()⇒ object
object
Get the NavigaID user who last updated the article
Returns: object
- Normalized USER with linked Organisation and unit
getSharedWith()⇒ object
object
Get NavigaID organisation and linked unit(s) that the article is shared with
Returns: object
- Normalized USER with linked Organisation and unit
removeAuthorByUUID(name, uuid)
Remove an author from newsItem.
Throws:
NotFoundError
When no node is found by provided UUID the NotFoundError is thrown
Parameters
name
string
Required - Name of the plugin
uuid
string
Required - The UUID of the author to be deleted
addAuthor(name, author)
Add an known author with a specified uuid to the newsItem
Parameters
name
string
Required - Plugin name
author
object
Required - Author object with the properties name and uuid
addSimpleAuthor(name, author)
Add an simple/unknown author to the newsItem
Parameters
name
string
Required - Plugin name
author
object
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
name
string
Required - Plugin name
uuid
string
Required - The uuid for the author in the newsItem
author
object
Required - Object containing name and, optional, fields (see above)
updateConcept(name, conceptObject, propertyMap, triggerDocumentChanged)
Update existing concept link with new data
Parameters
name
string
Required -
conceptObject
object
Required -
propertyMap
object
Required -
triggerDocumentChanged
boolean
true
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
relation
string
conceptObject
object
conceptNode
object
propertyMap
object
updateConceptData(conceptObject, conceptNode)
Update a concept links data node
Parameters
conceptObject
object
conceptNode
object
createExtendedGeoLink(relatedGeoPolygons)
Attach link with related-geo data to article meta
Parameters
relatedGeoPolygons
object
removeAuthorByTitle(name, authorName)
Remove an author from newsItem
Throws:
NotFoundError
When no node is found by provided authorName the NotFoundError is thrown
Parameters
name
string
Required - Name of the plugin
authorName
string
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
name
Required - Plugin name
types
array
Required - Types of links to select
subject
string
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
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
name
string
Required - The name of the plugin
tag
object
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
name
string
Required - The name of the plugin
uuid
string
Required - The UUID of the link element
tag
object
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
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
name
string
Required - The name of the plugin calling the method
uri
string
Required - The URI of the link to be removed
removeAllLinksByType(name, type)
Removes all links in itemMeta links by providing a type
Parameters
name
string
Required - of the plugin calling the method
type
string
Required - of the links to be removed
removeLinkByUUIDAndRel(name, uuid, rel)
Remove a link from itemMeta links section by type and rel attributes
Parameters
name
string
uuid
string
rel
string
removeLinkContentMetaByTypeAndRel(name, type, rel)
Deprecated
Remove a link from contentMeta links section by type and rel attributes
Parameters
name
string
type
string
rel
string
removeLinkContentMetaByTypeAndMatchingFilter(name, type, filter)
Deprecated
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
name
string
Required - The name of the plugin performing the remove.
type
string
Required - The link type that should be part of removal
filter
function
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
name
Required - Plugin name calling function
location
Required - The location in JSON containing
Example
updateLocation(name, location)
Update a location
Throws:
Error
Parameters
name
string
Required - Name of plugin
location
object
Required - The location in JSON
getLocations(entity, strict)⇒ 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
entity
string
Required - Optional entity specification, either "all", "position" or "polygon"
strict
boolean
true
Required - Optional flag, if links without geo data should be excluded or not, defaults to true
addLink(name, link, triggerDocumentChanged)
Adds a link to itemMeta links section
Parameters
name
string
Required - The name of the plugin adding the link
link
object
Required - Uses jxon.unbuild to transform JSON to XML. Make sure to use @ property names for attributes.
triggerDocumentChanged
boolean
true
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
name
string
Required - The name of the plugin that is triggering the change
link
object
Required - a link object with a valid uuid and valid rel
Example
addContentMetaLink(name, link)
Deprecated
Adds a link to contentMeta links section
Parameters
name
string
Required - The name of the plugin adding the link
link
object
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
name
string
type
string
rel
string
getLinkByType(name, type)⇒ array
array
Retrieve links from itemMeta section by specified type
Returns: array
- Return array of links transformed to JSON
Parameters
name
string
Required - Name of the plugin
type
string
Required - The link type
getContentMetaLinkByType(name, type)⇒ array
array
Deprecated
Get links in contentMeta links section by specified type
Returns: array
- Return array of links transformed to JSON
Parameters
name
string
Required - Name of the plugin
type
string
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
name
story
Example
updateStory(name, story)
Updates title on existing story
Throws:
NotFoundError
Parameters
name
string
Required - Plugin name
story
object
Required - A story object that atleast contains title and uuid
Example
addConceptProfile(name, contentprofile)
Deprecated
Adds a content-profile link to NewsItem
Parameters
name
string
Required - Name of the plugin
contentprofile
object
Required - A contentprofile object containing uuid and title
Example
addContentProfile(name, contentprofile)
Adds a content-profile link to NewsItem
Parameters
name
string
Required - Name of the plugin
contentprofile
object
Required - A contentprofile object containing uuid and title
Example
addCategory(name, category)
Adds a category link to NewsItem
Parameters
name
string
Required - Name of the plugin
category
object
Required - A category object containing uuid and title
Example
updateConceptProfile()
Deprecated
Use updateContentProfile instead.
Example
updateContentProfile(name, contentprofile)
Updates title on existing story
Parameters
name
string
Required - Plugin name
contentprofile
object
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
sectionName
string
Required - Either 'itemMeta' or 'contentMeta'
type
string
Required -
raw
boolean
false
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
name
string
Required - Identifier of caller
sectionName
string
Required - Either 'itemMeta' or 'contentMeta'
type
string
Required - Type string
value
string
Required - Value
deleteExtProperty(name, sectionName, type)
Delete a specified itemMetaExtProperty or contentMetaExtProperty
Parameters
name
string
Required - Identifier of caller
sectionName
string
Required - Either 'itemMeta' or 'contentMeta'
type
string
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
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
name
string
Required - Identifier of caller
value
bool
Required - True or false
getContentMetaObjectsByType(objectType)⇒ Array
Array
Deprecated
Retrieve objects from contentmeta.medata section based on type.
Returns: Array
- Array of objects in jxon format
Parameters
objectType
string
Required - The type of object
getContentMetaObjectById(id)⇒ Object
Object
Deprecated
Retrieve object from contentmeta.medata section based on id.
Returns: Object
- Object in jxon format
Parameters
id
string
Required - The id of object
setContentMetaObject(name, jxonObject)
Deprecated
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
name
string
Required - Name of the plugin making the call
jxonObject
Object
Required - The jxon encoded object
Example
Example (Results in)
removeContentMetaObject(name, id)
Deprecated
Remove a specific object identied by id from the contentmeta.metadata section. Triggers a document:changed event.
Parameters
name
string
Required - Name of the plugin making the call
id
string
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()⇒ *
*
Deprecated
Get content created date. Resides in newsItem > contentMeta block. If no content created date was found, null is returned.
getContentModified()⇒ *
*
Deprecated
Get content modified date. Resides in newsItem > contentMeta block. If no content modified date was found, null is returned.