GitHub - mjordan/islandora_workbench: A command-line tool for managing content in an Islandora 8 repository Skip to content Sign up Why GitHub? Features → Mobile → Actions → Codespaces → Packages → Security → Code review → Issues → Integrations → GitHub Sponsors → Customer stories→ Team Enterprise Explore Explore GitHub → Learn and contribute Topics → Collections → Trending → Learning Lab → Open source guides → Connect with others The ReadME Project → Events → Community forum → GitHub Education → GitHub Stars program → Marketplace Pricing Plans → Compare plans → Contact Sales → Education → In this repository All GitHub ↵ Jump to ↵ No suggested jump to results In this repository All GitHub ↵ Jump to ↵ In this user All GitHub ↵ Jump to ↵ In this repository All GitHub ↵ Jump to ↵ Sign in Sign up {{ message }} mjordan / islandora_workbench Notifications Star 14 Fork 15 A command-line tool for managing content in an Islandora 8 repository Unlicense License 14 stars 15 forks Star Notifications Code Issues 83 Pull requests 2 Actions Projects 2 Wiki Security Insights More Code Issues Pull requests Actions Projects Wiki Security Insights main Switch branches/tags Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 3 branches 0 tags Code Clone HTTPS GitHub CLI Use Git or checkout with SVN using the web URL. Work fast with our official CLI. Learn more. Open with GitHub Desktop Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching Xcode If nothing happens, download Xcode and try again. Go back Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit   Git stats 634 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github     docs/images     input_data     scripts     tests     .gitignore     LICENSE     README.md     add_media.yml     autogen_content.yml     create.yml     create_from_files.yml     delete.yml     delete_media.yml     entity_post_task.yml     google_spreadsheet.yml     setup.py     update.yml     workbench     workbench_fields.py     workbench_utils.py     View code Islandora Workbench Features Documentation Post-merge hook script Current maintainer Contributing Contributing to documentation License README.md Islandora Workbench A command-line tool that allows creation, updating, and deletion of Islandora content from CSV data. Islandora Workbench is an alternative to using Drupal's built-in Migrate tools for ingesting Islandora content from CSV files. Unlike the Migrate tools, Islandora Workbench can be run anywhere - it does not need to run on the Islandora server. The Migrate tools, however, are much more flexible than Islandora Workbench, and can be extended using plugins in ways that Workbench cannot. Note that this tool is not related in any way to the Drupal contrib module called Workbench. Features Allows creation of Islandora nodes and media, updating of nodes, and deletion of nodes and media from CSV files Allows creation of paged/compound content Can run from anywhere - it communicates with Drupal via HTTP interfaces Provides robust data validation functionality Supports a variety of Drupal entity field types (text, integer, term reference, typed relation, geolocation) Can provide a CSV file template based on Drupal content type Can use a Google Sheet or an Excel file instead of a local CSV file as input Allows assignment of Drupal vocabulary terms using term IDs, term names, or term URIs Allows creation of new taxonomy terms from CSV field data Allows the assignment of URL aliases Allows adding alt text to images Supports transmission fixity auditing for media files Cross platform (written in Python, tested on Linux, Mac, and Windows) Well tested Well documented Provides both sensible default configuration values and rich configuation options for power users A companion project under development, Islandora Workbench Desktop, will add a graphical user interface that enables users not familiar or comfortable with the command line to use Workbench. Documentation Complete documentation is available. Post-merge hook script Islandora Workbench requires the Islandora Workbench Integration Drupal module, and it is important to keep Workbench and the Integration module in sync. When you pull in updates to this git repo, the following script will check the repo's log and if it finds the word "module" in the commit message of the last three commits, it will print the message "NOTE: Make sure you are running the latest version of the Islandora Workbench Integration module." This script will also tell you if you need to run Python's setup.py script to install newly added libraries. #!/bin/sh # # Git hook script that notifies you to update the Islandora Worbench Integration # module if the last 3 commit messsages contain the word 'module.' Also notifies # you if you need to run setup.py to install newly added libraries. # # To enable this hook, place create a file in your .git/hooks directory named 'post-merge'. if git log -n3 --format=format:"%s" | grep -qi module; then echo "NOTE: Make sure you are running the latest version of the Islandora Workbench Integration module." fi if git log -n3 --format=format:"%s" | grep -qi setup; then echo "NOTE: You need to run 'python3 setup.py install' to install some newly added Python libraries." fi To use this reminder, place the script above at islandora_workbench/.git/hooks/post-merge and make it executable (i.e., chmod +x post-merge). Current maintainer Mark Jordan Contributing Bug reports, improvements, feature requests, and PRs welcome. Before you open a pull request, please open an issue. If you open a PR, please check your code with pycodestyle: pycodestyle --show-source --show-pep8 --ignore=E402,W504 --max-line-length=200 . Also provide tests where applicable. Tests in Workbench fall into two categories: Unit tests (that do not require Islandora) which are all in tests/unit_tests.py and can be run with python3 tests/unit_tests.py Unit tests on Workbench's Drupal fields handlers (these also does not require Islandora) are in tests/field_tests.py and can be run with python3 tests/field_tests.py Integration tests that require a live Islandora instance running at http://localhost:8000, which are all in tests/islandora_tests.py and can be run with python3 tests/islandora_tests.py The Islandora Playbook is recommended way to deploy the Islandora used in these tests. Note that if an Islandora integration test fails, nodes and taxonomy terms created by the test before it fails may not be removed from Islandora. Some integration and field tests output text that beings with "Error:." This is normal, it's the text that Workbench outputs when it finds something wrong (which is probably what the test is testing). Successful test (whether they test for success or failure) runs will exit with "OK". If you can figure out how to suppress this output, please visit this issue. If you want to run the tests within a specific class in one of these files, include the class name like this: python3 tests/unit_tests.py TestCompareStings Contributing to documentation Contributions to Islandora Workbench's documentation are welcome. If you have a suggestion for improving the documentation, please open an issue on this repository's queue and tag your issue "documentation". License About A command-line tool for managing content in an Islandora 8 repository Resources Readme License Unlicense License Releases No releases published Packages 0 No packages published Contributors 5 Languages Python 100.0% © 2021 GitHub, Inc. Terms Privacy Security Status Docs Contact GitHub Pricing API Training Blog About You can’t perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.