72 lines
2.0 KiB
PHP
72 lines
2.0 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @file classes/plugins/IPKPDoiRegistrationAgency.php
|
|
*
|
|
* Copyright (c) 2014-2021 Simon Fraser University
|
|
* Copyright (c) 2003-2021 John Willinsky
|
|
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
|
*
|
|
* @class IPKPDoiRegistrationAgency
|
|
*
|
|
* @ingroup plugins
|
|
*
|
|
* @brief Interface that registration agency plugins must implement to support DOI registrations.
|
|
*/
|
|
|
|
namespace PKP\plugins;
|
|
|
|
use PKP\context\Context;
|
|
use PKP\doi\RegistrationAgencySettings;
|
|
|
|
interface IPKPDoiRegistrationAgency
|
|
{
|
|
/**
|
|
* Includes plugin in list of configurable registration agencies for DOI depositing functionality
|
|
*
|
|
* @param string $hookName DoiSettingsForm::setEnabledRegistrationAgencies
|
|
* @param array $args [
|
|
*
|
|
* @option $enabledRegistrationAgencies array
|
|
* ]
|
|
*/
|
|
public function addAsRegistrationAgencyOption(string $hookName, array $args);
|
|
|
|
/**
|
|
* Checks if plugin meets registration agency-specific requirements for being active and handling deposits
|
|
*
|
|
*/
|
|
public function isPluginConfigured(Context $context): bool;
|
|
|
|
/**
|
|
* Get configured registration agency display name for use in DOI management pages
|
|
*
|
|
*/
|
|
public function getRegistrationAgencyName(): string;
|
|
|
|
/**
|
|
* Get key for retrieving error message if one exists on DOI object
|
|
*
|
|
*/
|
|
public function getErrorMessageKey(): ?string;
|
|
|
|
/**
|
|
* Get key for retrieving registered message if one exists on DOI object
|
|
*
|
|
*/
|
|
public function getRegisteredMessageKey(): ?string;
|
|
|
|
/**
|
|
* Get settings management object. Handles saving and validating of form fields.
|
|
*
|
|
*/
|
|
public function getSettingsObject(): RegistrationAgencySettings;
|
|
|
|
/**
|
|
* Get an array of which types of pub objects are allowed to have DOIs assigned.
|
|
* Should be composed of Repo::doi()::TYPE_* constants.
|
|
* This will only dictate which pub object types are enabled and will not delete already assigned DOIs.
|
|
*/
|
|
public function getAllowedDoiTypes(): array;
|
|
}
|