itemToContent

Function

Convert a Portal item to Hub content

Parameters

Parameter Type Default Notes
item Required IItem

Portal Item

Returns

Hub content

Property Type Notes
identifier string

The preferred identifier to use for Hub URLs. This will be either the slug, hubId, or item id.

isDownloadable boolean

Whether the content is downloadable in the Hub app

item IItem

The underlying portal item referenced by this content

permissions {
control:
AccessControl
groups:
IGroup[]
visibility:
Visibility
}

Content visibility and access control, including groups

publishedDate Date

Date the content was published (formal metadata), defaults to the date the content was created

createdDate Inherited Date

Date the entity was created

createdDateSource Inherited string

Source of the creation date as a property path e.q item.created

id Inherited string

Id of the entity as a string

name Inherited string

Name of the Entity For Entities backed by items, this is typically the title

owner Inherited string

Username of the owner of the item

tags Inherited string[]

User configurable tags

type Inherited string

For Item backed results, this will be item.type Otherwise it will be "Group", "User", "Event" etc

updatedDate Inherited Date

Date when the entity was last updated Depending on the entity, this could be derived in many different ways

updatedDateSource Inherited string

Source of the updated date

additionalResources Optional IHubAdditionalResource[]

links to additional resources specified in the formal item metadata

categories Optional string[]

Parsed item categories (see parseItemCategories)

family Optional HubFamily

The the family of related types that this content belongs to.

hubActions Optional object

Configure which Hub application actions (i.e. create web map) are available for this content

hubId Optional string

The content's ID for use with the Hub API For most content this will be the item's id For layers this will be <itemId>_<layerId> This will be undefined for private items and in enterprise because only public online items are included in the Hub API

isProxied Optional boolean

Whether or not the layer or table is actually a proxied CSV

itemCategories Optional string[]
layer Optional Partial<ILayerDefinition>

Information about the layer referenced by this content (geometryType, fields, etc)

normalizedType Optional string
orgId Optional string
portalApiUrl Optional string

URL of the Portal API endpoint for the resource

portalDataUrl Optional string

URL of the Portal API data endpoint for the resource

portalHomeUrl Optional string

URL of the resource's page in the Portal Home application

publishedDateSource Optional string

Description of the source of the published date

publisher Optional {
isExternal:
boolean
name:
string
nameSource:
PublisherSource
orgId:
string
organization:
string
organizationSource:
PublisherSource
username:
string
}

Info to display about the content's publisher. Follows this fallback pattern:

  1. Formal Item Metadata > Resource > Citation > Contact
  2. Formal Item Metadata > Resource > Contact
  3. Formal Item Metadata > Contact
  4. Item’s Owner and Org Name
  5. Undefined (Item Owner / Org are private and we can't access additional info)
slug Optional string

Slug that can be used to lookup an entity by something other than it's id

structuredLicense Optional IStructuredLicense

The content's structured license info

updateFrequency Optional string

Frequency at which the content is updated

viewDefinition Optional {
definitionExpression:
string
}

definition for content that refers to a client-side layer view

boundary Optional Inherited IHubGeography

boundary will default to the item extent but can be overwritten by enrichments from the Hub API (inline) or fetched from a location such as /resources/boundary.json

culture Optional Inherited string

Culture code of the content i.e. en-us

data Optional Inherited [key: string]: any

The portal item's data (if any)

description Optional Inherited string

Description for the item

errors Optional Inherited IEnrichmentErrorInfo[]

Any errors encountered when fetching enrichments see https://github.com/ArcGIS/hub-indexer/blob/master/docs/errors.md#response-formatting-for-errors

groupIds Optional Inherited string[]

The ids of any groups that the item belongs to

layers Optional Inherited Array<Partial<ILayerDefinition>>

Detailed information about the service's layers (geometryType, fields, etc) for related layers in the service

metadata Optional Inherited any

The content's formal metadata

org Optional Inherited Partial<IPortal>

The owner's organization (portal) details (id, name, extent, etc)

ownerUser Optional Inherited IUser

The user that owns the item

recordCount Optional Inherited number | null

The count of records for the layer referenced by this content

server Optional Inherited Partial<IFeatureServiceDefinition>

Information about the service referenced by this content (currentVersion, capabilities, maxRecordCount etc)

source Optional Inherited string

Source of the entity. Exact logic for this tbd, but the intent is to allow the result to be attributed to something other than "owner"

statistics Optional Inherited any
summary Optional Inherited string

Sanitized summary derived from item.snippet, item.description, group.description, user.description, event.description etc

thumbnailUrl Optional Inherited string

Thumbnail Uril (read-only)

typeKeywords Optional Inherited string[]

System configurable typekeywords

url Optional Inherited string

Canonical Url for the Entity


Function defined in common/src/content/index.ts:181