Coder Social home page Coder Social logo

pkp / sword Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kaschioudi/sword

1.0 4.0 9.0 460 KB

Allow Journal Managers and (optionally) Authors to deposit articles via the SWORD protocol

License: GNU General Public License v3.0

PHP 78.49% JavaScript 4.05% Smarty 17.46%
publishing sword atompub

sword's Introduction

SWORD Client Plugin

Allow Journal Managers and (optionally) Authors to deposit articles via the SWORD protocol

Installation

This plugin is best installed using the Plugin Gallery from within Open Journal Systems. Log in as Administrator, navigate to Settings > Website > Plugins, and open the "Plugin Gallery" tab. Find the Sword client plugin listed there and use the Install button to install it.

Configuration

General Settings

  • After successful installation, you have to enable the plugin in generic plugin section.
  • A new tab, Sword Settings will be available next to Website Settings -> plugins
  • After clicking the tab, add a new Deposit point using the Create Deposit Point
  • Add your Service Provider Information there.
    • Name: Customized name
    • Deposit Point URL: Service Document name : Depending on the deposit point type, the URL will either need to be the service document or the deposit point URL. See the documentation on the form about this. e.g.http://demo.dspace.org/swordv2/servicedocument
    • Username: Username
    • Password: Password
    • API Key: Some repository providers may supply you an API key.
    • Type: select your requirement.
  • Save and Exit

Import/Export Plugin

  • Select Sword Plugin in Import/Export Plugins
  • Got to Import/Export Data
  • Select the configured Deposit Point
  • Avaliable Collections will be available under Deposit Point
  • Choose the options either Deposit Galleys / Deposit Most Recent Editorial File or both.
  • Select the articles
  • Click deposit

sword's People

Contributors

asmecher avatar quoideneuf avatar jordilacruz avatar primoz-svetek avatar ckamburov avatar mirkospiroski avatar vormia avatar tigran54 avatar jirrka avatar diegojmacedo avatar ppv1979 avatar bsvvi avatar alexandrafo avatar amirzoian avatar kant avatar neffe avatar nils-stefan-weiher avatar mooselybased avatar drugurkocak avatar carlamarques avatar defstat avatar withanage avatar germanhb avatar heike-r avatar josekarvalho avatar kaschioudi avatar mhvezina avatar mduduman avatar ysn-0711 avatar imagire avatar

Stargazers

 avatar

Watchers

 avatar James Cloos avatar  avatar Esther Jackson avatar

sword's Issues

submodule update fails for swordappv2

This is in the stable-3_1_2 branch.

Right now, a fresh checkout of this plugin generates a fatal "reference is not a tree" error:

user@host ~/sword $ git checkout stable-3_1_2
Branch stable-3_1_2 set up to track remote branch stable-3_1_2 from origin.
Switched to a new branch 'stable-3_1_2'
user@host ~/sword $ git submodule update --init --recursive
Submodule 'libs/swordappv2' (https://github.com/quoideneuf/swordappv2-php-library) registered for path 'libs/swordappv2'
Cloning into 'libs/swordappv2'...
remote: Enumerating objects: 609, done.
remote: Total 609 (delta 0), reused 0 (delta 0), pack-reused 609
Receiving objects: 100% (609/609), 2.27 MiB | 908.00 KiB/s, done.
Resolving deltas: 100% (359/359), done.
Checking connectivity... done.
fatal: reference is not a tree: 4193dc6a79a7b3e4af3b5c877b48543d56a95bd4
Unable to checkout '4193dc6a79a7b3e4af3b5c877b48543d56a95bd4' in submodule path 'libs/swordappv2'

Maybe an unpublished commit in the submodule?

Cheers,
Jason

Plugin can't find version.xml during upgrade

On a PKP|PS journal, the sword plugin is installed. However, during an upgrade from 3.1.1-2 to 3.1.1-4 I noticed that the CLI upgrade process was failing during the [code: Installer Installer::addPluginVersions] section, with:

You are trying to downgrade the product "" from version [3.1.1.2] to version [1.0.0.0]. Downgrades are not supported.

ojs2: You are trying to downgrade the product "" from version [3.1.1.2] to version [1.0.0.0]. Downgrades are not supported.

It appears that the getPluginPath() method for Sword returns an empty string, which means that Installer::addPluginVersions() builds a path to the version.xml file that ends up being "/version.xml"

$versionFile = $plugin->getPluginPath() . '/version.xml';

Removing the sword plugin directory and removing the old entries from the versions table related to it allows the upgrade to proceed to completion.

Installation of plugin schema fails, cannot load dictionary

Hey Alec,

Installing this for a hosted client, running 3.1.0.0. Cloned this via git, and checked out the ojs-stable-3_1_1 branch. Installing via the plugin grid works, with a successful notification and the ability to see the Settings grid action, but the form fails to load. Error log reveals:
[Tue May 28 17:44:51.535825 2019] [proxy_fcgi:error] [pid 28889:tid 47430547867392] [client 47.55.87.210:45556] AH01071: Got error 'PHP message: ojs2: DB Error: Table 'jair-ojs_ojs.deposit_points' doesn't exist\n', referer: https://,,,,,.org/index.php/.../management/settings/website?uid=5ced738ade1f3

And trying to install this via the command line directly generates:

ojs@server ~/....org/www $ php lib/pkp/tools/installPluginVersion.php plugins/generic/sword/version.xml 
Dictionary driver '/var/home/ojs/...org/www/lib/pkp/lib/adodb/datadict/datadict-.inc.php' not available
PHP Fatal error:  Call to a member function SetCharSet() on boolean in /var/home/jair-ojs/jair.org/www/lib/pkp/classes/plugins/Plugin.inc.php on line 643

Description is misleading

The description of the plugin is misleading: "Permits the use of the SWORD protocol to deposit documents from OJS into other systems."

It only works with DSpace repositories, and the code is hardcoded for this repository.

Plugin Improvements

We tried the plugin to implement a process to feed institutional repositories (with DSpace platform) and found some improvements that can be helpfull for the community and in this kind of integrations.

Our suggestion is to include in the metadata export some additional fields that are available in OJS:

  • Issue Date
  • URL of the item (or the DOI if available)
  • ORCID of users
  • Affiliation (separated from the name)
  • Language of the item
  • Document type (based on manual input of the section information)
  • Funding information
  • Keywords

This will improve the integration, minimize the work of data curation and easily allow the compliance with basic guidelines like OpenAIRE.

What is the status of this project?

People seems to be struggling to get this plugin working on stable/supported OJS.

The latest published release only supports up to 3.2.1 and dates back to June 2021.

Can this be clarified on the README?

Isuue on publishing an article

Hi,

On publishing an article, the article is published successfully, however; an error,

An unexpected error occurred. You may have been logged out. Please reload the page and try again.

is shown!

Implement support for Sword discovery mechanism

Currently in order for a user to initiate a SWORD deposit the SWORD endpoint URL must be entered (either to a service document or to a deposit point). However, SWORD supports a discovery mechanism that can help guide users to the right URL:

http://swordapp.github.io/SWORDv2-Profile/SWORDProfile.html#autodiscovery

Implement support for this in the SWORD plugin for OJS.

See also the corresponding implementation proposed for DSpace: DSpace/dspace-angular#1491

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.