Giter Site home page Giter Site logo

natlibfi / koha-plugin-rest-di Goto Github PK

View Code? Open in Web Editor NEW
9.0 11.0 9.0 268 KB

REST API plugin for Koha to provide additional functionality for discovery interfaces such as VuFind

License: GNU General Public License v3.0

Perl 99.77% Shell 0.23%
koha koha-plugin rest-api rest vufind

koha-plugin-rest-di's Introduction

koha-plugin-rest-di

This is a REST API plugin for Koha. It provides extended API support for Discovery Interfaces such as VuFind.

Note that this plugin requires Koha functionality that is only available from Koha 23.11. Releases for other versions are also available.

Most of the functionality has been ported from the KohaSuomi version of Koha (see https://github.com/KohaSuomi/Koha).

Not all the functionality has been thoroughly tested yet.

See CHANGELOG.md for information about changes in this plugin.

Downloading

You can download the relevant *.kpz file from the release page.

Latest version may not support older Koha versions. Please choose an appropriate version.

Installing

The plugin is installed by uploading the KPZ (Koha Plugin Zip) package of a released version on the Manage Plugins page of the Koha staff interface.

To set up the Koha plugin system you must first make some changes to your install:

  1. Change <enable_plugins>0<enable_plugins> to <enable_plugins>1</enable_plugins> in your koha-conf.xml file.
  2. Confirm that the path to <pluginsdir> exists, is correct, and is writable by the web server.
  3. Restart your webserver.

Once the setup is complete you will need to enable plugins by setting UseKohaPlugins system preference to 'Enable'.

You can upload and configure the plugin on the Administration -> Plugins -> Manage Plugins page.

Required User Permissions

To use all the functionality the plugin provides, the following permissions are needed for the user account used to authenticate for the API:

  • circulate_remaining_permissions
  • catalogue
  • borrowers
    • edit_borrowers
    • view_borrower_infos_from_any_libraries
  • reserveforothers
  • modify_holds_priority
  • place_holds
  • updatecharges
    • payout
    • remaining_permissions

Installing without a KPZ package

If you need to use the plugin without a KPZ package (e.g. to use a version cloned from git):

  1. As above, make sure the plugin system is configured and enabled.
  2. Create the path Koha/Plugin/Fi/KohaSuomi/ under the <pluginsdir>
  3. Symlink the DI.pm file and DI directory to the Koha/Plugin/Fi/KohaSuomi/ directory.
  4. Add data for the plugin to Koha's MySQL database by running Koha's misc/devel/install_plugins.pl script from the command line.

Building a Release

Travis will build the release provided the commit includes a suitable version tag:

  1. git tag -a vX.Y.Z -m "Release X.Y.Z" (Feel free to provide a longer message too, it's displayed on the Releases page)
  2. git push --tags origin main

To manually build a release locally, run ./build.sh.

koha-plugin-rest-di's People

Contributors

aleishaa avatar alexklbuckley avatar eremaijala avatar johannaraisa avatar lmstrand avatar nugged avatar sl18 avatar taskula avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

koha-plugin-rest-di's Issues

Missing descriptions for some holdings columns

Some columns in the response from /api/v1/contrib/kohasuomi/availability/biblios/{biblio_id}/search have descriptions (like collection_code_description, location_description), but holding_library_id, home_library_id, effective_item_type_id. and item_type_id don't have description equivalents.

I suppose one could argue that you can fetch this information from other API endpoints and then provide your own mappings as necessary, but it would be very convenient to have those passed back in the response.

Hold availability is true when it should be false

The scenario is that I've already placed an item level hold on Item A for Record A.

The API response for the "hold" endpoint says that holds are available at the record level and the item level, but if you go into the Koha OPAC, it'll say the following:

At the record level: "You already have at least one item level hold on this title. All further holds must be item level."

At the item level: "This title cannot be requested because you already have hold for this item."

Make this upstream?

Hi, I'm all in to make this into Koha upstream this cycle. Can we talk about it?

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.