This plugin provides a means for OJS to preserve content in the PKP Preservation Network (PKP PN). The plugin checks for new and modified content and provided the PN's terms of use are met, will communicate with the PN's staging server to preserve your published content automatically.
If you need support for older OJS releases, see the available branches.
We recommend installing this plugin using the Plugin Gallery within OJS. Log in
with administrator privileges, navigate to Settings
> Website
> Plugins
, and
choose the Plugin Gallery. Find the PN Plugin
there and install it.
If for some reason, you need to install it manually, there are two ways:
- Download the latest release (attention to the OJS version compatibility)
- Download the code from GitHub (attention to grab the code from the right branch), then run
composer install
at the main plugin folder.After downloading, create the folder
plugins/generic/pln
and place the plugin files in it.Run the command
php lib/pkp/tools/installPluginVersion.php plugins/generic/pln/version.xml
at the main OJS folder, this will ensure the plugin is installed/upgraded properly (e.g. new fields might be added to the database).
After installing and enabling the plugin, you need to access its settings:
Then read and accept all terms of use, and click on the save button:
This plugin is licensed under the GNU General Public License v3. See the file LICENSE for the complete terms of this license.
- OJS 3.5.0 or greater.
- CURL support for PHP.
- ZipArchive support for PHP.
The primary difference between this plugin and the existing LOCKSS preservation mechanism present in OJS is the PN requires no registration or involvement with the network - as long as you agree with the network's terms of use, you can preserve your journal's content.
If you have issues, please use the PKP support forum (https://forum.pkp.sfu.ca/c/questions/5), the issues tracker (https://github.com/pkp/pln/issues) is reserved for triaged issues.
By default, the plugin deposits to https://pkp-pn.lib.sfu.ca. Journal
managers can change the URL on the plugin settings page. The default URL can
also be set in the OJS config.inc.php
file by adding this configuration:
; Change the default Preservation Network URL
[lockss]
pln_url = https://example.com
You will need to clear the data caches after adding or changing this setting.
There is a link to clear the caches at
Site Administration
> Administration
(These instructions are only necessary if you are working with the plugin manually. If you are installing the plugin using the Plugin Gallery, they are not necessary.)
- Clone the repository containing the code.
- Run OJS's
php tools/upgrade.php upgrade
- Execute
composer install
from console, being in the clonedpln
folder. (This process is going to produce avendor
folder containing the depending library.) - Enable the PN plugin
-
The plugin depends on 2 database tables:
pln_deposits
andpln_deposit_objects
. If those tables are not present in your database, it means the plugin wasn't installed properly, refer to the previous sections for help. -
Ensure the plugin is creating daily log files at the
scheduledTaskLogs
folder within the OJS files directory. Files named asPKPPLNDepositorTask-*id*-*datestamp*
should be present. If absent, the task is probably not being executed daily or there might be permission issues to create them. -
Make sure that crontab or web based task scheduler is enabled and properly configured. To configure the crontab in a *nix system, add the following lines to crontab
* * * * * php lib/pkp/tools/scheduler.php run >> /dev/null 2>&1
. To configure the web based task sechdule runner, make sure thattask_runner
is set toOn
in application'sconfig.inc.php
file. -
Every log file should end with an entry like
[*date time*] [Notice] Task process stopped.
. If absent, it means the process has been halted unexpectedly due to errors, check the server/PHP error log for more information. -
If an issue fails to be packaged, try to export it through the Native XML plugin at the
Tools
>Import/Export
, which is supposed to display some hints about what went wrong. -
Whenever something doesn't work as expected, always check the error log for clues. If nothing helps, report your problem in the forum.
- Chris MacDonald chris@fcts.ca
- Michael Joyce ubermichael@gmail.com
- Dimitris Efstathiou defstat@gmail.com