Authoring Marketplace Elements
This guide is designed to show you how to author your own Marketplace Elements for private use.
Element Types
Solution Template with Github/Azure Devops Repository
Solution templates are self-contained project contains all files scripts & services for your solution to be deployed. You can use it to build custom Application or Product Connector, manage your code source cleanly and deploy them automatically to West Connectivity.
Follow the Connectivity Template guide & Create a new Marketplace Element from it.
OpenAPI Integration Service
Integration services are external API interfaces connected to West Connectivity and made available in West Connectivity's Solution Scripting environment.
West Connectivity follows the spirit of open APIs and uses the Swagger API development framework as the scaffold for the OpenAPI Integration Service. Swagger is a popular API development framework that uses a set of properties defined in the Swagger Specification, extended by West Connectivity, to describe the interface to another service. West Connectivity's Open API integration service then reads that description file and automatically generates bindings that can be used in West Connectivity's Solution Scripting system. This service is the tool that is responsible for all of the service functions West Connectivity provides in the Scripting environment.
To get started with the OpenAPI Integration Service you will need to be partially familiar with the Swagger Specification and close to the API, or API documentation, of the service that you want to connect to West Connectivity. The process itself is representing the API of the service you would like to connect as a Swagger specification.
As an example service please take a look at this small Dark Sky weather service integration: https://github.com/exosite/darksky_service/blob/master/darksky.yaml. Notice that the service specification has four main sections.
API Information
This Sections includes a summary of the integration along with attendant information about where more information can be found what format and encoding expectations a consumer of this service should expect.
info:
version: "0.2"
title: Dark Sky Weather Service Integration
description: |
## Use Dark Sky to get weather forecasts and historical weather data.
This is a West Connectivity Service integration with
[Dark Sky](https://darksky.net) to allow your West Connectivity solution
to get weather forecasts and historical weather data. [Powered by Dark Sky](https://darksky.net/poweredby/)
contact:
name: West Connectivity Support
email: support@diagnostic.westpharma.com
Service Configuration Parameters
This is a special section West Connectivity extended from Swagger to make service configurations available through the West Connectivity UI. Services like this Dark Sky service need to be configured with an API token in order to function.
x-exosite-config-parameters:
- name: auth_token
description: Dark Sky Authentication Token
type: string
format: password
required: true
Paths
This is the real body of the service specification where the endpoints of the Dark Sky service are defined and combined into a West Connectivity solution scripting environment operation.
paths:
/{auth_token}/{lat_and_long_or_time}:
> parameters:
get:
tags:
- calls
operationId: forecast
summary: Make a request to Dark Sky
description: Fetch a weather forecast or get historical weather data based of input latitude and longitude
x-exosite-example:
--#ENDPOINT GET /darksky/weather
weather_data = Darksky.forecast({lat_and_long_or_time = '44.977753,93.265011'})
> parameters:
Definitions
The definitions section can be used by reference objects in order re-use specification code. If elements of the spec are copied and pasted more than once, they can be set here and reused.
The greatest detail about all these sections can be read in the Swagger Specification.
Access to create new or extend additional services is currently only available to authorized accounts. If you want to learn more, or want to get started, feel free to contact us.
Authoring a New Marketplace Element
To author a new Marketplace Element, you will need to visit the Marketplace Authoring form and fill out all fields accordingly.
-
Go to the Authoring Form: Access to Your Business, click Marketplace on the left menu, click Manage tab, click PUBLISH NEW ELEMENT
-
Choose Element Type:
-
Solution Template Note: When a Solution Template(Application/Connector) type is chosen, a public GitHub repo URL is required.
-
Service Template Note: When an Service Template type is chosen, a URL linking to a .YAML or .YML configuration file is required. If you are linking to a .YAML in GitHub, choose "raw" before copying the URL. You have the option to directly paste your YAML content by enabling the "Swagger content". For reference on YAML content, please refer to the Service yaml example
-
-
Select an access level: Choose who can see your element.
- Public: Anyone will be able to add and use your element
- Network (Enterprise-only): Only members of businesses in your business network can see and use the element (see Managing Your Business Network for more information)
- Private: Only members of the publishing business can see and use the element
-
Add a Unique Element Name:
-
Short Description: Give a brief overview of the element. As you add your short description, the Live Preview card will be updated on the right.
-
Full Item Description: Provide as much content as necessary to fully detail what the element is and what it provides businesses that choose to use the element.
-
Included Capabilities: Use this area as a high-level bulletpoint explanation of the element.
-
Contact: Provide the desired point-of-contact businesses can use if they need to contact the author of the element.
-
Add To Marketplace: Click PUBLISH to publish your new element. The element will show up in the Catalog, available for selection.
-
Next Steps: After adding the element to Marketplace it will be available in the Marketplace. Browse to the element in the Catalog, and use the "ADD TO SOLUTION" button on the element details page. The newly created element will also be visible in the Manage Tab within the Marketplace. See Adding Marketplace Elements Guide for more details. To share your element with other businesses, please contact support.
Public Marketplace and 3rd Party Publishing
In addition to publishing Elements to a Business Network, users are able to publish Marketplace Elements that are available to the public. While the process of publishing Elements this way remains the same, some additional fields are now required when setting the Element's Access field to "Public".
The additional required fields are Full Item Description, Included Capabilities, and Contact.
Publishing an Element also displays the Business that created it, regardless of the access level the publisher sets. If the Element is made public, the publishing business will be visible to all users and businesses that have access to the Marketplace.
Once an Element is made public, users outside of the publisher's business and network will be able to add and use it within their businesses. See Adding 3rd Party Managed Solutions for more details.