Koha Test Wiki Canasta - March 2024
One of a series of test instances for migrating the Koha Wiki MediaWiki database.
For the current Koha Wiki, visit https://wiki.koha-community.org .Illbackends endpoint RFC
Jump to navigation
Jump to search
This RFC is a proposal to create endpoint working with ILL backends Bug 22615
Actions and routes
The following table present the proposed endpoint definitions
| Description | Action | Proposed path |
| List ILL backends | GET |
/ill_backends |
| Get an ILL backend | GET |
/ill_backends/{ill_backend_id}
|
ILL backend object definition
Voted on Development_IRC_meeting_10_April_2019
| Proposed schema |
| ill_backend_id |
| capabilities |
There is question how to represent capabilities, in proposed patch, it is implemented as raw result of $backend->capabilities. You can see how the returned structure looks in this commment: Bug 22615, Comment 5
The structure of capabilities is JSON object, where every possible action is object keyed by action id and with these parameters:
| Name | Description |
| id | Action ID |
| method | ILL backend method |
| name | Human readable name of action |
| next_actions | Array of possible next actions |
| prev_actions | Array of possible previous actions |
| ui_method_icon | Icon class from Font Awesome which should be used in UI |
| ui_method_name | Label of UI element used for triggering this action |
Example:
{
"CANCREQ": {
"id": "CANCREQ",
"method": 0,
"name": "Cancellation requested",
"next_actions": ["KILL", "REQ", "MIG"],
"prev_actions": ["NEW"],
"ui_method_icon": 0,
"ui_method_name": 0
},
"COMP": {
"id": "COMP",
"method": "mark_completed",
"name": "Completed",
"next_actions": [],
"prev_actions": ["REQ"],
"ui_method_icon": "fa-check",
"ui_method_name": "Mark completed"
},
"EDITITEM": {
"id": "EDITITEM",
"method": "edititem",
"name": "Edited item metadata",
"next_actions": [],
"prev_actions": ["NEW"],
"ui_method_icon": "fa-edit",
"ui_method_name": "Edit item metadata"
},
"GENREQ": {
"id": "GENREQ",
"method": "generic_confirm",
"name": "Requested from partners",
"next_actions": ["COMP", "MIG"],
"prev_actions": ["NEW", "REQREV", "MIG"],
"ui_method_icon": "fa-send-o",
"ui_method_name": "Place request with partners"
},
"KILL": {
"id": "KILL",
"method": "delete",
"name": 0,
"next_actions": [],
"prev_actions": ["QUEUED", "REQREV", "NEW", "CANCREQ", "MIG"],
"ui_method_icon": "fa-trash",
"ui_method_name": "Delete request"
},
"MIG": {
"id": "MIG",
"method": "migrate",
"name": "Switched provider",
"next_actions": ["REQ", "GENREQ", "KILL", "MIG"],
"prev_actions": ["NEW", "REQ", "GENREQ", "REQREV", "QUEUED", "CANCREQ", "MIG"],
"ui_method_icon": "fa-search",
"ui_method_name": "Switch provider"
},
"NEW": {
"id": "NEW",
"method": "create",
"name": "New request",
"next_actions": ["REQ", "GENREQ", "KILL", "MIG", "EDITITEM"],
"prev_actions": [],
"ui_method_icon": "fa-plus",
"ui_method_name": "New request"
},
"QUEUED": {
"id": "QUEUED",
"method": 0,
"name": "Queued request",
"next_actions": ["REQ", "KILL", "MIG"],
"prev_actions": [],
"ui_method_icon": 0,
"ui_method_name": 0
},
"REQ": {
"id": "REQ",
"method": "confirm",
"name": "Requested",
"next_actions": ["REQREV", "COMP", "MIG"],
"prev_actions": ["NEW", "REQREV", "QUEUED", "CANCREQ", "MIG"],
"ui_method_icon": "fa-check",
"ui_method_name": "Confirm request"
},
"REQREV": {
"id": "REQREV",
"method": "cancel",
"name": "Request reverted",
"next_actions": ["REQ", "GENREQ", "KILL", "MIG"],
"prev_actions": ["REQ"],
"ui_method_icon": "fa-times",
"ui_method_name": "Revert Request"
}
}