Plugin: Vimeo gatherer

Purpose

Use this plugin to index public content from the Vimeo video platform.

Prepare Vimeo for indexing

Before you start, the following steps must be completed within Vimeo to configure your account for use with the plugin:

  • Register a Vimeo app. See: Register your app

  • Go to My Apps to get your application tokens: Client Identifier and Client Secret. See: My apps

Usage

Enable the plugin

  1. Select Plugins from the side navigation pane and click on the Vimeo gatherer tile.

  2. From the Location section, select the data source to which you would like to enable this plugin from the Select a data source select list.

The plugin will take effect after setup steps and an advanced > full update of the data source has completed.

Configuration settings

The configuration settings section is where you do most of the configuration for your plugin. The settings enable you to control how the plugin behaves.

The configuration key names below are only used if you are configuring this plugin manually. The configuration keys are set in the data source configuration to configure the plugin. When setting the keys manually you need to type in (or copy and paste) the key name and value.

Vimeo client identifier

Configuration key

plugin.vimeo.config.client-identifier

Data type

string

Required

This setting is required

Vimeo app client identifier.

This information can be found in your Vimeo account, on the Vimeo app settings page under general information.

Vimeo User ID

Configuration key

plugin.vimeo.config.user-id

Data type

string

Required

This setting is required

Vimeo user/profile ID.

This information can be found in your Vimeo account, or inferred from your profile page URL.

e.g. If the user profile page URL is https://vimeo.com/exampleuser, then the user ID is exampleuser.

Note: the plugin can only gather public content from a single Vimeo user account.

Vimeo client secrets

Configuration key

plugin.vimeo.encrypted.client-secrets

Data type

Encrypted string

Required

This setting is required

Vimeo app client secrets

This information can be found in your Vimeo account, from the Vimeo app settings page under authentication  manage app secret.

Metadata configuration

Default mappings

Class ID Type JSON fields from Vimeo API Video response

t

text

/json/name

c

text

/json/description

author

text

/json/user/name

d

date

/json/start/release_time

type

text

/json/type

Fields that have default mappings cannot be mapped to other metadata classes. If you require a field to also be mapped to another metadata class it needs to be cloned using the combine / clone metadata plugin.

Manual metadata mapping

Use the metadata mappings editor to configure your metadata mappings.

Available fields will be listed by viewing the available XML fields after you have run an update of your Google Calendar feed.

The -SF query processor option must also be configured on your results page to include these metadata fields in the search response (e.g. -SF=[<LIST OF METADATA CLASSES TO DISPLAY>]).

User mentions and hash-tags

User mentions and hash-tags within Vimeo content can be made searchable by enabling the social tags plugin.

Vimeo video JSON data format

See: API Response - Video for details

The JSON data is processed using the JsonToXml filter. All the fields are available for mapping with the elements being nested beneath a JSON element: /json/, e.g. to map the name field, use the following X-Path when configuring your XML field mapping /json/name

Plugin error handling

Vimeo API OAuth Authorize endpoint will return HTTP Code 401 with Error 8001 if Vimeo does not recognize API application.

Filter chain configuration

This plugin uses filters which are used to apply transformations to the gathered content.

The filters run in sequence and need be set in an order that makes sense. The plugin supplied filter(s) (as indicated in the listing) should be re-ordered to an appropriate point in the sequence.

Changes to the filter order affects the way the data source processes gathered documents. See: document filters documentation.

Filter classes

This plugin supplies a filter that runs in the main document filter chain: JSONToXML

Drag the JSONToXML plugin filter to where you wish it to run in the filter chain sequence.

Examples

The Vimeo API returns a record as.

{
    "uri": "/videos/812067708",
    "name": "First-look product webinar: Component Service EMEA - 2023-03-31 14:17:48",
    "description": "Enable teams to achieve more, faster. Respond quickly to customer needs or market changes by releasing new content, campaigns or updates quicker than ever. Learn how our new Component Service increases speed to market for all of your teams.\\n\\nJoin our webinar for a demo with live Q&A fielded by Hugh Williams, Head of Development EMEA",
    "type": "live",
    "link": "https://vimeo.com/812067708",
    "player_embed_url": "https://player.vimeo.com/video/812067708?h=91a5443e10",
    "duration": 0,
    "width": 640,
    "language": null,
    "height": 360,
    "created_time": "2023-03-31T13:30:03+00:00",
    "modified_time": "2023-04-14T12:12:50+00:00",
    "release_time": "2023-03-31T13:30:03+00:00",
    "user": {
        "uri": "/users/2036375",
        "name": "Squiz",
        "link": "https://vimeo.com/squiz",
        "capabilities": {
        "hasLiveSubscription": true,
        "hasEnterpriseLihp": true,
        "hasSvvTimecodedComments": true,
        "hasSimplifiedEnterpriseAccount": false
        }
    },
    "status": "available",
    "resource_key": "812ff7f584e8432651ceea27a749d5599da1eff3",
    "upload": null,
    "transcode": null,
    "is_playable": true,
    "has_audio": true
}

Funnelback converts this to XML and indexes this record with URL as https://vimeo.com/812067708 and metadata values as:

Class ID Type XML XPath Indexed Value

t

text

/json/name

First-look product webinar: Component Service EMEA - 2023-03-31 14:17:48

c

text

/json/description

Enable teams to achieve more, faster. Respond quickly to customer needs or market changes by releasing new content, campaigns or updates quicker than ever. Learn how our new Component Service increases speed to market for all of your teams.\\n\\nJoin our webinar for a demo with live Q&A fielded by Hugh Williams, Head of Development EMEA

author

text

/json/user/name

Squiz

d

date

/json/start/release_time

2023-03-31T13:30:03+00:00

type

text

/json/type

live

Change log

[1.1.0]

Changed

  • Updated to the latest version plugin framework (Funnelback shared v16.20) to enable integration with the new plugin management dashboard.

  • Updated the setting of Java HttpClient to allow follow redirection