koop-provider-knowledge

0.3.0 • Public • Published

Koop Provider for ArcGIS Knowledge Server

This is a Koop provider that transforms ArcGIS Knowledge Server graph entity data into GeoJSON Feature Collections by entity type. Common usage would be to use the Koop Geoservices output plugin to reflect the entity GeoJSON Feature Collections as an ArcGIS Server Feature Service with layers (contains geometry) and tables.

Requirements

To support ArcGIS Enterprise authentication token pass through, the following Koop Output plugins are required

Install using Koop CLI

  1. Install the Koop CLI
  2. Create an application
    koop new app demo-app
    cd demo-app
    
  3. Add the Koop Provider for ArcGIS Knowledge Server
    koop add provider koop-provider-knowledge
    
  4. Configure the Provider in the Koop Config
  5. Start Koop
    koop serve
    

Use in a Koop Application

  1. Install the provider
    npm install koop-provider-knowledge
    
  2. Add Provider to the application
    const knowledgeProvider = require('koop-provider-knowledge')
    koop.register(knowledgeProvider)

Configure the Provider

AuthInfo for ArcGIS Enterprise Security Configuration

Adding an authInfo object to the koop config will allow a token service url to be specified so that clients can directly get a token from ArcGIS Enterprise. This is the recommended configuration to use the ArcGIS Knowledge Koop Provider. This is a feature of the Koop Geoservices Output Plugin v3.1.0+

{
	"authInfo":{
		"isTokenBasedSecurity" : true,
		"tokenServicesUrl" : "<token url>"
	  }
}

Example

{
	"port": 8080,
	"authInfo":{
		"isTokenBasedSecurity" : true,
		"tokenServicesUrl" : "https://myserver.domain.com/portal/sharing/rest/generateToken"
	  },
      "provider-knowledge":{
          ...
      }
}

Configure Services for Knowledge Provider

Named ArcGIS Knowledge Services are added to the koop configuration, while not recommended a token can be specified. This token will need to be a long lived token and updated by an administrator.

{
	"provider-knowledge": {
		"sources": {
			"<key>": {
				"url": "<url>",
                "token": "<token>" // not recommended
			}
		}
	}
}

Examples with and without token

{
	"port": 8080,
	"authInfo":{
		...
	  },
	"provider-knowledge": {
		"sources": {
			"MyKnowledgeService": {
				"url": "https://myserver.domain.com/server/rest/services/Hosted/MyKnowledgeService/KnowledgeGraphServer"
			},
            "MyKnowledgeServiceWithToken": {
				"url": "https://myserver.domain.com/server/rest/services/Hosted/MyKnowledgeService/KnowledgeGraphServer",
                "token": "<Token Generated from ArcGIS Enterprise>"
			}
		}
	}
}

The following is a sample configuration file showing most capabilities in the recommended configuration, if using the Koop CLI look under config/default.json

{
	"port": 8080,
	"authInfo":{
		"isTokenBasedSecurity" : true,
		"tokenServicesUrl" : "https://myserver.domain.com/portal/sharing/rest/generateToken"
	  },
	"provider-knowledge": {
		"sources": {
			"MyKnowledgeService": {
				"url": "https://myserver.domain.com/server/rest/services/Hosted/MyKnowledgeService/KnowledgeGraphServer"
			}
		}
	}
}

Readme

Keywords

none

Package Sidebar

Install

npm i koop-provider-knowledge

Weekly Downloads

0

Version

0.3.0

License

ISC

Unpacked Size

1.46 MB

Total Files

12

Last publish

Collaborators

  • rsjones