PWA for generating and validating standard imports for museum-digital https://csvxml.imports.museum-digital.org/
Go to file
2024-11-28 09:35:51 +01:00
classes Update git submodules 2024-11-28 09:35:51 +01:00
functions Clean up outdated scripts 2022-11-07 00:33:24 +01:00
inc Add field to cover tag relations (tag_relation_type) 2023-05-14 17:06:49 +02:00
l10n Update git submodules 2024-11-28 09:35:51 +01:00
public Add fields for new event types 2024-08-07 23:37:39 +02:00
scripts Add missing notes fields: negative_id, handling_recommendations, ... 2023-01-25 15:45:36 +01:00
src Add fields for new event types 2024-08-07 23:37:39 +02:00
tests Move on to a fully pre-compiled setup 2022-11-07 02:57:34 +01:00
.git.template Add git template 2019-11-11 12:19:34 +01:00
.gitattributes Add .gitattributes 2020-11-03 21:28:15 +01:00
.gitignore Copy directory /commonservies here for now 2020-11-15 06:30:48 +01:00
.gitmodules Move csvxml translations to a separate git submodule and add help texts 2022-11-18 02:07:03 +01:00
composer.json Update dependencies 2022-11-06 23:24:44 +01:00
favicon.ico Start work on new start page 2019-08-27 00:32:24 +02:00
LICENSE Add license 2022-11-08 01:50:47 +01:00
phpcs.xml Add symlink to phpcs 2024-06-11 13:31:17 +02:00
phpstan-baseline.neon Update phpstan baseline 2023-08-16 22:49:56 +02:00
phpstan.neon Add phpstan baseline 2022-11-17 19:13:13 +01:00
phpunit.xml added todos 2021-05-19 22:33:47 +02:00
README.md Add missing note on deployment in README 2023-06-24 00:58:10 +02:00

Validator for the standard CSV format for imports to museum-digital

The validation and transformation service for import CSV files to an instance of museum-digital is centrally hosted at https://csvxml.imports.museum-digital.org/. This repository contains

a) The statically generated progressive web app that is being served b) The simple static page generator for generating it

CSVXML as a "Format" / Purpose of This Tool

Many smaller museums still do not use a dedicated application for managing their collections. This often leads to the need to import Excel or CSV tables. The format described and validated by the present tool helps museums and administrators who want to import data from such sources to pre-prepare their import data. If the data is not yet recorded, this tool allows the generation of a CSV file with the expected table headings. If an existing CSV file is to be imported, users can rename their table headings to the ones listed in CSVXML and then validate their import data using this application.

Finally, this tool will return a ZIP file containing one XML file per object in the validated CSV file. The application works completely on the client side, meaning that no data is uploaded to the server as the import data is validated. This also allows for offline use.

To-Do

  • Add missing translation files for explanations
    • Translations and explanations for most fields exist in the musdb translation files. They now only need to be entered at the relevant positions in CsvxmlAvailableFields.php.

Deployment

  1. Clone this repository and set up git subrepositories
    • Before doing this, ensure that an alias gitea is available in your SSH config (~/.ssh/config)
  2. Point a web server to serve the /public subdirectory

Development

To update, run scripts/compile.php.

All relevant development files can be found in /src. CsvxmlAvailableFields.php is the central file used for generating one large array defining the allowed table headings / fields and their relevant accompanying data (e.g. explanations).

Dependencies

  • JSZip, dual-licensed under MIT & GPLv3
  • PapaParse, licensed under the MIT license

License

This project is licensed under the AGPL License. See the LICENSE file for the full license text.