Koha-clms/admin
Jake Deery f33638f14b
Bug 35761: Introduce central FTP/SFTP management
This patch adds a central FTP/SFTP management UI, with an associated
database object and class, plus the beginnings of an API. We can use
this code as a building block for adding FTP/SFTP connections to
other parts of the system, as well as to improve the usability of the
EDI transports. It is also now possible to test these connections
from within the Koha UI.

To test:-
You will need access to an FTP or SFTP server
Contact me if you need a disposable FTP/SFTP server

a)  Go to Koha Administration
b)  Notice no FTP/SFTP referenced on this page
c)  APPLY PATCH, reset_all
d)  Create new user, let's say sftpuser
e)  Set permissions for new user to include:
    1)  catalogue
    2)  parameters -> manage_sftp_servers
f)  Log in with this new user, go back to Koha Administration
    1)  Notice the FTP/SFTP servers option
g)  Undo step e2) for the sftpuser via the koha admin user
    1)  Refresh the Koha Administration page as the sftpuser
    2)  Notice how FTP/SFTP servers has disappeared
h)  Back to koha admin, go to Koha Administration -> FTP/SFTP Servers -> New
i)  Complete form depending on the FTP or SFTP server you have access to, Submit
    1)  Notice you are prompted to confirm before saving
j)  Select Edit, observe your details are the same, and Submit again
k)  Repeat step J one additional time
l)  Select Test, observe all tests passing
m)  Select Delete, confirm deletion, and observe server disappear
n)  Optionally, run prove on new tests
    1)  t/Koha/Auth/Permissions.t
    2)  t/db_dependent/Koha/SFTP/Server.t
    3)  t/db_dependent/api/v1/sftp_servers.t
o)  SIGN-OFF

Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-09-19 13:23:11 -06:00
..
searchengine/elasticsearch Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
additional-fields.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
admin-home.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
adveditorshortcuts.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
aqbudgetperiods.pl Bug 39834: Replace some tabs with spaces 2025-06-02 15:26:17 -06:00
aqbudgets.pl Bug 39325: Manual fixes 2025-04-28 18:51:23 +02:00
aqcontract.pl Bug 38010: (QA follow-up) Update routes to include 'acquisition' 2025-05-02 17:19:09 +02:00
aqplan.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
audio_alerts.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
auth_subfields_structure.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
auth_tag_structure.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
authorised_values.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
authtypes.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
background_jobs.pl Bug 40547: Background jobs should appear even when plugins disabled 2025-07-31 12:41:54 -06:00
biblio_framework.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
branch_transfer_limits.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
branches.pl Bug 40734: Fix creating new library with additional fields 2025-09-18 13:52:02 -06:00
cash_registers.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
categories.pl Bug 30301: Update templates 2025-05-19 18:54:30 +02:00
check_budget_parent.pl Bug 39325: Manual fixes 2025-04-28 18:51:23 +02:00
check_parent_total.pl Bug 39325: Automatic fix 2025-04-28 18:51:22 +02:00
checkmarc.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
cities.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
classsources.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
clone-rules.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
columns_settings.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
columns_settings.yml Bug 36135: (follow-up) Fix suspension search and other improvements 2025-09-03 14:00:52 -06:00
credit_types.pl Bug 39177: Add additional fields to credit types 2025-05-15 09:20:49 +02:00
curbside_pickup.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
currency.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
debit_types.pl Bug 38457: Add additional fields to debit display 2025-05-15 09:20:46 +02:00
desks.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
didyoumean.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
edi_accounts.pl Bug 39878: EDIFACT vendor account records sets default port incorrectly for FTP 2025-05-13 18:46:58 +02:00
edi_ean_accounts.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
identity_providers.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
ill_batch_statuses.pl Bug 35581: Illbatchstatus* -> ILL::Batch::Status* 2024-04-22 08:57:42 +02:00
import_export_authtype.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
import_export_framework.pl Bug 39012: Koha fails to import default MARC bibliographic framework 2025-02-21 16:41:14 +01:00
item_circulation_alerts.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
items_search_field.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
items_search_fields.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
itemtypes.pl Bug 20644: (follow-up) Fix swagger description + put "inherit" by default 2025-08-22 07:44:59 -06:00
koha2marclinks.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
library_groups.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
localization.pl Bug 38904: Allow opac translation in admin/localization 2025-03-07 15:41:14 +01:00
marc-overlay-rules.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
marc_order_accounts.pl Bug 39518: Add new field to the UI 2025-04-25 08:46:50 +02:00
marc_subfields_structure.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
marctagstructure.pl Bug 39300: Fix quick edit of subfields 2025-04-10 09:13:14 +02:00
matching-rules.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
oai_servers.pl Bug 37826: Remove the use of the script_name variable where it is unnecessary 2024-12-27 17:33:51 +01:00
oai_set_mappings.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
oai_sets.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
overdrive.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
patron-attr-types.pl Bug 35635: Split mandatory field into mandatory and opac_mandatory 2025-02-20 17:34:53 +01:00
preferences.pl Bug 36947: (QA follow-up) Fix locale-list to show selected values 2025-07-11 15:26:57 -06:00
record_sources.pl Bug 35919: Add record sources admin page 2024-04-26 17:06:04 +02:00
restrictions.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
search_filters.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
sftp_servers.pl Bug 35761: Introduce central FTP/SFTP management 2025-09-19 13:23:11 -06:00
share_content.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
smart-rules.pl Bug 39540: Add a warning to the circulation rules page if CalcFine is overwritten. 2025-05-20 15:15:32 +02:00
sms_providers.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
smtp_servers.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
sru_modmapping.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
systempreferences.pl Bug 39325: Automatic fix 2025-04-28 18:51:22 +02:00
transfer_limits.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
transport-cost-matrix.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
usage_statistics.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
z3950servers.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00