Skip to main content

Class: OrcidLinkingPlugin

Defined in: src/plugins/builtin/orcid-linking.ts:152

ORCID linking plugin.

Remarks​

Automatically verifies author ORCID identifiers when eprints are indexed or when authors link their ORCID accounts.

Example​

const plugin = new OrcidLinkingPlugin();
await manager.loadBuiltinPlugin(plugin);

Extends​

Constructors​

new OrcidLinkingPlugin()​

new OrcidLinkingPlugin(): OrcidLinkingPlugin

Returns​

OrcidLinkingPlugin

Inherited from​

BasePlugin.constructor

Properties​

cache​

protected cache: ICacheProvider

Defined in: src/plugins/builtin/base-plugin.ts:88

Cache provider (available after initialization).

Inherited from​

BasePlugin.cache


context​

protected context: IPluginContext

Defined in: src/plugins/builtin/base-plugin.ts:78

Plugin context (available after initialization).

Inherited from​

BasePlugin.context


id​

readonly id: "pub.chive.plugin.orcid" = 'pub.chive.plugin.orcid'

Defined in: src/plugins/builtin/orcid-linking.ts:156

Plugin ID.

Overrides​

BasePlugin.id


logger​

protected logger: ILogger

Defined in: src/plugins/builtin/base-plugin.ts:83

Logger instance (available after initialization).

Inherited from​

BasePlugin.logger


manifest​

readonly manifest: IPluginManifest

Defined in: src/plugins/builtin/orcid-linking.ts:161

Plugin manifest.

Overrides​

BasePlugin.manifest


metrics​

protected metrics: IMetrics

Defined in: src/plugins/builtin/base-plugin.ts:93

Metrics provider (available after initialization).

Inherited from​

BasePlugin.metrics

Methods​

fetchOrcidProfile()​

fetchOrcidProfile(orcid): Promise<OrcidProfile>

Defined in: src/plugins/builtin/orcid-linking.ts:366

Fetches an ORCID profile.

Parameters​

orcid​

string

ORCID identifier

Returns​

Promise<OrcidProfile>

ORCID profile

Throws​

Error if invalid ORCID or fetch fails


getConfig()​

protected getConfig<T>(key): undefined | T

Defined in: src/plugins/builtin/base-plugin.ts:226

Gets a configuration value with type safety.

Type Parameters​

• T

Parameters​

key​

string

Configuration key

Returns​

undefined | T

Configuration value or undefined

Example​

const apiKey = this.getConfig<string>('apiKey');

Inherited from​

BasePlugin.getConfig


getRequiredConfig()​

protected getRequiredConfig<T>(key): T

Defined in: src/plugins/builtin/base-plugin.ts:242

Gets a required configuration value.

Type Parameters​

• T

Parameters​

key​

string

Configuration key

Returns​

T

Configuration value

Throws​

Error if key not found

Example​

const apiKey = this.getRequiredConfig<string>('apiKey');

Inherited from​

BasePlugin.getRequiredConfig


getState()​

getState(): PluginState

Defined in: src/plugins/builtin/base-plugin.ts:162

Gets current plugin state.

Returns​

PluginState

Current lifecycle state

Inherited from​

BasePlugin.getState


initialize()​

initialize(context): Promise<void>

Defined in: src/plugins/builtin/base-plugin.ts:111

Initializes the plugin.

Parameters​

context​

IPluginContext

Plugin context with injected dependencies

Returns​

Promise<void>

Remarks​

Sets up context and calls onInitialize(). Subclasses should override onInitialize() instead of this method.

Inherited from​

BasePlugin.initialize


isValidOrcid()​

isValidOrcid(orcid): boolean

Defined in: src/plugins/builtin/orcid-linking.ts:445

Validates an ORCID identifier format.

Parameters​

orcid​

string

ORCID to validate

Returns​

boolean

True if valid format

Example​

isValidOrcid('0000-0001-2345-6789'); // true
isValidOrcid('0000-0001-2345-678X'); // true (X is valid checksum)
isValidOrcid('1234-5678'); // false (wrong format)

onInitialize()​

protected onInitialize(): Promise<void>

Defined in: src/plugins/builtin/orcid-linking.ts:203

Initializes the plugin.

Returns​

Promise<void>

Overrides​

BasePlugin.onInitialize


onShutdown()​

protected onShutdown(): Promise<void>

Defined in: src/plugins/builtin/base-plugin.ts:211

Override in subclass for shutdown logic.

Returns​

Promise<void>

Remarks​

Called during shutdown(). Use this to:

  • Save state
  • Close connections
  • Clean up resources

Default implementation does nothing.

Example​

protected async onShutdown(): Promise<void> {
await this.saveState();
this.connection?.close();
}

Inherited from​

BasePlugin.onShutdown


recordCounter()​

protected recordCounter(name, labels?, value?): void

Defined in: src/plugins/builtin/base-plugin.ts:257

Records a counter metric.

Parameters​

name​

string

Metric name

labels?​

Record<string, string>

Optional labels

value?​

number

Optional increment value (default 1)

Returns​

void

Inherited from​

BasePlugin.recordCounter


recordGauge()​

protected recordGauge(name, value, labels?): void

Defined in: src/plugins/builtin/base-plugin.ts:268

Records a gauge metric.

Parameters​

name​

string

Metric name

value​

number

Gauge value

labels?​

Record<string, string>

Optional labels

Returns​

void

Inherited from​

BasePlugin.recordGauge


searchAuthors()​

searchAuthors(query, options?): Promise<readonly OrcidSearchResult[]>

Defined in: src/plugins/builtin/orcid-linking.ts:284

Searches for ORCID profiles by name.

Parameters​

query​

string

Search query (name)

options?​

Search options

limit​

number

Returns​

Promise<readonly OrcidSearchResult[]>

Matching ORCID profiles


shutdown()​

shutdown(): Promise<void>

Defined in: src/plugins/builtin/base-plugin.ts:142

Shuts down the plugin.

Returns​

Promise<void>

Remarks​

Calls onShutdown() and updates state. Subclasses should override onShutdown() instead of this method.

Inherited from​

BasePlugin.shutdown


startTimer()​

protected startTimer(name, labels?): () => void

Defined in: src/plugins/builtin/base-plugin.ts:286

Starts a timer for histogram metrics.

Parameters​

name​

string

Metric name

labels?​

Record<string, string>

Optional labels

Returns​

Function

Function to call when operation completes

Returns​

void

Example​

const endTimer = this.startTimer('api_request');
await this.fetchData();
endTimer(); // Records duration

Inherited from​

BasePlugin.startTimer