├── .gitattributes
├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── docs-request.md
│ ├── feature_request.md
│ └── use-case.md
├── PULL_REQUEST_TEMPLATE.md
├── actions
│ └── build
│ │ └── action.yml
└── workflows
│ ├── docs-preview.yml
│ ├── docs.yml
│ └── main.yml
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── docs
├── alpaca
│ └── alpaca-technical-stack.md
├── assets
│ ├── Click media.jpg
│ ├── Image option.png
│ ├── Islandora_logo.png
│ ├── adding_a_jwt_rsa_key.png
│ ├── adding_a_search_index.png
│ ├── adding_a_solr_search_server.png
│ ├── advanced_search_advanced_search_block_settings.png
│ ├── advanced_search_contextual_filter_settings.png
│ ├── advanced_search_demo.gif
│ ├── advanced_search_enable_index_hierarchy.png
│ ├── advanced_search_enable_index_hierarchy_processor.png
│ ├── advanced_search_exclude_facet_settings_exclude.png
│ ├── advanced_search_exclude_facet_settings_url_alias.png
│ ├── advanced_search_facet_block_settings.png
│ ├── advanced_search_field_decedent_of.png
│ ├── advanced_search_include_exclude_facets.png
│ ├── advanced_search_include_exclude_facets_settings.png
│ ├── advanced_search_pager_settings.png
│ ├── advanced_search_sort_criteria.png
│ ├── advanced_search_view_advanced_setting.png
│ ├── blocks_collection_block.png
│ ├── blocks_collection_context.png
│ ├── blocks_collection_page_with_block.png
│ ├── blocks_collection_page_without_block.png
│ ├── blocks_config_ui.png
│ ├── blocks_content_above_tabs.png
│ ├── blocks_context_ui.png
│ ├── blocks_devel_menu_in_footer.png
│ ├── blocks_main_content_region.png
│ ├── blocks_no_devel_menu.png
│ ├── blocks_pages_tab_in_block_config_ui.png
│ ├── blocks_placement_page.png
│ ├── blocks_selection_ui.png
│ ├── blocks_still_got_that_ugly_devel_menu.png
│ ├── breadcrumbs-config-screen.png
│ ├── breadcrumbs-example.png
│ ├── claw-chimera.png
│ ├── claw-diagram.png
│ ├── claw.png
│ ├── collections_add_content.png
│ ├── collections_children_tab.png
│ ├── collections_edit_photo_collection.png
│ ├── collections_member_of.png
│ ├── collections_member_of_selected.png
│ ├── collections_parent_node.png
│ ├── collections_repository_item.png
│ ├── collections_select_content_type.png
│ ├── collections_select_model.png
│ ├── collections_snowfall.png
│ ├── configuring_flysystem_to_use_fedora.png
│ ├── configuring_iiif.png
│ ├── configuring_islandora.png
│ ├── configuring_openseadragon.png
│ ├── configuring_standard_solr_connector.png
│ ├── configuring_the_jwt_rsa_key_for_use.png
│ ├── content_types_fieldindisplay.png
│ ├── content_types_fieldsettings.png
│ ├── content_types_managefields.png
│ ├── content_types_managefields_tabs.png
│ ├── content_types_newfield.png
│ ├── content_types_newfieldinform.png
│ ├── context_display_hints.png
│ ├── context_openseadragon_configuration.png
│ ├── context_thank_user_context.png
│ ├── context_thank_user_for_preservation_master.png
│ ├── context_thanks_dsm.png
│ ├── context_thumbnail_file_system.png
│ ├── create_issues_Add_Labels.png
│ ├── create_issues_Describing_Issue.gif
│ ├── create_issues_Issue_Templates.png
│ ├── create_issues_commentbox.jpg
│ ├── create_issues_labels.jpg
│ ├── create_issues_newissue.jpg
│ ├── create_node_add_content.png
│ ├── create_node_add_media.png
│ ├── create_node_adding_image.png
│ ├── create_node_click_media.png
│ ├── create_node_finished_node.png
│ ├── create_node_list_media.png
│ ├── create_node_media_metadata.png
│ ├── create_node_new_node.png
│ ├── create_node_see_derivatives.png
│ ├── create_node_select_image.png
│ ├── create_node_select_model.png
│ ├── create_node_select_repo_item.png
│ ├── create_node_warning_autocomplete.png
│ ├── derivatives-swimlane.png
│ ├── diagram.png
│ ├── docker_bad_gateway_still_loading.png
│ ├── docker_demo_Install_Portainer.gif
│ ├── docker_demo_Install_Sandbox.gif
│ ├── docker_demo_Reinstall_Sandbox.gif
│ ├── docker_demo_Sandbox.png
│ ├── docker_demo_Uninstall_Sandbox.gif
│ ├── docker_drupal_login_screen.png
│ ├── editing-docs-PR.png
│ ├── editing-docs-branch.png
│ ├── editing-docs-button.png
│ ├── editing-docs-gui.png
│ ├── editing-docs-push.png
│ ├── editing_docs_Edit_Button.png
│ ├── facet_on_vocabulary_reference_fields_EDIT_Click.png
│ ├── facet_on_vocabulary_reference_fields_add_fields.png
│ ├── flysystem_derivative_filesystem_setting.png
│ ├── form-collection.jpg
│ ├── frontpage_view_add_filter.png
│ ├── frontpage_view_add_filter_collection.png
│ ├── frontpage_view_add_filter_select_model.png
│ ├── frontpage_view_add_filter_select_model_islandora.png
│ ├── frontpage_view_all_eight.png
│ ├── frontpage_view_collection_list.png
│ ├── frontpage_view_collection_list_block_placement.png
│ ├── frontpage_view_collection_list_details.png
│ ├── frontpage_view_collection_list_info.png
│ ├── frontpage_view_collection_list_place_block.png
│ ├── frontpage_view_collection_list_place_block_configure.png
│ ├── frontpage_view_no_collections.png
│ ├── gettingstarted_add_collection.png
│ ├── gettingstarted_add_content.png
│ ├── gettingstarted_add_islandora_image.png
│ ├── gettingstarted_content.png
│ ├── gettingstarted_permissions.png
│ ├── gettingstarted_roles.png
│ ├── hamburger.png
│ ├── iiif-mirador-paged.png
│ ├── image00.png
│ ├── image01.png
│ ├── image02.png
│ ├── image03.png
│ ├── image04.png
│ ├── image05.png
│ ├── image06.jpg
│ ├── image07.png
│ ├── image08.png
│ ├── image09.png
│ ├── image10.png
│ ├── image11.png
│ ├── image12.png
│ ├── image13.png
│ ├── image14.png
│ ├── install-enable-drupal-modules_drupal_composer_dependencies.png
│ ├── islandora-diagram.png
│ ├── islandora_8_derivatives_sample.png
│ ├── islandora_advanced_search_settings.png
│ ├── media_action_file_path_setting.png
│ ├── media_tab.png
│ ├── media_use_vocabulary_media_form.png
│ ├── members-tab.png
│ ├── metadata_available_relations_config.png
│ ├── metadata_content_type_screenshot.png
│ ├── metadata_edtf_display.png
│ ├── metadata_edtf_field_formatter_gear.png
│ ├── metadata_edtf_field_settings_gear.png
│ ├── metadata_edtf_formatters.png
│ ├── metadata_edtf_invalid.png
│ ├── metadata_edtf_valid.png
│ ├── metadata_edtf_widget_settings.png
│ ├── metadata_entity_reference_config.png
│ ├── metadata_entity_reference_config_vocabs.png
│ ├── metadata_geographic_location_list.png
│ ├── metadata_typed_relation_field.png
│ ├── multilingual-add-lang.jpg
│ ├── multilingual-lang-switcher-location.jpg
│ ├── multilingual-place-lang-switcher-block.jpg
│ ├── multilingual_repository_item_in_drupal.png
│ ├── multilingual_repository_item_in_fedora.png
│ ├── multilingual_repository_item_in_triplestore.png
│ ├── objects_to_resouce_nodes_attributes.jpg
│ ├── osd_collection_mode.png
│ ├── paged_content_batch_upload-2.png
│ ├── paged_content_batch_upload.png
│ ├── paged_content_mirador.png
│ ├── paged_content_reorder_children_button.png
│ ├── paged_content_reorder_children_form.png
│ ├── people_page.png
│ ├── ppa-example.png
│ ├── rdf-pcdm-coll-obj-file.png
│ ├── recipe_alexa.png
│ ├── resource_nodes_display_hints.png
│ ├── resource_nodes_media_tab.png
│ ├── resource_nodes_model_tags.png
│ ├── resource_nodes_pdfjs_context_default.png
│ ├── resource_nodes_pdfjs_context_with_mimetype.png
│ ├── resource_nodes_properties_devel.png
│ ├── resource_nodes_repo_item_edit_form.png
│ ├── resource_nodes_view_mode_context.png
│ ├── rest-file-configuration.png
│ ├── rest-media-configuration.png
│ ├── rest-node-configuration.png
│ ├── search-settings-page.png
│ ├── search-view-format-settings-highlighted.png
│ ├── setting_the_solr_install_directory.png
│ ├── specifying_the_solr_server.png
│ ├── tests_ui.png
│ ├── transcripts-audio.png
│ ├── transcripts-media-track-field.png
│ ├── transcripts-video.png
│ ├── usage_stats_dashboard.jpg
│ ├── user-intro-bento.png
│ ├── user-intro-islandoraburger.png
│ ├── users_people.png
│ ├── users_people_roles.png
│ └── users_permissions.png
├── concepts
│ ├── collection.md
│ ├── derivatives.md
│ ├── node-concepts.md
│ ├── node-media.md
│ ├── rdf.md
│ └── starter-site.md
├── contributing
│ ├── CONTRIBUTING.md
│ ├── committers.md
│ ├── contributing-workflow.md
│ ├── create-issues.md
│ ├── docs-style-guide.md
│ ├── editing-docs.md
│ ├── readme-template.md
│ ├── releasing-islandora.md
│ ├── sandbox.md
│ ├── templates
│ │ ├── closeCommitterVote.txt
│ │ ├── committerAnnounce.txt
│ │ ├── committerInvite.txt
│ │ ├── committerInviteCLA.txt
│ │ └── committerVote.txt
│ └── testing-a-pull-request.md
├── css
│ └── custom.css
├── index.md
├── installation
│ ├── component-overview.md
│ ├── docker
│ │ ├── converting.md
│ │ ├── docker-introduction.md
│ │ ├── docker-prereq.md
│ │ ├── isle-dc
│ │ │ ├── docker-available-commands.md
│ │ │ ├── docker-available-configuration.md
│ │ │ ├── docker-basic-usage.md
│ │ │ ├── docker-custom.md
│ │ │ ├── docker-local.md
│ │ │ ├── docker-maintain-drupal.md
│ │ │ ├── docker-maintain-isle.md
│ │ │ └── docker-troubleshooting.md
│ │ └── site-template
│ │ │ ├── backup.md
│ │ │ ├── containers.md
│ │ │ ├── docker-modifications.md
│ │ │ ├── setup.md
│ │ │ ├── site-template.md
│ │ │ └── updating.md
│ ├── manual
│ │ ├── configuring-drupal.md
│ │ ├── installing-alpaca.md
│ │ ├── installing-composer-drush-and-drupal.md
│ │ ├── installing-crayfish.md
│ │ ├── installing-fedora-syn-and-blazegraph.md
│ │ ├── installing-solr.md
│ │ ├── installing-tomcat-and-cantaloupe.md
│ │ ├── introduction.md
│ │ └── preparing-a-webserver.md
│ ├── playbook.md
│ └── quickstart.md
├── models
│ ├── audio.md
│ └── video.md
├── placeholder.md
├── release_notes
│ └── 8.x-2.0.md
├── technical-documentation
│ ├── adding-format-jsonld.md
│ ├── alpaca-tips.md
│ ├── checking-coding-standards.md
│ ├── diagram.md
│ ├── docs-build.md
│ ├── install-enable-drupal-modules.md
│ ├── migrate-7x.md
│ ├── migrate-csv.md
│ ├── migration-islandora-workbench.md
│ ├── migration-migrate-api.md
│ ├── migration-overview.md
│ ├── migration-rest-api.md
│ ├── ppa-documentation.md
│ ├── resizing-vm.md
│ ├── rest-authorization.md
│ ├── rest-create.md
│ ├── rest-delete.md
│ ├── rest-get.md
│ ├── rest-patch.md
│ ├── rest-signposting.md
│ ├── running-automated-tests.md
│ ├── testing-notes.md
│ ├── updating-drupal.md
│ ├── using-rest-endpoints.md
│ └── versioning.md
├── tutorials
│ ├── blocks.md
│ ├── create-a-resource-node.md
│ ├── create-update-views.md
│ ├── how-to-create-collection.md
│ └── switch-homepage-to-twig.md
└── user-documentation
│ ├── access-control.md
│ ├── accessibility.md
│ ├── advanced-search.md
│ ├── breadcrumbs.md
│ ├── content-models.md
│ ├── content-types.md
│ ├── context.md
│ ├── extending.md
│ ├── faceting.md
│ ├── file-viewers.md
│ ├── flysystem.md
│ ├── glossary.md
│ ├── iiif.md
│ ├── jwt-authentication.md
│ ├── linked-data.md
│ ├── media.md
│ ├── metadata-harvesting.md
│ ├── metadata.md
│ ├── multilingual.md
│ ├── paged-content.md
│ ├── recipes
│ └── alexa-search.md
│ ├── searching.md
│ ├── starter-site-metadata-configuration.md
│ ├── transcripts.md
│ ├── uploading-large-files.md
│ ├── url-aliases.md
│ ├── usage-stats.md
│ ├── user-intro.md
│ ├── users.md
│ ├── versioning.md
│ ├── versioning.wiki
│ └── video-docs.md
├── make-nav-tree.py
├── mkdocs.yml
└── requirements.txt
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Set the default behavior, in case people don't have core.autocrlf set.
2 | # We need this due to https://github.com/Islandora/documentation/issues/188.
3 | * text=auto
4 | * text eol=lf
5 |
6 | # Denote all files that are truly binary and should not be modified.
7 | *.png binary
8 | *.jpg binary
9 | *.gif binary
10 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Start here to report something not working in Islandora software
4 | title: "[BUG] "
5 | labels: 'Type: bug'
6 | projects: 'Islandora Issues Queue'
7 | assignees: ''
8 |
9 | ---
10 |
11 |
24 |
25 | **What steps does it take to reproduce the issue?**
26 |
27 | * When does this issue occur?
28 |
29 |
30 | * Which page does it occur on?
31 |
32 |
33 | * What happens?
34 |
35 |
36 | * To whom does it occur (anonymous visitor, editor, administrator)?
37 |
38 |
39 | * What did you expect to happen?
40 |
41 |
42 |
43 | **Which version of Islandora are you using?**
44 |
45 |
46 | **Which method did you use to install your Islandora instance? (manually, ISLE, playbook, etc.)**
47 |
48 |
49 | **Any related open or closed issues to this bug report?**
50 |
51 |
52 |
53 | **Screenshots:**
54 |
55 |
65 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/docs-request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Documentation
3 | about: "Is islandora documentation unclear or missing? Let us know here."
4 | title: "[DOCS]"
5 | labels: documentation
6 | assignees: ''
7 |
8 | ---
9 |
10 |
11 | * **If applicable, link to the [documentation page](https://islandora.github.io/documentation/) relevant to your issue below.**
12 |
13 | * **If this is a request for __new__ documentation, where in the [existing documentation](https://islandora.github.io/documentation/) does this documentation belong?**
14 |
15 | * **Describe your documentation request.**
16 |
17 | * **Which version of islandora are you using?**
18 |
19 | * **What user roles is this documentation intended for?**
20 |
21 |
22 | * **What implementations of islandora does this documentation request apply to?**
23 |
24 | **Any related open or closed issues to this bug report?**
25 |
26 |
27 | **Screenshots:**
28 |
29 |
39 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Start here if you would like to request a specific feature. Note that these should usually be supported by Use Cases.
4 | title: ''
5 | labels: 'Type: feature request'
6 | projects: 'Islandora Issues Queue'
7 | assignees: ''
8 |
9 | ---
10 |
11 |
23 |
24 | **Overview of feature request**
25 |
26 |
27 | **What kind of user is the feature intended for?**
28 | (Example user roles: Collections Manager, Developer, Systems Administrator, or User)
29 |
30 |
31 | **What inspired the request?**
32 |
33 |
34 | **What existing behavior do you want changed?**
35 |
36 |
37 | **Any brand new behavior do you want to add to Islandora?**
38 |
39 |
40 | **Any related open or closed issues to this feature request?**
41 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/use-case.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Use case
3 | about: Start here if you would like to outline a need with a defined scope to be addressed by Islandora software.
4 | title: "[USE CASE] "
5 | labels: 'Type: use case'
6 | projects: 'Islandora Issues Queue'
7 | assignees: ''
8 |
9 | ---
10 |
11 |
20 |
21 | **Overview of Use Case**
22 | Description of use case goes here.
23 |
24 | **Title (Goal):**
25 |
26 | **Primary Actor:**
27 | (example actors: Collections Manager, Developer, Systems Administrator, or User)
28 |
29 | **Scope**
30 | (ex. architecture, access)
31 |
32 | **Story:**
33 | "As a [xxxx] I want to [yyyy] because/so that [zzzz]."
34 | (Read more about user stories from Wikipedia: http://en.wikipedia.org/wiki/User_story)
35 |
36 | ## Examples:
37 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | ## Purpose / why
2 |
3 |
4 | ## What changes were made?
5 |
6 |
7 | ## Verification
8 |
9 |
10 | ## Interested Parties
11 |
12 |
13 | * @Islandora/documentation
14 | * @Islandora/committers
15 |
16 | ## Checklist
17 |
18 | ### Pull-request Reviewer
19 | Pull-request reviewer should ensure the following:
20 |
21 | * [ ] Does this PR link to related [issues](https://github.com/Islandora/documentation/issues/)?
22 | * [ ] Does the proposed documentation align with the [Islandora Documentation Style Guide](https://islandora.github.io/documentation/contributing/docs_style_guide/)?
23 | * [ ] Are the changes accurate, useful, free of typos, etc?
24 |
25 | ### Person Merging
26 | The person merging should ensure the following:
27 |
28 | * [ ] Does mkdocs still build successfully? (This is indicated by TravisCI passing. To test locally, and see warnings, see [How To Build Documentation](https://islandora.github.io/documentation/technical-documentation/docs-build/).)
29 | * [ ] If pages are renamed or removed, have all internal links to those pages been fixed?
30 | * [ ] If pages are added, have they been linked to or placed in the menu?
31 | * [ ] Did the PR receive at least one approval from a committer, and all issues raised have been addressed?
32 |
--------------------------------------------------------------------------------
/.github/actions/build/action.yml:
--------------------------------------------------------------------------------
1 | ---
2 | name: Build
3 | description: Setup to run and run mkdocs
4 | runs:
5 | using: "composite"
6 | steps:
7 | - name: Setup build environment
8 | uses: actions/setup-python@v4
9 | with:
10 | python-version: '3.x'
11 | cache: 'pip'
12 | - name: Install build requirements
13 | shell: bash
14 | run: pip install -r requirements.txt
15 | - name: Build docs
16 | shell: bash
17 | run: mkdocs build
18 |
--------------------------------------------------------------------------------
/.github/workflows/docs-preview.yml:
--------------------------------------------------------------------------------
1 | ---
2 | name: "Build docs preview"
3 | on:
4 | pull_request:
5 | types:
6 | - opened
7 | - reopened
8 | - synchronize
9 | - closed
10 | concurrency: preview-${{ github.ref }}
11 | permissions:
12 | # Needed to update the preview branch.
13 | contents: write
14 | # Needed to write/maintain the comment
15 | pull-requests: write
16 | jobs:
17 | preview:
18 | runs-on: ubuntu-latest
19 | steps:
20 | - name: Checkout code
21 | uses: actions/checkout@v3
22 | - name: Build docs
23 | uses: ./.github/actions/build
24 | - name: Deploy docs preview
25 | # XXX: Avoid attempting to do preview things across fork boundaries, as it doesn't work.
26 | # See: https://github.com/rossjrw/pr-preview-action/pull/6
27 | # Adapted from: https://github.com/orgs/community/discussions/26829#discussioncomment-3253575
28 | if: ${{ github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name }}
29 | uses: rossjrw/pr-preview-action@v1
30 | with:
31 | source-dir: site
32 |
--------------------------------------------------------------------------------
/.github/workflows/docs.yml:
--------------------------------------------------------------------------------
1 | ---
2 | name: "Build docs"
3 | on:
4 | push:
5 | branches:
6 | - main
7 | permissions:
8 | contents: write
9 | jobs:
10 | build:
11 | runs-on: ubuntu-latest
12 | steps:
13 | - name: Checkout code
14 | uses: actions/checkout@v3
15 | - name: Build docs
16 | uses: ./.github/actions/build
17 | - name: Deploy docs
18 | uses: JamesIves/github-pages-deploy-action@v4
19 | with:
20 | folder: site
21 | force: false
22 | clean-exclude: |
23 | pr-preview
24 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | # This is a basic workflow to help you get started with Actions
2 | on:
3 | issues:
4 | types: [opened]
5 | jobs:
6 | createCard:
7 | runs-on: ubuntu-latest
8 | steps:
9 | - name: Create or Update Project Card
10 | uses: peter-evans/create-or-update-project-card@v2
11 | with:
12 | project-name: Islandora Issues Queue
13 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | cache.properties
2 | .DS_Store
3 | tests/test_config.ini
4 | install/.vagrant
5 | install/downloads
6 | install/ubuntu-xenial-16.04-cloudimg-console.log
7 | site/
8 | installer
9 | composer.phar
10 | vendor
11 | services/CollectionService/composer.json_bkup
12 | services/TransactionService/composer.json_bkup
13 | services/align_branches.sh
14 | services/composer.json_bkup
15 | services/composer.lock
16 | services/composer.sha384sum
17 | services/CollectionService/config/settings.dev.yml
18 | services/ResourceService/config/settings.dev.yml
19 | services/TransactionService/config/settings.dev.yml
20 | services/config/settings.dev.yml
21 | install/scripts/composer.json
22 | docs/contributing/CONTRIBUTING.md
23 | README/
24 | /.idea/
25 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Islandora Foundation and contributors
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Islandora Documentation
2 |
3 | [Read the documentation online](https://islandora.github.io/documentation/)
4 |
5 | ## About this Repository
6 |
7 | This "documentation" repository has three functions:
8 |
9 | - it **houses the source code for the** [**documentation**](https://islandora.github.io/documentation/) of the [**Islandora project**](https://islandora.ca/) (versions 2.x and above).
10 | - it **hosts the central** [**issue queue**](https://github.com/Islandora/documentation/issues) **for the entire Islandora project**. Add an issue there if you have a use case that isn't addressed, or find a bug.
11 | - its [Wiki](https://github.com/Islandora/documentation/wiki) **contains the archived minutes** for Islandora Tech calls and User calls of previous years. **To find current meeting minutes, please navigate to our** [**community-wiki**](https://github.com/Islandora/islandora-community/wiki).
12 |
13 | ## Documentation Structure
14 |
15 | The documentation is written in [mkdocs](https://www.mkdocs.org/) — the navigation structure is specified in `mkdocs.yml` and the `/docs/` folder contains the content. The text is written in mkdocs-flavoured markdown format and follows our [Documentation Style Guide](https://islandora.github.io/documentation/contributing/docs_style_guide/). Documentation is built and deployed to Github Pages automatically when new commits are added to the 'main' branch.
16 |
17 | * [Islandora Documentation via Github Pages](https://islandora.github.io/documentation/)
18 |
19 | ## Older versions
20 |
21 | Documentation for Islandora Legacy (7.x) and previous versions is hosted by LYRASIS on a Confluence wiki.
22 |
23 | * [Documentation for Islandora Legacy (7.x) and earlier](https://wiki.lyrasis.org/display/ISLANDORA/)
24 |
25 | ## Maintainers
26 |
27 | * [Documentation Interest Group](https://github.com/islandora-interest-groups/Islandora-Documentation-Interest-Group)
28 |
29 | ## Contributing
30 |
31 | To contribute to the Islandora documentation, create an issue or a pull request. To have a pull request accepted, you need to be covered by an Islandora Foundation [Contributor License Agreement](https://github.com/Islandora/islandora-community/wiki/Onboarding-Checklist#contributor-license-agreements) or [Corporate Contributor License Agreement](https://github.com/Islandora/islandora-community/wiki/Onboarding-Checklist#contributor-license-agreements). Please see the [Community](https://www.islandora.ca/community) pages on Islandora.ca for more information.
32 |
--------------------------------------------------------------------------------
/docs/alpaca/alpaca-technical-stack.md:
--------------------------------------------------------------------------------
1 | # Alpaca Technical Stack
2 | As of version 2.0.0, Alpaca contains several tools bundled into a single runnable [jar](https://en.wikipedia.org/wiki/JAR_(file_format)) file. The different tools can be enabled/disabled depending on the configuration you define.
3 |
4 | ## [Gradle](https://docs.gradle.org/current/userguide/tutorial_using_tasks.html)
5 | Gradle is used by Alpaca as a build and package management tool. It is similar to [Maven](https://maven.apache.org/).
6 |
7 | ## [Apache Camel](http://camel.apache.org/book-getting-started.html)
8 | Apache Camel is an integration framework that aids in implementing integration patterns.
9 |
10 | ## [Apache ActiveMQ](http://activemq.apache.org/getting-started.html)
11 | Apache ActiveMQ is a JMS compliant Messaging Queue. Messaging client can make use of JMS to send messages.
12 |
13 | ### Installing ActiveMQ
14 | Installing ActiveMQ is relatively easy. Download the latest stable release [here](http://activemq.apache.org/download.html). Go to the `activemq_install_dir/bin`. Start the ActiveMQ by using the activemq script or batch file and start command.
15 |
16 | ```
17 | $ cd activemq_install_dir/bin
18 | $ ./activemq start
19 | ```
20 |
21 | When ActiveMQ gets started, go to http://localhost:8161/admin/. You can login using admin:admin.
22 |
23 | Note that ActiveMQ in Islandora playbook does not have a UI.
24 |
25 | ## References
26 | * [ActiveMQ Introduction](http://tech.lalitbhatt.net/2014/08/activemq-introduction.html)
27 |
--------------------------------------------------------------------------------
/docs/assets/Click media.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/Click media.jpg
--------------------------------------------------------------------------------
/docs/assets/Image option.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/Image option.png
--------------------------------------------------------------------------------
/docs/assets/Islandora_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/Islandora_logo.png
--------------------------------------------------------------------------------
/docs/assets/adding_a_jwt_rsa_key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/adding_a_jwt_rsa_key.png
--------------------------------------------------------------------------------
/docs/assets/adding_a_search_index.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/adding_a_search_index.png
--------------------------------------------------------------------------------
/docs/assets/adding_a_solr_search_server.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/adding_a_solr_search_server.png
--------------------------------------------------------------------------------
/docs/assets/advanced_search_advanced_search_block_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/advanced_search_advanced_search_block_settings.png
--------------------------------------------------------------------------------
/docs/assets/advanced_search_contextual_filter_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/advanced_search_contextual_filter_settings.png
--------------------------------------------------------------------------------
/docs/assets/advanced_search_demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/advanced_search_demo.gif
--------------------------------------------------------------------------------
/docs/assets/advanced_search_enable_index_hierarchy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/advanced_search_enable_index_hierarchy.png
--------------------------------------------------------------------------------
/docs/assets/advanced_search_enable_index_hierarchy_processor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/advanced_search_enable_index_hierarchy_processor.png
--------------------------------------------------------------------------------
/docs/assets/advanced_search_exclude_facet_settings_exclude.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/advanced_search_exclude_facet_settings_exclude.png
--------------------------------------------------------------------------------
/docs/assets/advanced_search_exclude_facet_settings_url_alias.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/advanced_search_exclude_facet_settings_url_alias.png
--------------------------------------------------------------------------------
/docs/assets/advanced_search_facet_block_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/advanced_search_facet_block_settings.png
--------------------------------------------------------------------------------
/docs/assets/advanced_search_field_decedent_of.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/advanced_search_field_decedent_of.png
--------------------------------------------------------------------------------
/docs/assets/advanced_search_include_exclude_facets.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/advanced_search_include_exclude_facets.png
--------------------------------------------------------------------------------
/docs/assets/advanced_search_include_exclude_facets_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/advanced_search_include_exclude_facets_settings.png
--------------------------------------------------------------------------------
/docs/assets/advanced_search_pager_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/advanced_search_pager_settings.png
--------------------------------------------------------------------------------
/docs/assets/advanced_search_sort_criteria.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/advanced_search_sort_criteria.png
--------------------------------------------------------------------------------
/docs/assets/advanced_search_view_advanced_setting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/advanced_search_view_advanced_setting.png
--------------------------------------------------------------------------------
/docs/assets/blocks_collection_block.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/blocks_collection_block.png
--------------------------------------------------------------------------------
/docs/assets/blocks_collection_context.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/blocks_collection_context.png
--------------------------------------------------------------------------------
/docs/assets/blocks_collection_page_with_block.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/blocks_collection_page_with_block.png
--------------------------------------------------------------------------------
/docs/assets/blocks_collection_page_without_block.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/blocks_collection_page_without_block.png
--------------------------------------------------------------------------------
/docs/assets/blocks_config_ui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/blocks_config_ui.png
--------------------------------------------------------------------------------
/docs/assets/blocks_content_above_tabs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/blocks_content_above_tabs.png
--------------------------------------------------------------------------------
/docs/assets/blocks_context_ui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/blocks_context_ui.png
--------------------------------------------------------------------------------
/docs/assets/blocks_devel_menu_in_footer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/blocks_devel_menu_in_footer.png
--------------------------------------------------------------------------------
/docs/assets/blocks_main_content_region.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/blocks_main_content_region.png
--------------------------------------------------------------------------------
/docs/assets/blocks_no_devel_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/blocks_no_devel_menu.png
--------------------------------------------------------------------------------
/docs/assets/blocks_pages_tab_in_block_config_ui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/blocks_pages_tab_in_block_config_ui.png
--------------------------------------------------------------------------------
/docs/assets/blocks_placement_page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/blocks_placement_page.png
--------------------------------------------------------------------------------
/docs/assets/blocks_selection_ui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/blocks_selection_ui.png
--------------------------------------------------------------------------------
/docs/assets/blocks_still_got_that_ugly_devel_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/blocks_still_got_that_ugly_devel_menu.png
--------------------------------------------------------------------------------
/docs/assets/breadcrumbs-config-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/breadcrumbs-config-screen.png
--------------------------------------------------------------------------------
/docs/assets/breadcrumbs-example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/breadcrumbs-example.png
--------------------------------------------------------------------------------
/docs/assets/claw-chimera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/claw-chimera.png
--------------------------------------------------------------------------------
/docs/assets/claw-diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/claw-diagram.png
--------------------------------------------------------------------------------
/docs/assets/claw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/claw.png
--------------------------------------------------------------------------------
/docs/assets/collections_add_content.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/collections_add_content.png
--------------------------------------------------------------------------------
/docs/assets/collections_children_tab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/collections_children_tab.png
--------------------------------------------------------------------------------
/docs/assets/collections_edit_photo_collection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/collections_edit_photo_collection.png
--------------------------------------------------------------------------------
/docs/assets/collections_member_of.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/collections_member_of.png
--------------------------------------------------------------------------------
/docs/assets/collections_member_of_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/collections_member_of_selected.png
--------------------------------------------------------------------------------
/docs/assets/collections_parent_node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/collections_parent_node.png
--------------------------------------------------------------------------------
/docs/assets/collections_repository_item.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/collections_repository_item.png
--------------------------------------------------------------------------------
/docs/assets/collections_select_content_type.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/collections_select_content_type.png
--------------------------------------------------------------------------------
/docs/assets/collections_select_model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/collections_select_model.png
--------------------------------------------------------------------------------
/docs/assets/collections_snowfall.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/collections_snowfall.png
--------------------------------------------------------------------------------
/docs/assets/configuring_flysystem_to_use_fedora.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/configuring_flysystem_to_use_fedora.png
--------------------------------------------------------------------------------
/docs/assets/configuring_iiif.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/configuring_iiif.png
--------------------------------------------------------------------------------
/docs/assets/configuring_islandora.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/configuring_islandora.png
--------------------------------------------------------------------------------
/docs/assets/configuring_openseadragon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/configuring_openseadragon.png
--------------------------------------------------------------------------------
/docs/assets/configuring_standard_solr_connector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/configuring_standard_solr_connector.png
--------------------------------------------------------------------------------
/docs/assets/configuring_the_jwt_rsa_key_for_use.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/configuring_the_jwt_rsa_key_for_use.png
--------------------------------------------------------------------------------
/docs/assets/content_types_fieldindisplay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/content_types_fieldindisplay.png
--------------------------------------------------------------------------------
/docs/assets/content_types_fieldsettings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/content_types_fieldsettings.png
--------------------------------------------------------------------------------
/docs/assets/content_types_managefields.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/content_types_managefields.png
--------------------------------------------------------------------------------
/docs/assets/content_types_managefields_tabs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/content_types_managefields_tabs.png
--------------------------------------------------------------------------------
/docs/assets/content_types_newfield.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/content_types_newfield.png
--------------------------------------------------------------------------------
/docs/assets/content_types_newfieldinform.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/content_types_newfieldinform.png
--------------------------------------------------------------------------------
/docs/assets/context_display_hints.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/context_display_hints.png
--------------------------------------------------------------------------------
/docs/assets/context_openseadragon_configuration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/context_openseadragon_configuration.png
--------------------------------------------------------------------------------
/docs/assets/context_thank_user_context.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/context_thank_user_context.png
--------------------------------------------------------------------------------
/docs/assets/context_thank_user_for_preservation_master.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/context_thank_user_for_preservation_master.png
--------------------------------------------------------------------------------
/docs/assets/context_thanks_dsm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/context_thanks_dsm.png
--------------------------------------------------------------------------------
/docs/assets/context_thumbnail_file_system.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/context_thumbnail_file_system.png
--------------------------------------------------------------------------------
/docs/assets/create_issues_Add_Labels.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_issues_Add_Labels.png
--------------------------------------------------------------------------------
/docs/assets/create_issues_Describing_Issue.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_issues_Describing_Issue.gif
--------------------------------------------------------------------------------
/docs/assets/create_issues_Issue_Templates.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_issues_Issue_Templates.png
--------------------------------------------------------------------------------
/docs/assets/create_issues_commentbox.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_issues_commentbox.jpg
--------------------------------------------------------------------------------
/docs/assets/create_issues_labels.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_issues_labels.jpg
--------------------------------------------------------------------------------
/docs/assets/create_issues_newissue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_issues_newissue.jpg
--------------------------------------------------------------------------------
/docs/assets/create_node_add_content.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_node_add_content.png
--------------------------------------------------------------------------------
/docs/assets/create_node_add_media.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_node_add_media.png
--------------------------------------------------------------------------------
/docs/assets/create_node_adding_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_node_adding_image.png
--------------------------------------------------------------------------------
/docs/assets/create_node_click_media.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_node_click_media.png
--------------------------------------------------------------------------------
/docs/assets/create_node_finished_node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_node_finished_node.png
--------------------------------------------------------------------------------
/docs/assets/create_node_list_media.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_node_list_media.png
--------------------------------------------------------------------------------
/docs/assets/create_node_media_metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_node_media_metadata.png
--------------------------------------------------------------------------------
/docs/assets/create_node_new_node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_node_new_node.png
--------------------------------------------------------------------------------
/docs/assets/create_node_see_derivatives.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_node_see_derivatives.png
--------------------------------------------------------------------------------
/docs/assets/create_node_select_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_node_select_image.png
--------------------------------------------------------------------------------
/docs/assets/create_node_select_model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_node_select_model.png
--------------------------------------------------------------------------------
/docs/assets/create_node_select_repo_item.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_node_select_repo_item.png
--------------------------------------------------------------------------------
/docs/assets/create_node_warning_autocomplete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/create_node_warning_autocomplete.png
--------------------------------------------------------------------------------
/docs/assets/derivatives-swimlane.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/derivatives-swimlane.png
--------------------------------------------------------------------------------
/docs/assets/diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/diagram.png
--------------------------------------------------------------------------------
/docs/assets/docker_bad_gateway_still_loading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/docker_bad_gateway_still_loading.png
--------------------------------------------------------------------------------
/docs/assets/docker_demo_Install_Portainer.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/docker_demo_Install_Portainer.gif
--------------------------------------------------------------------------------
/docs/assets/docker_demo_Install_Sandbox.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/docker_demo_Install_Sandbox.gif
--------------------------------------------------------------------------------
/docs/assets/docker_demo_Reinstall_Sandbox.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/docker_demo_Reinstall_Sandbox.gif
--------------------------------------------------------------------------------
/docs/assets/docker_demo_Sandbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/docker_demo_Sandbox.png
--------------------------------------------------------------------------------
/docs/assets/docker_demo_Uninstall_Sandbox.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/docker_demo_Uninstall_Sandbox.gif
--------------------------------------------------------------------------------
/docs/assets/docker_drupal_login_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/docker_drupal_login_screen.png
--------------------------------------------------------------------------------
/docs/assets/editing-docs-PR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/editing-docs-PR.png
--------------------------------------------------------------------------------
/docs/assets/editing-docs-branch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/editing-docs-branch.png
--------------------------------------------------------------------------------
/docs/assets/editing-docs-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/editing-docs-button.png
--------------------------------------------------------------------------------
/docs/assets/editing-docs-gui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/editing-docs-gui.png
--------------------------------------------------------------------------------
/docs/assets/editing-docs-push.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/editing-docs-push.png
--------------------------------------------------------------------------------
/docs/assets/editing_docs_Edit_Button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/editing_docs_Edit_Button.png
--------------------------------------------------------------------------------
/docs/assets/facet_on_vocabulary_reference_fields_EDIT_Click.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/facet_on_vocabulary_reference_fields_EDIT_Click.png
--------------------------------------------------------------------------------
/docs/assets/facet_on_vocabulary_reference_fields_add_fields.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/facet_on_vocabulary_reference_fields_add_fields.png
--------------------------------------------------------------------------------
/docs/assets/flysystem_derivative_filesystem_setting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/flysystem_derivative_filesystem_setting.png
--------------------------------------------------------------------------------
/docs/assets/form-collection.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/form-collection.jpg
--------------------------------------------------------------------------------
/docs/assets/frontpage_view_add_filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/frontpage_view_add_filter.png
--------------------------------------------------------------------------------
/docs/assets/frontpage_view_add_filter_collection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/frontpage_view_add_filter_collection.png
--------------------------------------------------------------------------------
/docs/assets/frontpage_view_add_filter_select_model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/frontpage_view_add_filter_select_model.png
--------------------------------------------------------------------------------
/docs/assets/frontpage_view_add_filter_select_model_islandora.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/frontpage_view_add_filter_select_model_islandora.png
--------------------------------------------------------------------------------
/docs/assets/frontpage_view_all_eight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/frontpage_view_all_eight.png
--------------------------------------------------------------------------------
/docs/assets/frontpage_view_collection_list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/frontpage_view_collection_list.png
--------------------------------------------------------------------------------
/docs/assets/frontpage_view_collection_list_block_placement.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/frontpage_view_collection_list_block_placement.png
--------------------------------------------------------------------------------
/docs/assets/frontpage_view_collection_list_details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/frontpage_view_collection_list_details.png
--------------------------------------------------------------------------------
/docs/assets/frontpage_view_collection_list_info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/frontpage_view_collection_list_info.png
--------------------------------------------------------------------------------
/docs/assets/frontpage_view_collection_list_place_block.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/frontpage_view_collection_list_place_block.png
--------------------------------------------------------------------------------
/docs/assets/frontpage_view_collection_list_place_block_configure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/frontpage_view_collection_list_place_block_configure.png
--------------------------------------------------------------------------------
/docs/assets/frontpage_view_no_collections.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/frontpage_view_no_collections.png
--------------------------------------------------------------------------------
/docs/assets/gettingstarted_add_collection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/gettingstarted_add_collection.png
--------------------------------------------------------------------------------
/docs/assets/gettingstarted_add_content.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/gettingstarted_add_content.png
--------------------------------------------------------------------------------
/docs/assets/gettingstarted_add_islandora_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/gettingstarted_add_islandora_image.png
--------------------------------------------------------------------------------
/docs/assets/gettingstarted_content.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/gettingstarted_content.png
--------------------------------------------------------------------------------
/docs/assets/gettingstarted_permissions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/gettingstarted_permissions.png
--------------------------------------------------------------------------------
/docs/assets/gettingstarted_roles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/gettingstarted_roles.png
--------------------------------------------------------------------------------
/docs/assets/hamburger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/hamburger.png
--------------------------------------------------------------------------------
/docs/assets/iiif-mirador-paged.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/iiif-mirador-paged.png
--------------------------------------------------------------------------------
/docs/assets/image00.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/image00.png
--------------------------------------------------------------------------------
/docs/assets/image01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/image01.png
--------------------------------------------------------------------------------
/docs/assets/image02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/image02.png
--------------------------------------------------------------------------------
/docs/assets/image03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/image03.png
--------------------------------------------------------------------------------
/docs/assets/image04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/image04.png
--------------------------------------------------------------------------------
/docs/assets/image05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/image05.png
--------------------------------------------------------------------------------
/docs/assets/image06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/image06.jpg
--------------------------------------------------------------------------------
/docs/assets/image07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/image07.png
--------------------------------------------------------------------------------
/docs/assets/image08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/image08.png
--------------------------------------------------------------------------------
/docs/assets/image09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/image09.png
--------------------------------------------------------------------------------
/docs/assets/image10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/image10.png
--------------------------------------------------------------------------------
/docs/assets/image11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/image11.png
--------------------------------------------------------------------------------
/docs/assets/image12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/image12.png
--------------------------------------------------------------------------------
/docs/assets/image13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/image13.png
--------------------------------------------------------------------------------
/docs/assets/image14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/image14.png
--------------------------------------------------------------------------------
/docs/assets/install-enable-drupal-modules_drupal_composer_dependencies.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/install-enable-drupal-modules_drupal_composer_dependencies.png
--------------------------------------------------------------------------------
/docs/assets/islandora-diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/islandora-diagram.png
--------------------------------------------------------------------------------
/docs/assets/islandora_8_derivatives_sample.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/islandora_8_derivatives_sample.png
--------------------------------------------------------------------------------
/docs/assets/islandora_advanced_search_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/islandora_advanced_search_settings.png
--------------------------------------------------------------------------------
/docs/assets/media_action_file_path_setting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/media_action_file_path_setting.png
--------------------------------------------------------------------------------
/docs/assets/media_tab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/media_tab.png
--------------------------------------------------------------------------------
/docs/assets/media_use_vocabulary_media_form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/media_use_vocabulary_media_form.png
--------------------------------------------------------------------------------
/docs/assets/members-tab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/members-tab.png
--------------------------------------------------------------------------------
/docs/assets/metadata_available_relations_config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/metadata_available_relations_config.png
--------------------------------------------------------------------------------
/docs/assets/metadata_content_type_screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/metadata_content_type_screenshot.png
--------------------------------------------------------------------------------
/docs/assets/metadata_edtf_display.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/metadata_edtf_display.png
--------------------------------------------------------------------------------
/docs/assets/metadata_edtf_field_formatter_gear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/metadata_edtf_field_formatter_gear.png
--------------------------------------------------------------------------------
/docs/assets/metadata_edtf_field_settings_gear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/metadata_edtf_field_settings_gear.png
--------------------------------------------------------------------------------
/docs/assets/metadata_edtf_formatters.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/metadata_edtf_formatters.png
--------------------------------------------------------------------------------
/docs/assets/metadata_edtf_invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/metadata_edtf_invalid.png
--------------------------------------------------------------------------------
/docs/assets/metadata_edtf_valid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/metadata_edtf_valid.png
--------------------------------------------------------------------------------
/docs/assets/metadata_edtf_widget_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/metadata_edtf_widget_settings.png
--------------------------------------------------------------------------------
/docs/assets/metadata_entity_reference_config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/metadata_entity_reference_config.png
--------------------------------------------------------------------------------
/docs/assets/metadata_entity_reference_config_vocabs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/metadata_entity_reference_config_vocabs.png
--------------------------------------------------------------------------------
/docs/assets/metadata_geographic_location_list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/metadata_geographic_location_list.png
--------------------------------------------------------------------------------
/docs/assets/metadata_typed_relation_field.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/metadata_typed_relation_field.png
--------------------------------------------------------------------------------
/docs/assets/multilingual-add-lang.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/multilingual-add-lang.jpg
--------------------------------------------------------------------------------
/docs/assets/multilingual-lang-switcher-location.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/multilingual-lang-switcher-location.jpg
--------------------------------------------------------------------------------
/docs/assets/multilingual-place-lang-switcher-block.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/multilingual-place-lang-switcher-block.jpg
--------------------------------------------------------------------------------
/docs/assets/multilingual_repository_item_in_drupal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/multilingual_repository_item_in_drupal.png
--------------------------------------------------------------------------------
/docs/assets/multilingual_repository_item_in_fedora.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/multilingual_repository_item_in_fedora.png
--------------------------------------------------------------------------------
/docs/assets/multilingual_repository_item_in_triplestore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/multilingual_repository_item_in_triplestore.png
--------------------------------------------------------------------------------
/docs/assets/objects_to_resouce_nodes_attributes.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/objects_to_resouce_nodes_attributes.jpg
--------------------------------------------------------------------------------
/docs/assets/osd_collection_mode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/osd_collection_mode.png
--------------------------------------------------------------------------------
/docs/assets/paged_content_batch_upload-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/paged_content_batch_upload-2.png
--------------------------------------------------------------------------------
/docs/assets/paged_content_batch_upload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/paged_content_batch_upload.png
--------------------------------------------------------------------------------
/docs/assets/paged_content_mirador.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/paged_content_mirador.png
--------------------------------------------------------------------------------
/docs/assets/paged_content_reorder_children_button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/paged_content_reorder_children_button.png
--------------------------------------------------------------------------------
/docs/assets/paged_content_reorder_children_form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/paged_content_reorder_children_form.png
--------------------------------------------------------------------------------
/docs/assets/people_page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/people_page.png
--------------------------------------------------------------------------------
/docs/assets/ppa-example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/ppa-example.png
--------------------------------------------------------------------------------
/docs/assets/rdf-pcdm-coll-obj-file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/rdf-pcdm-coll-obj-file.png
--------------------------------------------------------------------------------
/docs/assets/recipe_alexa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/recipe_alexa.png
--------------------------------------------------------------------------------
/docs/assets/resource_nodes_display_hints.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/resource_nodes_display_hints.png
--------------------------------------------------------------------------------
/docs/assets/resource_nodes_media_tab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/resource_nodes_media_tab.png
--------------------------------------------------------------------------------
/docs/assets/resource_nodes_model_tags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/resource_nodes_model_tags.png
--------------------------------------------------------------------------------
/docs/assets/resource_nodes_pdfjs_context_default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/resource_nodes_pdfjs_context_default.png
--------------------------------------------------------------------------------
/docs/assets/resource_nodes_pdfjs_context_with_mimetype.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/resource_nodes_pdfjs_context_with_mimetype.png
--------------------------------------------------------------------------------
/docs/assets/resource_nodes_properties_devel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/resource_nodes_properties_devel.png
--------------------------------------------------------------------------------
/docs/assets/resource_nodes_repo_item_edit_form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/resource_nodes_repo_item_edit_form.png
--------------------------------------------------------------------------------
/docs/assets/resource_nodes_view_mode_context.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/resource_nodes_view_mode_context.png
--------------------------------------------------------------------------------
/docs/assets/rest-file-configuration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/rest-file-configuration.png
--------------------------------------------------------------------------------
/docs/assets/rest-media-configuration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/rest-media-configuration.png
--------------------------------------------------------------------------------
/docs/assets/rest-node-configuration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/rest-node-configuration.png
--------------------------------------------------------------------------------
/docs/assets/search-settings-page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/search-settings-page.png
--------------------------------------------------------------------------------
/docs/assets/search-view-format-settings-highlighted.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/search-view-format-settings-highlighted.png
--------------------------------------------------------------------------------
/docs/assets/setting_the_solr_install_directory.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/setting_the_solr_install_directory.png
--------------------------------------------------------------------------------
/docs/assets/specifying_the_solr_server.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/specifying_the_solr_server.png
--------------------------------------------------------------------------------
/docs/assets/tests_ui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/tests_ui.png
--------------------------------------------------------------------------------
/docs/assets/transcripts-audio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/transcripts-audio.png
--------------------------------------------------------------------------------
/docs/assets/transcripts-media-track-field.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/transcripts-media-track-field.png
--------------------------------------------------------------------------------
/docs/assets/transcripts-video.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/transcripts-video.png
--------------------------------------------------------------------------------
/docs/assets/usage_stats_dashboard.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/usage_stats_dashboard.jpg
--------------------------------------------------------------------------------
/docs/assets/user-intro-bento.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/user-intro-bento.png
--------------------------------------------------------------------------------
/docs/assets/user-intro-islandoraburger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/user-intro-islandoraburger.png
--------------------------------------------------------------------------------
/docs/assets/users_people.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/users_people.png
--------------------------------------------------------------------------------
/docs/assets/users_people_roles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/users_people_roles.png
--------------------------------------------------------------------------------
/docs/assets/users_permissions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Islandora/documentation/821459ed909184e23a2534765bb2ae0f548152fe/docs/assets/users_permissions.png
--------------------------------------------------------------------------------
/docs/concepts/collection.md:
--------------------------------------------------------------------------------
1 | # Collections
2 |
3 | Collections are groups of related content that can be viewed or managed as a unit. Islandora-specific use cases include:
4 |
5 | - an archival fonds that needs to be grouped together, with internal hierarchy
6 | - various collections of artifacts, grouped for display
7 | - theses and dissertations, which are organized and managed separately from other objects.
8 |
9 | ## Islandora features
10 |
11 | Islandora provides:
12 |
13 | - a mechanism for grouping nodes under a "Parent" node through the generic "Member Of" relationship field (`field_member_of`). This mechanism is also used by _[Paged Content](../user-documentation/paged-content.md)_ and _Compound Objects_. Islandora on its own does not prescribe any particular [Content Type](../user-documentation/content-types.md), so this field can be configured for any [node bundle](https://www.drupal.org/docs/drupal-apis/entity-api/bundles) intended to represent Islandora resources.
14 | - a "Children" tab on resources, which provides a management interface to access, re-order, add, or delete the members of a resource based on the Member Of field.
15 | - a "Model" field (`field_model`) which can take various values including "Collection".
16 |
17 | ## Islandora Starter Site features
18 |
19 | [Islandora Starter Site](https://github.com/Islandora/islandora-starter-site) is an optional set of presets for Islandora, intended to provide a more user-friendly out-of-the-box experience and starting point for more specific customization.
20 |
21 | Islandora Starter Site provides:
22 |
23 | - a [Content Type](../user-documentation/content-types.md) "Repository Item" that uses the `field_member_of` field, so that users may add nodes of this type to a collection (or paged content, or compound resource),
24 | - A [View](../tutorials/create-update-views.md) showing the members of the collection.
25 | - logic (a [Context](../user-documentation/context.md)) such that if a resource is tagged as a "Collection" (in the "Model" field, then a view of its members will show on the collection's page.
26 |
27 | For more details, see the tutorial on [How to create and add to a collection](../tutorials/how-to-create-collection.md)
28 |
29 | ## Bulk management of members of a collection
30 |
31 | Bulk management of items can be done from a Views Bulk Operations-compatible View, including the main Drupal Content View (at admin/content) and the Manage Members View (at node/[node]/members). This is possible due to the Drupal contrib modules [Views Bulk Operations (VBO)](https://www.drupal.org/project/views_bulk_operations) and [Views Bulk Edit](https://www.drupal.org/project/views_bulk_edit). VBO allows you to perform Drupal Actions on objects. These Actions include making Islandora Derivatives such as "Audio - Generate a Service File from an Original File" and also to perform Drupal core Actions such as publishing/unpublishing content. The Views Bulk Edit module extends VBO and allows you to edit field values (such as the Member Of field, which would change which collection a group of nodes are in).
32 |
33 | For instance, if you want to move a number of nodes from one collection into another, then you can
34 |
35 | - select them all in a View such as the Members view of a collection
36 | - select "Edit content" from the Action dropdown, and click "Apply to selected Items"
37 | - under "SELECT FIELDS TO CHANGE", select "Member of"
38 | - in the Member Of autocomplete that appears, type the name of the target collection
39 | - Careful! Under "Change method", choose between "Replace the current value" and "Add a new value to the multi-value field". The first one will wipe out ALL existing collections including the one you're working on - which may be what you're after.
40 | - Select "Confirm" at the bottom of the form to save your changes.
41 |
42 | For more information see the video tutorial on [Batch Editing](https://youtu.be/ZMp0lPelOZw).
43 |
44 |
45 | ## Deleting A Collection
46 |
47 | !!! Warning "Deleting Collections creates orphans."
48 | When you delete a Collection object, it will be deleted from the "Member of" field of all its Children. This means that it will not be possible to track down the children after the Collection has been deleted. If you intend to move the children, see above. If you intend to delete the children, this must be done before-hand. This is a [known issue](https://github.com/Islandora/documentation/issues/628).
49 |
50 | !!! Warning "Deleting content creates orphan media."
51 | Deleting content (Collections or otherwise) will NOT delete any attached Media. This is a [known issue](https://github.com/Islandora/documentation/issues/909).
52 |
53 |
54 | ## Permissions on a Collection
55 |
56 | No reliable access control methods currently allow you to assign people to administer and manage only specific collections.
57 |
--------------------------------------------------------------------------------
/docs/concepts/node-concepts.md:
--------------------------------------------------------------------------------
1 | # Node Concepts
2 |
3 | This page describes the core fields and features that Islandora uses to
4 | manage content as nodes in an Islandora repository.
5 |
6 | ## Nodes hold metadata
7 |
8 | In Islandora, Drupal nodes are created to hold descriptive
9 | [metadata](../user-documentation/metadata.md) about content in the repository.
10 | This metadata is held in the usual way for nodes, which is by populating Drupal fields. Fields are
11 | configured on a Drupal content types, which serve as metadata profiles.
12 |
13 | ## Nodes can have members/children
14 |
15 | To build the capacity for creating hierarchical structures like collections, books and their pages, and
16 | complex objects, Islandora introduces a special field, "Member of" (`field_member_of`) which must
17 | be present on all Islandora content types. It enables a "Children" tab to display on Islandora nodes which
18 | lists the children of that node, and allows a repository manager to perform bulk operations on them.
19 | It also enables a repository manager to create children of nodes directly, individually or in bulk.
20 |
21 | ## Nodes have models
22 |
23 | Within a single content type (i.e. metadata profile), Islandora provides the ability to designate
24 | some objects as different "types" than others. Key behaviours, such as what [derivatives](derivatives.md) are created
25 | or what [viewer](../user-documentation/file-viewers.md) is used, can be configured
26 | (see [Contexts](../user-documentation/context.md)) based on this value. The available values
27 | are taxonomy terms in the Islandora Models vocabulary, and they are attached to nodes via the special
28 | mandatory field, "Model" (`field_model`), which must be present on all Islandora content types.
29 | These values are installed through a Drupal Migration after the
30 | Islandora module is installed. All installation methods perform this migration, so out of the box,
31 | the following values should be available in the Islandora Models vocabulary:
32 |
33 |
34 | | Name | External URI |
35 | |------------------- |-------------------------------------------- |
36 | | Audio | http://purl.org/coar/resource_type/c_18cc |
37 | | Binary | http://purl.org/coar/resource_type/c_1843 |
38 | | Collection | http://purl.org/dc/dcmitype/Collection |
39 | | Image | http://purl.org/coar/resource_type/c_c513 |
40 | | Video | http://purl.org/coar/resource_type/c_12ce |
41 | | Digital Document | https://schema.org/DigitalDocument |
42 | | Paged Content | https://schema.org/Book |
43 | | Page | http://id.loc.gov/ontologies/bibframe/part |
44 | | Publication Issue | https://schema.org/PublicationIssue |
45 | | Compound Object | http://vocab.getty.edu/aat/300242735 |
46 | | Newspaper | https://schema.org/Newspaper |
47 |
48 | With Islandora alone, choosing a value from this list will have zero effects. The contingent behaviour
49 | must be configured during repository implementation. Islandora Starter Site provides an example of what
50 | behaviours are possible for these types.
51 |
52 |
53 | !!! note "The External URI field"
54 | This vocabulary, like many others in Islandora, includes an External URI field. This is intended to be used when transforming Islandora content into RDF, but also serves to make it easier to share configuration. Islandora provides code so that context conditions and derivative configs can be created without referencing the taxonomy term by ID, rather, using the taxonomy term's External URI. Since terms IDs are likely to change across sites, this makes our configs more portable.
55 |
56 | ## Nodes are attached to Media
57 |
58 | In an Islandora repository, the files in the repository are uploaded as Media, which are linked
59 | to the node providing the descriptive metadata. Media belonging to a specific node can be found
60 | in the Islandora-provided "Media" tab on that node. For more, see the [Media in Islandora] section.
61 |
--------------------------------------------------------------------------------
/docs/concepts/node-media.md:
--------------------------------------------------------------------------------
1 | # Media in Islandora
2 |
3 | In Islandora, Media are created to hold the various files that pertain
4 | to the descriptive metadata provided by a Node. Islandora provides some
5 | fields and features to make this possible.
6 |
7 | ## Media are wrappers for files
8 |
9 | Drupal Media are said to be wrappers around files, that allow that file
10 | to have fields attached. These fields may contain technical metadata
11 | about that file, such as its mimetype or size. This is how Islandora
12 | uses Media (though our approach to [technical metadata] differs).
13 |
14 |
15 | ## Media may store files in different locations.
16 |
17 | Configuration on Media types determines where uploaded files will be
18 | stored - for example, the Drupal public or private filesystem, or through
19 | a tool called [Flysystem](../user-documentation/glossary.md#flysystem) to another
20 | data store such as Fedora. Islandora does not dictate where you put your files.
21 | Islandora Starter Site sets all media types to store their files in Fedora.
22 | This can be overridden when creating media programmatically, such as for
23 | [derivatives](derivatives.md).
24 |
25 | ## Media belong to nodes
26 |
27 | While in Drupal, media are said to be "reusable files" that can be
28 | referred to by any number of content items, in Islandora there is a
29 | special relationship, the "Media Of" (`media_of`) field, that links
30 | media to a single node that describes that file and how it fits into the repository.
31 | The field "Media Of" must be on all Islandora media types for media
32 | of those types to behave as Islandora media.
33 |
34 | Then, the media "of" an Islandora node (if any) will appear in that
35 | node's "Media" tab. From this tab, there are also links
36 | to add new Media, individually or in batch. When media are created this way,
37 | their "Media of" field is automatically populated with the current node.
38 |
39 | ## Media have different uses
40 |
41 | In a repository, a node may have several media that belong to it, which
42 | represent the originally uploaded file, a smaller service file, a
43 | thumbnail, and perhaps a file transformed into a specific format for
44 | preservation. All of these media can be distinguished using the
45 | Islandora-provided field, "Media Use" (`field_media_use`). This is a
46 | taxonomy reference field that points to the vocabulary, Islandora
47 | Media Use.
48 |
49 | The Islandora module provides, through a migration, the following values:
50 |
51 | | Media Use term | External URI |
52 | |-------------------------- |-------------------------------------------- |
53 | | Extracted Text | http://pcdm.org/use#ExtractedText |
54 | | Intermediate File | http://pcdm.org/use#IntermediateFile |
55 | | Original File | http://pcdm.org/use#OriginalFile |
56 | | Preservation Master File | http://pcdm.org/use#PreservationMasterFile |
57 | | Service File | http://pcdm.org/use#ServiceFile |
58 | | Thumbnail Image | http://pcdm.org/use#ThumbnailImage |
59 | | Transcript | http://pcdm.org/use#Transcript |
60 |
61 | This migration is performed by all installation methods, so these values should
62 | be available "out of the box". These values were provided by the PCDM data model
63 | (see [RDF in Islandora](rdf.md)),
64 | and not all values are associated with behaviours you might expect - for instance,
65 | Islandora is not configured out-of-the box to display a transcript if you add a
66 | Media (file) and tag it as "Transcript". See [Audio](../models/audio.md) and
67 | [Video](../models/video.md) for setting up transcripts.
68 |
69 | !!! note "Standard vs Multi-file media model"
70 | This describes the standard file-media relationship in Islandora.
71 | There is an alternative method of arranging files and their derivatives
72 | which we call the ["Multi-file media"](../user-documentation/media.md#multi-file-media) method.
73 |
74 |
75 |
--------------------------------------------------------------------------------
/docs/concepts/rdf.md:
--------------------------------------------------------------------------------
1 | # RDF in an Islandora Repository
2 |
3 | Islandora was build on the idea that a repository can be represented
4 | in Drupal in a way that can be mapped to RDF and present the repository
5 | as Linked Data.
6 |
7 | ## Portland Common Data Model
8 |
9 | Islandora uses the [Portland Common Data Model (PCDM)](https://github.com/duraspace/pcdm/wiki)
10 | to arrange elements
11 | of the repository. Nodes correspond to pcdm:Objects, and Media to pcdm:Files.
12 | The "Member of" field on nodes allows us to create pcdm:memberOf relationships
13 | (the opposite of pcdm:hasMember),
14 | and the "Media of" field represents pcdm:fileOf relationships (the opposite of
15 | pcdm:hasFile).
16 |
17 | 
18 |
19 |
20 | PCDM, plus additional metadata mappings, is the organizing model which allows us to create an RDF version
21 | of the repository in Fedora and/or in an RDF triplestore like Blazegraph.
22 |
23 | ## Mapping to RDF (RDF Module)
24 |
25 | In Islandora, the RDF module provides a way to map metadata from
26 | fields into RDF. This provides a mechanism of using configuration
27 | entities (YAML files, as there is no robust UI) to map fields on nodes,
28 | media, and taxonomy terms to RDF predicates.
29 |
30 | Namepspaces in RDF must be registered before they can be used. The
31 | Islandora module registers a number of namespaces and more can be
32 | added using `hook_rdf_namespaces()`. See [RDF Mappings](../user-documentation/linked-data.md)
33 | for more details.
34 |
35 | ## Exposure as JSON-LD
36 |
37 | Nodes, Media, and taxonomy terms can have their RDF (per their mappings)
38 | exposed to the world as RDF formatted in the JSON-LD syntax thanks to
39 | the Islandora-built JSON-LD Drupal module. The JSON-LD module converts
40 | the RDF metadata, with some alterations, to a JSON-LD format that can be
41 | consumed by RDF consumers such as Fedora and Blazegraph.
42 |
43 | ## Syncing to Fedora and Blazegraph
44 |
45 | Islandora provides the pathways for objects and media in the repository
46 | to be synced to Fedora and Blazegraph.
47 |
48 | Objects are sent to Fedora and Blazegraph through an "Indexing" Drupal Action, which, after being
49 | put on a queue, is read by an indexer which pushes the JSON-LD information
50 | to the appropriate target.
51 |
52 | Files can be stored in Fedora directly, using the Flysystem module. Whether
53 | or not a file is in Fedora, information about that file can be synced (from Drupal Media) into Fedora.
54 |
55 | Neither Fedora nor Blazegraph are read as part of the standard Islandora configuration.
56 |
--------------------------------------------------------------------------------
/docs/concepts/starter-site.md:
--------------------------------------------------------------------------------
1 | # Islandora Starter Site
2 |
3 | The [Islandora Starter Site](https://github.com/Islandora/islandora-starter-site/) is an out-of-the-box deployment of Islandora. It is a complete exported Drupal site, that makes use of the Islandora modules and
4 | configures them in a way that is illustrative and useful.
5 |
6 | - For evaluators, it is intended to show off the features and capabilities of Islandora.
7 | - For interest groups, it is intended to be a place to develop solutions to shared problems.
8 | - For site builders, it is intended to be a starting point for configuring a site.
9 |
10 | The Islandora Starter Site contains no code, only references to other modules and lots of Drupal configuration. A very motivated person could re-create the Starter Site just by installing and configuring modules. This means there's nothing tying you to using the Starter Site. There's also nothing tying you to doing things in a particular way. Also, it means that you won't be getting any "updates" - there's no code to update.
11 |
12 | To experience the full Islandora Starter Site, it requires access to external services such as Solr,
13 | Fedora, Alpaca, and Matomo. It is therefore suggested to deploy the Starter Site using one of our
14 | deployment platforms: [ISLE-DC](../installation/docker/isle-dc/docker-local.md) (using the `make starter` or `make starter_dev` commands), [ISLE Site Template](../installation/docker/site-template/site-template.md), or
15 | the [Islandora Playbook](../installation/playbook.md) (using the `starter` (default) or `starter_dev` option in the Vagrantfile).
16 |
17 |
--------------------------------------------------------------------------------
/docs/contributing/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | ../../CONTRIBUTING.md
--------------------------------------------------------------------------------
/docs/contributing/create-issues.md:
--------------------------------------------------------------------------------
1 | # Create a GitHub Issue
2 |
3 | ## Overview
4 | The Islandora community uses GitHub issues to track bug reports, requests for improvements, requests for new features, and use cases. Issues are welcome from anyone who works with Islandora.
5 |
6 | The Islandora [issue queue](https://github.com/Islandora/documentation/issues) is maintained in the Islandora [Documentation](https://github.com/Islandora/documentation) repository on GitHub. Issues posted to the queue are reviewed weekly on the Islandora [Tech Call](https://github.com/Islandora/islandora-community/wiki/Tech-Call-Meetings-2022). Members of the Islandora community can then respond to posted issues by replying with comments, taking on the assignment to do the work described in the issue, or making pull requests relating to the issue.
7 |
8 | !!! Tip "Video version available"
9 | The material in this tutorial is presented in our video, [Create a GitHub Issue](https://youtu.be/eHBIYlRxEtk).
10 |
11 | ## Before you start
12 |
13 | - You will need to have an account on [GitHub](https://github.com/join). These are free to register and require only a name and email address.
14 |
15 |
16 | ## How to create an issue in the Islandora issue queue
17 |
18 | 1. Go to [https://github.com/Islandora/documentation/issues](https://github.com/Islandora/documentation/issues)
19 | 2. Click on **New issue**:
20 | 
21 | 3. Select the type of issue you are creating, as this will provide you with a template to describe your issue.
22 | 
23 | 4. Fill in the information for your issue:
24 | 1. Give your issue a descriptive title following the text that is already provided in the template title, ex. _[BUG]._
25 | 2. Fill in the body of your issue under the **Write** tab. A template of questions will be provided based on the type of issue selected. Depending on your issue, you may need to: describe a bug you are seeing and how to reproduce it, describe how an existing feature could be improved, describe a new feature and how it should work, or describe documentation that needs to be written or expanded.
26 | 3. Use the built-in text editor to help format your issue in [Markdown](http://en.wikipedia.org/wiki/Markdown).
27 | 4. Use the **Preview** button to see how your issue will be published and ensure the formatting looks the way you want.
28 | 5. Click **Submit new issue** to add your issue to the queue.
29 | 6. Optionally, Add labels to your issue to assign it to available categories, such as "documentation" or "question." Click on as may labels as you like. When you click outside of the drop-down list, the selected labels will be applied to your issue.
30 |
31 |  
32 |
--------------------------------------------------------------------------------
/docs/contributing/docs-style-guide.md:
--------------------------------------------------------------------------------
1 | # Documentation Style Guide
2 |
3 | ## Do's
4 |
5 | - Use a GitHub Pull Request to submit documentation.
6 | - See the [Editing Documentation](https://islandora.github.io/documentation/contributing/editing-docs/) documentation page for information on creating a Pull Request.
7 | - Make it clear if the documentation is based on a particular configuration (such as the Install Profile Demo) or if it applies to any deployment of Islandora.
8 | - Submit documentation formatted in [Markdown](https://en.wikipedia.org/wiki/Markdown) format.
9 | - Include a top-level heading for the whole page (using `#`)
10 | - Please add Markdown headings (`#` and `##`) to the content sections.
11 |
12 | - Use the "bold/emphasis" style in Markdown by enclosing text in double asterisks or underscores, `**bold text**` or `__bold text__`, for UI elements that users will interact with. For example, a button label for a button that must be pressed should be made bold in Markdown.
13 | - Use the "italics" style in Markdown by enclosing text in single asterisks or underscores, `*italic text*` or `_italic text_`, for UI elements that have a label or title if you need to reference them in the documentation. For example, a title of a screen or page that will visit should be made italic in Markdown.
14 | - Use `>>` and `**bold text**` to indicate clicking through nested menu items, and also include the direct path. _Example:_
15 | ```
16 | **Administration** >> **Structure** >> **Views** (/admin/structure/views)
17 | ```
18 | - Use `-` instead of `*` for bulleted lists. Indent four (4) spaces for nested lists (Github renders nesting in markdown with 2 spaces, but mkdocs needs 4).
19 | _Example:_
20 | ```
21 | - I am a list item
22 | - And I am a sub-item.
23 | ```
24 | - Upload images to the 'assets' folder and reference them from there.
25 | - For file naming, use underscores between words and prefix all file names with the page name, e.g. context_display_hints.jpg for the image showing how to set display hints in the context menu.
26 | - Use the [Admonition syntax](https://squidfunk.github.io/mkdocs-material/reference/admonitions/) to create notes like this (four-space indent required):
27 |
28 | _Example:_
29 |
30 | ```
31 | !!! note "Helpful Tip"
32 | I am a helpful tip!
33 | ```
34 |
35 | _Result:_
36 |
37 | !!! note "Helpful Tip"
38 | I am a helpful tip!
39 |
40 | - Use our custom `islandora` type within the Admonition syntax to call attention to areas where Islandora configuration differs from standard Drupal configuration:
41 |
42 | _Example:_
43 |
44 | ```
45 | !!! islandora "Lobster trap"
46 | This setting is specific to Islandora and is not standard to Drupal.
47 |
48 | ```
49 |
50 | _Result:_
51 |
52 | !!! islandora "Lobster trap"
53 | This setting is specific to Islandora and is not standard to Drupal.
54 |
55 | ## Don'ts
56 |
57 | - Do not leave any "trailing spaces" at the end of lines of content.
58 | - Do not use "curly" quotes and apostrophes, use only "straight" quotes and apostrophes.
59 | - Do not upload images that are excessively large in file size (remember, these docs are part of the software!)
60 |
--------------------------------------------------------------------------------
/docs/contributing/readme-template.md:
--------------------------------------------------------------------------------
1 | ```
2 | #  Repository Name
3 |
4 | [](link)
5 | [](link)
6 | [](./CONTRIBUTING.md)
7 | [](./LICENSE)
8 | [](link)
9 |
10 | ## Introduction
11 |
12 | A brief introduction and summary of the module.
13 |
14 | ## Requirements
15 |
16 | This module requires the following modules/libraries:
17 |
18 | * [Name](Link)
19 | * [Name](Link)
20 | * Any
21 | * Requirements
22 |
23 | ## Installation
24 |
25 | Installations instructions.
26 |
27 | ## Configuration
28 |
29 | Describe path to configuration.
30 |
31 | Include a screenshot of configuration page. When using your choice of screenshot software, resize your browser
32 | first to avoid wide screenshots. Here are a few browser extension examples to take screenshots.
33 |
34 | - [Fireshots](https://chrome.google.com/webstore/detail/take-webpage-screenshots/mcbpblocgmgfnpjjppndjkmgjaogfceg)
35 | - [Nimbus](https://chrome.google.com/webstore/detail/nimbus-screenshot-screen/bpconcjcammlapcogcnnelfmaeghhagj)
36 |
37 | To upload the image drag the image into the comment section of an existing Pull Request.
38 |
39 | This will generate the image URL link for you
40 | 
41 |
42 | Video example on [How to attach an Image in README.md file with Github](https://youtu.be/wVHJtL-y7P0)
43 |
44 |
45 | ## Other Sections As Needed
46 |
47 | Sections specific to this repo, but not found in all repos, should go here.
48 |
49 | ## Documentation
50 |
51 | Further documentation for this module is available on the [Islandora documentation site](https://islandora.github.io/documentation/).
52 |
53 | ## Troubleshooting/Issues
54 |
55 | Having problems or solved a problem? Check out the Islandora google groups for a solution.
56 |
57 | - [Islandora Group](https://groups.google.com/forum/?hl=en&fromgroups#!forum/islandora)
58 | - [Islandora Dev Group](https://groups.google.com/forum/?hl=en&fromgroups#!forum/islandora-dev)
59 |
60 | ## FAQ
61 |
62 | Q. Is this normal?
63 |
64 | A. Yes. This is normal. Why ...
65 |
66 | ## Maintainers/Sponsors
67 |
68 | Current maintainers:
69 |
70 | - [Maintainer Name](https://github.com/maintainer_github)
71 | - [Another Maintainer](https://github.com/maintainer_github)
72 |
73 | This project has been sponsored by:
74 |
75 | - Some really awesome sponsor
76 |
77 | ## Development
78 |
79 | If you would like to contribute, please get involved by attending our weekly [Tech Call](https://github.com/Islandora/documentation/wiki). We love to hear from you!
80 |
81 | If you would like to contribute code to the project, you need to be covered by an Islandora Foundation [Contributor License Agreement](https://drive.google.com/file/d/1k6eCM5EV-w4I4ErkiGj4NJwvLnXkejyk/view?usp=sharing) or [Corporate Contributor License Agreement](https://drive.google.com/file/d/1-SQYuHWRxvltQYgkFWpYv7nGbvJp1u8h/view?usp=sharing). Please see the [Contributors](https://github.com/Islandora/islandora-community/wiki/Onboarding-Checklist) pages on Islandora.ca for more information.
82 |
83 | We recommend using the [islandora-playbook](https://github.com/Islandora-Devops/islandora-playbook) to get started. If you want to pull down the submodules for development, don't forget to run git submodule update --init --recursive after cloning.
84 |
85 | Also include any Travis gotcha's here.
86 |
87 | ## License
88 |
89 | [Name](link). GPLv2 for Drupal modules. MIT for other modules.
90 | ```
91 |
--------------------------------------------------------------------------------
/docs/contributing/sandbox.md:
--------------------------------------------------------------------------------
1 | # Updating the Sandbox
2 |
3 | !!! Note
4 | This page is about the online sandbox, [https://sandbox.islandora.ca](https://sandbox.islandora.ca). If you are looking to set up your own site, see the Installation section.
5 |
6 | The sandbox at [https://sandbox.islandora.ca](https://sandbox.islandora.ca) is built, configured, and deployed, by the [https://github.com/Islandora-Devops/sandbox](https://github.com/Islandora-Devops/sandbox) repository. This build process happens nightly from the Sandbox's latest release.
7 |
8 | ## Maintaining the front-end site
9 |
10 | The Sandbox makes use of the following components, which are version-locked in the `drupal/Dockerfile` file:
11 |
12 | * Islandora Workbench
13 | * Islandora Demo Objects
14 | * Islandora Starter Site
15 |
16 | In order to update them, you need to update the desired `XXX_COMMIT` hash; compute and add a sha-256 checksum; and then cut a release of the Sandbox repository. It will be deployed to the production site overnight. See full instructions at the [Sandbox README](https://github.com/Islandora-Devops/sandbox).
17 |
18 | Note that some of these components will need to be updated together, for example a new column in the Demo Objects may require a new field in the Starter Site.
19 |
20 | ## Maintaining the back-end containers
21 |
22 | The containers used in the Sandbox are specified by the `ISLANDORA_TAG` value in the `.env` file.
23 |
--------------------------------------------------------------------------------
/docs/contributing/templates/closeCommitterVote.txt:
--------------------------------------------------------------------------------
1 | To: islandora-committers@googlegroups.com
2 | Subject: RESULT Vote new Islandora Committer candidate: [Nominee]
3 |
4 | Body:
5 | =================================
6 | The vote has now closed. The results are:
7 |
8 | Binding Votes:
9 |
10 | +1 [TOTAL BINDING +1 VOTES]
11 | 0 [TOTAL BINDING +0/-0 VOTES]
12 | -1 [TOTAL BINDING -1 VOTES]
13 |
14 | The vote is ***successful/not successful***
15 |
16 | Regards,
17 | [Self]
18 | =================================
19 |
--------------------------------------------------------------------------------
/docs/contributing/templates/committerAnnounce.txt:
--------------------------------------------------------------------------------
1 | To: islandora@googlegroups.com, islandora-dev@googlegroups.com
2 | Subject: New committer: [New Committer]
3 |
4 | Body:
5 | ================================
6 | The Islandora committers have asked [New Committer] to become a committer and we are pleased to announce that they have accepted.
7 |
8 | ### add specific details here ###
9 |
10 | Further details of the rights and responsibilities of being a Islandora committer can be found here:
11 | http://islandora.github.io/documentation/contributing/committers/
12 |
13 | Regards,
14 |
15 | ================================
16 |
--------------------------------------------------------------------------------
/docs/contributing/templates/committerInvite.txt:
--------------------------------------------------------------------------------
1 | To: [Invitee]
2 |
3 | Subject:
4 | ===================================
5 | Invitation to become Islandora committer: [Invitee]
6 | ===================================
7 |
8 | Body:
9 | ===================================
10 | Hello [Invitee],
11 |
12 | The Islandora Committers Team hereby offers you committer privileges to the Islandora project. These privileges are offered on the understanding that you'll use them reasonably and with common sense. We like to work on trust rather than unnecessary constraints.
13 |
14 | Being a committer does not require you to participate any more than you already do. It does tend to make one even more committed. You will probably find that you spend more time here. Of course, you can decline and instead remain as a contributor, participating as you do now. The specific rights and responsibilities of being an Islandora committer can be found here:
15 | http://islandora.github.io/documentation/contributing/committers/
16 |
17 | This personal invitation is a chance for you to accept or decline in private. Either way, please let us know.
18 |
19 | Best regards,
20 | (on behalf of the Islandora Committers)
21 | ===================================
22 |
--------------------------------------------------------------------------------
/docs/contributing/templates/committerInviteCLA.txt:
--------------------------------------------------------------------------------
1 | To: [Invitee]
2 |
3 | Subject:
4 | ===================================
5 | Invitation to become Islandora committer: [Invitee]
6 | ===================================
7 |
8 | Body:
9 | ===================================
10 | Hello [Invitee],
11 |
12 | The Islandora Committers Team hereby offers you committer privileges to the Islandora project. These privileges are offered on the understanding that you'll use them reasonably and with common sense. We like to work on trust rather than unnecessary constraints.
13 |
14 | Being a committer does not require you to participate any more than you already do. It does tend to make one even more committed. You will probably find that you spend more time here. Of course, you can decline and instead remain as a contributor, participating as you do now. The specific rights and responsibilities of being an Islandora committer can be found here:
15 | http://islandora.github.io/documentation/contributing/committers/
16 |
17 | A. This personal invitation is a chance for you to accept or decline in private. Either way, please let us know.
18 |
19 | B. If you are accepting, the next step is to submit your signed iCLA found at the link below to community@islandora.ca:
20 | https://github.com/Islandora/islandora/wiki/Contributor-License-Agreements
21 |
22 | Best regards,
23 | (on behalf of the Islandora Committers)
24 | ===================================
25 |
--------------------------------------------------------------------------------
/docs/contributing/templates/committerVote.txt:
--------------------------------------------------------------------------------
1 | To: islandora-committers@googlegroups.com
2 | Subject: Vote new committer: [Candidate]
3 |
4 | Body:
5 | =============================
6 | [ add the reasons behind your nomination here ]
7 |
8 | Please respond with a +1, 0, or -1, and any rationale you would like to provide.
9 |
10 | Voting ends one week from today, i.e. midnight UTC on YYYY-MM-DD
11 | http://www.timeanddate.com/counters/customcounter.html?year=YYYY&month=MM&day=DD
12 |
13 | Regards,
14 | [Self]
15 | =============================
16 |
--------------------------------------------------------------------------------
/docs/css/custom.css:
--------------------------------------------------------------------------------
1 |
2 | .md-typeset .admonition.islandora,
3 | .md-typeset details.islandora {
4 | border-color: rgb(194, 19, 19);
5 | }
6 | .md-typeset .islandora > .admonition-title,
7 | .md-typeset .islandora > summary {
8 | background-color: rgba(194, 19, 19, 0.1);
9 | }
10 | .md-typeset .islandora > .admonition-title::before,
11 | .md-typeset .islandora > summary::before {
12 | content: "🦞";
13 | background-color: rgba(194, 19, 19, 0);
14 | -webkit-mask-image: none;
15 | mask-image: none;
16 | mask-size: unset;
17 | }
18 |
19 | .markdown-body .callout[theme="islandora"] {
20 | --background: #c54245;
21 | --border: #ffffff6b;
22 | --text: #f5fffa;
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/docs/index.md:
--------------------------------------------------------------------------------
1 | # About
2 | 
3 |
4 | ## This is Islandora
5 |
6 | [Islandora](https://islandora.ca) is an open-source framework that provides the necessary tools to use a [Drupal](https://www.drupal.org) website as a fully-functional Digital Assets Management System. See [Quickstart](installation/quickstart.md) to get started.
7 |
8 | Islandora:
9 |
10 | [//]: # (We should probably replace as many of the links in this section as possible with links to within this documentation, and make it clear which are internal links and which link out.)
11 | - **Is native Drupal** - With Islandora, you can create preservation-ready digital resources using Drupal nodes, media, files, and taxonomy terms.
12 | - **Provides a sensible starting place** - No two Islandora sites are the same, but we provide a starting point for Drupal - the [Islandora Starter Site](https://github.com/Islandora/islandora-starter-site/) - as well as several methods of [installation](installation/quickstart.md) that set up a working suite of services external to Drupal and show off Islandora's capabilities.
13 | - **Integrates with Fedora** - Drupal resources can be stored in Lyrasis's [Fedora Repository](https://wiki.duraspace.org/display/FF/Fedora+Repository+Home) (version 5.0 or greater) as binaries (files) and RDF metadata.
14 | - **Uses microservices** - Islandora provides an architecture for messaging and integration with any number of microservices, that provide services outside of the Drupal framework. Islandora's [Crayfish](https://github.com/Islandora/crayfish) suite of microservices provides functionality for synchronizing resources into Fedora and for automatically generating helper files, called derivatives.
15 | - **Can handle messages at scale** - Islandora created [Alpaca](https://github.com/Islandora/Alpaca), an integration middleware based on Apache Camel, to handle messaging and queueing at an enterprise scale. To the user, this means large batch uploads can be processed gracefully.
16 |
17 | [//]: # (Allowing bulk uploads to be processed without affecting the server... would be the ideal right? but right now they're on the same server. Is just saying "scalability" ok?)
18 |
19 | - **Offers digital preservation features** - Using a robust storage layer for preservation (Fedora), and generating technical metadata with FITS, are digital preservation tools provided by our automated installation methods. Community members have created additional features for doing [digital preservation using Islandora](https://github.com/mjordan/digital_preservation_using_islandora), which are not yet part of our automated setup.
20 | - **Exposes data to harvesters** - Metadata about resources is available as linked data through the [JSON-LD serialization module](https://github.com/Islandora/jsonld), and can be made available through Drupal, Fedora, or a triplestore. Islandora Starter Site also offers a full configuration for exposing [OAI-PMH](user-documentation/metadata-harvesting.md#oai-pmh) so that metadata can be harvested by aggregators, and [IIIF support](https://github.com/Islandora/islandora/tree/8.x-1.x/modules/islandora_iiif) means images in Islandora can be viewed in any IIIF-compliant viewer.
21 | - **Offers flexibility** - As Islandora content is Drupal content, migrations and batch editing can be done through Drupal's built-in migrate framework and vocabularies can be created using Drupal taxonomies. Contributed Drupal modules such as [Solr Search API](https://www.drupal.org/project/search_api_solr) enable in-site search, and [Matomo Analytics](https://www.drupal.org/project/matomo) provides usage metrics for site analytics.
22 | - **Is a community** - A [dedicated, active community of users and developers](https://groups.google.com/forum/#!forum/islandora) is working to push new features, collaborate on improvements, design custom solutions, and create extended functionality. Some of these for Islandora 8 take the form of [Recipes](https://github.com/Islandora-Labs/Islandora-Cookbook).
23 |
24 | ## Join the Community
25 |
26 | The [Islandora community](https://www.islandora.ca/community) is an active group of users, managers, librarians, documenters, and developers from galleries, libraries, archives, museums, and other institutions worldwide. We welcome discussion and contribution through various mailing lists, channels, interest groups, and calls. The Islandora community operates under the [Islandora Code Of Conduct](https://www.islandora.ca/code-of-conduct). See our Contributing Guidelines for more information.
27 |
28 |
29 | !!! note "Documentation for previous versions"
30 | Documentation for Islandora Legacy (6 and 7) is on the [Lyrasis documentation wiki](https://wiki.lyrasis.org/display/ISLANDORA/Start).
31 |
--------------------------------------------------------------------------------
/docs/installation/docker/docker-introduction.md:
--------------------------------------------------------------------------------
1 | # Introduction to ISLE
2 |
3 | ## What is ISLE?
4 |
5 | ISLE, short for ISLandora Enterprise, is a community initiative to ease the installation and maintenance of Islandora by using Docker. It was originally started by the Islandora Collaboration Group for Islandora Legacy. When transitioning to Islandora, the project came under the purview of the Islandora Foundation. All documentation on this site assumes you're trying to install Islandora. [See here](https://islandora-collaboration-group.github.io/ISLE/) if you are looking for ISLE for Islandora Legacy.
6 |
7 | ## Why use ISLE?
8 |
9 | ISLE's architecture using [Docker](https://www.docker.com/) separates out the "state" of your site (i.e. all the content, files, and configurations that you've entered) from the underlying software that runs it (e.g. webserver, database, microservices, etc). This allows for easier upgrades, faster development, and more flexible deployment. It is hands down the easiest way to install, run, and maintain and Islandora instance.
10 |
11 | ## Where is ISLE?
12 |
13 | ISLE is a suite of Docker containers that run the various components of Islandora: drupal, fedora, solr, alpaca, crayfish, matomo, etc. The individual containers are created (and automatically pushed to [Docker Hub](https://hub.docker.com/u/islandora)) by [ISLE BuildKit](https://github.com/Islandora-Devops/isle-buildkit).
14 |
15 | In order to deploy the containers, however, you need to use a container orchestration tool. The ISLE project provides tools for running and maintaining the containers using docker-compose with [ISLE Docker Compose](https://github.com/Islandora-Devops/isle-dc) or [ISLE Site Template](https://github.com/Islandora-Devops/isle-site-template).
--------------------------------------------------------------------------------
/docs/installation/docker/isle-dc/docker-available-commands.md:
--------------------------------------------------------------------------------
1 | # Available Commands
2 |
3 | There's a lot of useful commands available to you from within the `isle-dc` folder.
4 |
5 | ## Rebuild docker-compose.yml
6 |
7 | `make -B docker-compose.yml` will rebuild your `docker-compose.yml` file based on configuration in your `.env` file. `make demo` and `make local` will automatically do this for you, but if you change configuration at a later point in time, you'll need to run this command to see your changes reflected.
8 |
9 | ## Config Export
10 |
11 | `make config-export` will export your site's configuration to your site's config sync directory (usually `config/sync` inside your Drupal root folder).
12 |
13 | ## Config Import
14 |
15 | `make config-import` will import site's configuration from your site's config sync directory (usually `config/sync` inside your Drupal root folder).
16 |
17 | ## Database Dump
18 |
19 | `make drupal-database-dump DEST=/your/path/dump.sql` will dump your Drupal database and place the file at `DEST`.
20 |
21 | ## Database Import
22 |
23 | `make drupal-database-import SRC=/your/path/dump.sql` will import your Drupal database from the file at `SRC`.
24 |
25 | ## Export Public Files
26 |
27 | `make drupal-public-files-dump DEST=/your/path/public_files.tgz` will export your public filesystem and place it as a single zipped tarball at `DEST`.
28 |
29 | ## Import Public Files
30 |
31 | `make drupal-public-files-import SRC=/your/path/public_files.tgz` will import your public filesystem from a single zipped tarball at `SRC`.
32 |
33 | ## Fcrepo Export
34 |
35 | `make fcrepo-export DEST=/your/path/fcrepo-export.tgz` will export your Fedora repository and place it as a single zipped tarball at `DEST`
36 |
37 | ## Fcrepo Import
38 |
39 | `make fcrepo-import SRC=/your/path/fcrepo-export.tgz` will import your Fedora repository from a single zipped tarball at `SRC`
40 |
41 | ## Reindex Fedora Metadata
42 |
43 | `make reindex-fcrepo-metadata` will reindex RDF metadata from Drupal into Fedora. Requires the [Views Bulk Operations Module](https://www.drupal.org/project/views_bulk_operations).
44 |
45 | ## Reindex Solr
46 | `make reindex-solr` will rebuild rebuild Solr search index for your repository.
47 |
48 | ## Reindex the Triplestore
49 |
50 | `make reindex-triplestore` will reindex RDF metadata from Drupal into Blazegraph. Requires the [Views Bulk Operations Module](https://www.drupal.org/project/views_bulk_operations).
51 |
--------------------------------------------------------------------------------
/docs/installation/docker/isle-dc/docker-basic-usage.md:
--------------------------------------------------------------------------------
1 | # Basic Usage
2 |
3 | After you've finished installing Islandora using ISLE, here's some useful information to keep close at hand
4 | about running your site.
5 |
6 | ## Important Files
7 |
8 | The `make` commands that you used to install Islandora will leave you with two very important files.
9 |
10 | | File | Purpose |
11 | |:---------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
12 | | `.env` | A configuration file that is yours to customize. This file controls how the docker-compose.yml file gets generated to meet your use case.It also allows you to set variables that make their way into the final `docker-compose.yml` file, such as your site's domain. |
13 | | `docker-compose.yml` | A ready to run `docker-compose.yml` file based on your `.env` file. This file is considered disposable. When you change your `.env` file, you will generate a new one. |
14 |
15 | ## Available Services
16 |
17 | Here's a list of all the available services. Note that there are some services over `http` and not `https`.
18 | Those aren't meant to be exposed to the public, but internally people from your organization will want to
19 | access them. In practice, you can restrict access to these services using firewall rules to just those who
20 | you trust.
21 |
22 | | Service | Url |
23 | | :---------- | :--------------------------------------------------------------------------------------------- |
24 | | Drupal | [https://islandora.traefik.me](https://islandora.traefik.me) |
25 | | Traefik | [http://islandora.traefik.me:8080](https://islandora.traefik.me:8080) |
26 | | Fedora | [http://islandora.traefik.me:8081/fcrepo/rest](https://islandora.traefik.me:8081/fcrepo/rest) |
27 | | Blazegraph | [http://islandora.traefik.me:8082/bigdata](https://islandora.traefik.me:8082/bigdata) |
28 | | Activemq | [http://islandora.traefik.me:8161](https://islandora.traefik.me:8161) |
29 | | Solr | [http://islandora.traefik.me:8983](https://islandora.traefik.me:8983) |
30 | | Cantaloupe | [https://islandora.traefik.me/cantaloupe](https://islandora.traefik.me/cantaloupe) |
31 | | Matomo | [https://islandora.traefik.me/matomo/](https://islandora.traefik.me/matomo/) |
32 | | Code Server | [http://islandora.traefik.me:8443/](https://islandora.traefik.me:8443/) |
33 |
34 | ## Basic Commands
35 |
36 | ### Stopping Islandora
37 |
38 | If you want to stop Islandora, you can bring down all the containers with
39 |
40 | ```
41 | docker-compose down
42 | ```
43 |
44 | ### Restarting Islandora
45 |
46 | If you want to start Islandora back up after stopping it, use
47 |
48 | ```
49 | docker-compose up -d
50 | ```
51 |
52 | ### Deleting Islandora
53 |
54 | If you want to stop Islandora and delete all of its content, use
55 |
56 | ```
57 | docker-compose down -v
58 | ```
59 |
60 | ### Regenerating docker-compose.yml
61 |
62 | If you make changes to configuration in the .env file, you may need to regenerate your `docker-compose.yml` file so that
63 | those changes take effect.
64 |
65 | ```
66 | make -B docker-compose.yml
67 | ```
68 |
69 | Once you have a new `docker-compose.yml` file, you'll need to restart your containers that have had configuration change.
70 | You can do this easily with
71 |
72 | ```
73 | docker-compose up -d
74 | ```
75 |
76 | Even if the site is up and running, that command will only restart the containers it needs to.
77 |
78 | ### Listing services
79 |
80 | You can see a list of all the containers that you have running and their statuses by running
81 |
82 | ```
83 | docker ps -a
84 | ```
85 |
86 | ### Tailing Logs
87 |
88 | You can tail logs using
89 |
90 | `docker-compose logs service_name`
91 |
92 | For example, to tail nginx logs for Drupal, use `docker-compose logs drupal`.
93 |
94 | If you don't know what you're looking for exactly, you can turn on the fire hose and look through all logs by dropping
95 | the service name and simply using
96 |
97 | `docker-compose logs`
--------------------------------------------------------------------------------
/docs/installation/docker/isle-dc/docker-local.md:
--------------------------------------------------------------------------------
1 | # Installing a Development or Demo Server
2 |
3 | When developing locally, your Drupal site resides in your `isle-dc/codebase` folder and is bind-mounted into your
4 | Drupal container. This lets you update code using the IDE of your choice on your host machine, and the
5 | changes are automatically reflected on the Drupal container.
6 |
7 | ## Installing ISLE Docker Compose
8 |
9 | Use Git to install the ISLE Docker Compose tool:
10 |
11 | `git clone https://github.com/islandora-devops/isle-dc`
12 |
13 | Tagged versions are available [here](https://github.com/Islandora-Devops/isle-dc/tags).
14 |
15 | ## Getting Started
16 |
17 | If you don't already have a Drupal site, you'll be given a basic setup using Drupal 10 and the
18 | [Islandora Starter Site](https://github.com/Islandora-Devops/islandora-starter-site).
19 |
20 | If you do already have a Drupal site, use git to clone it into place as the `codebase` folder.
21 |
22 | ```
23 | cd /path/to/isle-dc
24 | git clone https://github.com/your_org/your_repo codebase
25 | ```
26 |
27 | Now you'll need to tell `isle-dc` to look for it by setting the `ENVIRONMENT` variable in
28 | your `.env` file. If you don't have one, copy over `sample.env` and name it `.env`. Then
29 | set
30 |
31 | ```
32 | ENVIRONMENT=starter
33 | ```
34 |
35 | You should also change the `COMPOSE_PROJECT_NAME` variable. This determines the name of the
36 | Docker containers and volumes that are created when you run `make starter`. If you leave this as the default
37 | you will need to be careful not to overwrite the containers with another install of `isle-dc`
38 | later.
39 | ```
40 | COMPOSE_PROJECT_NAME=isle-dc
41 | ```
42 |
43 | If your site includes exported configuration from `drush config:export`, then you'll also
44 | need to set
45 |
46 | ```
47 | INSTALL_EXISTING_CONFIG=true
48 | DRUPAL_INSTALL_PROFILE=minimal
49 | ```
50 |
51 | Once you are ready, run
52 |
53 | ```bash
54 | make starter
55 | ```
56 |
57 | to install the Drupal site in your `codebase` folder and spin up all the other containers with it.
58 |
59 | Enjoy your Islandora instance! Check out the [basic usage documentation](docker-basic-usage.md) to see
60 | all the endpoints that are available and how to do things like start and stop Islandora. Your passwords,
61 | including the Drupal admin password, can be found in the `secrets/live` directory after you run `make starter`.
62 |
63 | ## Demo Content
64 |
65 | To populate your site with some demo content, you can run `make demo_content`. This will import some sample objects into your Islandora site.
66 |
--------------------------------------------------------------------------------
/docs/installation/docker/isle-dc/docker-maintain-drupal.md:
--------------------------------------------------------------------------------
1 | # Maintaining Your Drupal Site
2 |
3 | Drupal has a dedicated security team, and regularly produces updates to address security issues
4 | that are discovered. You should always keep your Drupal site up to date so that you are
5 | protected against known vulnerabilities. Updating Drupal can be intimidating, but we have
6 | step-by-step instructions to help you do it safely.
7 |
8 | ## Note on Production Sites
9 |
10 | Please note that maintaining Drupal should be done on your development
11 | site. For production sites, you should build an image from the `codebase` folder on your development
12 | machine, and run that image in production. For more information on this, please see the [production install
13 | instructions](https://islandora.github.io/documentation/installation/docker-custom/).
14 |
15 | ## Running commands
16 |
17 | Once you have a `codebase` folder, how do you maintain it and keep it up to date? The quick answer is
18 | "the same way you maintain any Drupal site with Composer and Drush"... with one small caveat. You most
19 | likely do not have PHP or Composer on your machine, and even if you do, you want to make sure you're
20 | using the exact same version that your Docker container is using. So to ensure all the versions of things line
21 | up, we use Docker to execute Drush and Composer from the Drupal container. The general template for
22 | running a command in your Drupal container looks like this:
23 |
24 | ```
25 | docker compose exec -T drupal with-contenv bash -lc 'YOUR COMMAND'
26 | ```
27 |
28 | You can also just shell into the Drupal container and run commands as well,
29 | just be aware that if you shut down your container for any reason, you'll lose your
30 | bash history. If you want to shell in to run commands, drop the `-T` and `-lc 'YOUR COMMAND'`
31 | bits.
32 |
33 | ```
34 | docker compose exec drupal with-contenv bash
35 | ```
36 |
37 | ## Updating your Drupal Site
38 |
39 | Use Composer to update your site's modules and their dependencies. The working directory
40 | of the Drupal container is the Drupal root (a.k.a. `codebase`), so you don't need to `cd`
41 | into any other directory before running the command. The following command will update
42 | all modules and their dependencies that are not pinned to specific versions.
43 |
44 | ```
45 | docker compose exec -T drupal with-contenv bash -lc "su nginx -s /bin/bash -c 'composer update -W'"
46 |
47 | ```
48 | Note that we run this command as the nginx user. By default, commands are run as root, which
49 | can cause some ownership issues when running Composer. By running this as nginx, we ensure
50 | that new files are owned by the nginx user.
51 |
52 | ### Permission Issue
53 |
54 | When running Composer commands you may come across the following error
55 | ```
56 | [ErrorException]
57 | file_put_contents(/var/www/drupal/web/sites/default/settings.php): failed to open stream: Operation not permitted
58 | ```
59 | This means that Composer is not able to write to your settings.php file. If you run into this
60 | error, giving write permission to the nginx user should fix it.
61 |
62 | ## Drupal Database Updates
63 |
64 | After getting the newest code, you'll want to use Drush to update the Drupal database
65 | and run any other update hooks that have been introduced. However, _YOU SHOULD BACK UP
66 | YOUR DATABASE BEFORE GOING ANY FURTHER_. You never know when something will go wrong and
67 | you don't want to be stuck with an unusable database and no plan B.
68 |
69 | ```
70 | make drupal-database-dump DEST=/path/to/dump.sql
71 | ```
72 |
73 | Now you can safely update the Drupal database with Drush via
74 |
75 | ```
76 | docker compose exec -T drupal with-contenv bash -lc 'drush updb'
77 | ```
78 |
79 | If for any reason, something goes wrong, you can Restore the Drupal database at any time by running
80 |
81 | ```
82 | make drupal-database-import SRC=/path/to/dump.sql
83 | ```
84 |
--------------------------------------------------------------------------------
/docs/installation/docker/isle-dc/docker-troubleshooting.md:
--------------------------------------------------------------------------------
1 | # Troubleshooting
2 |
3 | ### Make command not found
4 |
5 | If you get the error `bash: make: command not found` then you need to install GNU make. Run `sudo apt update` and `sudo apt install make` to install.
6 |
7 | ### Docker Versions
8 |
9 | If you get an error such as: `ERROR: Version in "./docker-compose.activemq.yml" is unsupported.`, then you need to upgrade Docker. Enter the command `make clean` before re-attempting to `make demo`.
10 |
11 | ### Re-attempting `make demo`
12 |
13 | If `make` fails for any reason, enter `make clean` before attempting to `make` again. If not, you may see an error such as: `ERROR: Top level object in './docker-compose.yml' needs to be an object not ''.`
14 |
15 | ### Docker containers exit without warning
16 |
17 | If you notice some Docker containers drop (exited(0)), and (in Docker Desktop) the isle-dc app icon is yellow instead of green, try increasing the resources allocated to Docker (see note above).
18 |
19 | ### Connection timed out (Mac).
20 |
21 | If you are using Docker Desktop for Mac, and get timeout errors when spinning up the containers (during `docker-compose up -d` or during `make local`) such as this:
22 |
23 | ```
24 | ERROR: for isle-dc_mariadb_1 UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=480)
25 | ```
26 |
27 | you can try quitting Docker completely (make sure there is no whale icon in your top toolbar - may need to select "Quit" from the whale icon itself) and then restart Docker.
28 | ### 504 Bad Gateway
29 | If you get a white screen with a 504 Bad Gateway error, this means your containers haven't finished initializing themselves yet. If you've waiting an appropriate amount of time (2-5 minutes), then there is most likely an error in a container's startup script. Use `docker ps -a` to see which services have `Exited` status, and then tail their logs with `docker-compose logs service_name`.
30 |
--------------------------------------------------------------------------------
/docs/installation/docker/site-template/docker-modifications.md:
--------------------------------------------------------------------------------
1 | # Docker Modifications
2 |
3 | ISLE Site Template provides you with a `docker-compose.yml` file that allows you to get an Islandora site running quickly, but it makes some assumptions about how the site will run, and which containers you will use. Once you have your site running you may want to make some modifications to the default setup that the Site Template uses.
4 |
5 | ## Adding / Editing Environment Variables
6 |
7 | Islandora Buildkit provides several environment variables that can be modified when creating containers.
8 |
9 | Please see the README for the different buildkit images to see what is available:
10 |
11 | - [ActiveMQ](https://github.com/Islandora-Devops/isle-buildkit/tree/main/activemq)
12 | - [Alpaca](https://github.com/Islandora-Devops/isle-buildkit/tree/main/alpaca)
13 | - [Blazegraph](https://github.com/Islandora-Devops/isle-buildkit/tree/main/blazegraph)
14 | - [Cantaloupe](https://github.com/Islandora-Devops/isle-buildkit/tree/main/cantaloupe)
15 | - [Code Server](https://github.com/Islandora-Devops/isle-buildkit/tree/main/code-server)
16 | - [Crayfits](https://github.com/Islandora-Devops/isle-buildkit/tree/main/crayfits)
17 | - [Drupal](https://github.com/Islandora-Devops/isle-buildkit/tree/main/drupal)
18 | - [Fedora](https://github.com/Islandora-Devops/isle-buildkit/tree/main/fcrepo6)
19 | - [Fits](https://github.com/Islandora-Devops/isle-buildkit/tree/main/fits)
20 | - [Homarus](https://github.com/Islandora-Devops/isle-buildkit/tree/main/homarus)
21 | - [Houdini](https://github.com/Islandora-Devops/isle-buildkit/tree/main/houdini)
22 | - [Hypercube](https://github.com/Islandora-Devops/isle-buildkit/tree/main/hypercube)
23 | - [MariaDB](https://github.com/Islandora-Devops/isle-buildkit/tree/main/mariadb)
24 | - [Milliner](https://github.com/Islandora-Devops/isle-buildkit/tree/main/milliner)
25 | - [Solr](https://github.com/Islandora-Devops/isle-buildkit/tree/main/solr)
26 |
27 | You can add these environment variables to your docker-compose.yml in order to change their values. For example, if you want to increase the PHP memory limit in your production Drupal container, you can do so like this:
28 |
29 | ```
30 | drupal-prod:
31 | <<: [*prod, *drupal]
32 | Environment:
33 | PHP_MEMORY_LIMIT: 1G
34 | ```
35 |
36 |
37 | ## Removing Services
38 |
39 | You may not want to use all the images that are included in the Site Template’s `docker-compose.yml`. You can remove containers by deleting their sections in the docker-compose.yml file.
40 |
41 | For example, to remove Fedora, you would delete the services called fcrepo-dev and fcrepo-prod.
42 |
43 | Depending on the container you are removing, you may need to delete references to it as well. For example, some containers are referenced by others in the `depends_on` field. You will need to also delete these references, so if you delete the `fedora-dev` service, you will need to remove the rule that `traefik-dev` depends on it.
44 |
45 | If you are removing a container which is referenced by Drupal, ensure that you update Drupal as well (e.g. if removing Fedora, ensure your Media's files are not writing to the Fedora filesystem).
46 |
47 | After doing `docker compose down`, run `docker compose up -d --remove-orphans` to remove the containers you removed from the docker-compose.yml file.
48 |
49 | ## Hiding Fedora From the Public
50 |
51 | By default, your Fedora repo will be available to the public at `fcrepo.${DOMAIN}`. If you do not want to expose your Fedora, you can stop this URL from working by disabling it via Traefik in your `docker-compose.yml`. To do this, you need to add the `traefik-disable` label to `fcrepo-prod` like this,
52 |
53 | ```yaml
54 | fcrepo-prod:
55 | <<: [*prod, *fcrepo]
56 | environment:
57 | <<: [*fcrepo-environment]
58 | FCREPO_ALLOW_EXTERNAL_DRUPAL: "https://${DOMAIN}/"
59 | labels:
60 | <<: [*traefik-disable, *fcrepo-labels]
61 | ```
62 |
63 | If you have done this, you can also remove the DNS records that point this URL to your production server.
64 |
65 | Finally, you will have to change the URL that Drupal uses to access the Fedora repo. This can be found in your `docker-compose.yml` in the `environment` section for `drupal-prod`, and should be changed to:
66 |
67 | ```yaml
68 | DRUPAL_DEFAULT_FCREPO_URL: "http://fcrepo:8080/fcrepo/rest/"
69 | ```
70 |
--------------------------------------------------------------------------------
/docs/installation/docker/site-template/site-template.md:
--------------------------------------------------------------------------------
1 | # ISLE Site Template
2 |
3 | ## What is the ISLE Site Template?
4 |
5 | The [ISLE Site Template][ISLE Site Template] is a system for installing
6 | Islandora on Docker. As with ISLE-DC, it uses [Docker Compose][Docker Compose]
7 | to orchestrate the installation of all the different services (Docker
8 | containers) that make up Islandora. Unlike ISLE-DC, in ISLE Site Template you
9 | use Docker Compose commands directly, helping you to get familiar with the
10 | kinds of commands that will be a key part of running and maintaining Islandora.
11 |
12 | ## Usage
13 |
14 | 1. **Do not clone the Isle Site Template!**
15 | * Unlike most other repositories we provide, the Isle Site Template is not
16 | meant to be cloned or forked. Rather, it can be downloaded using `curl`
17 | and installed either manually or automatically.
18 |
19 | 2. Instead, follow the instructions in the ISLE Site Template's `README.md` and
20 | `README.template.md` files.
21 |
22 | * Instructions are provided both for `dev` and `prod` environments, with
23 | different services available on each.
24 |
25 | 3. During installation, you will install a copy of the [Islandora Starter
26 | Site][Islandora Starter Site].
27 | * Though, if you select the manual installation option, you can change that
28 | out for a different base composer project. This will form the basis of
29 | your Drupal site. If you don't have a custom version, we recommend using the
30 | Islandora Starter Site (and it's installed automatically during the automatic
31 | install).
32 |
33 | 4. Customizing your site can be persisted to your own repo.
34 | * In the process of setting you the ISLE Site Template, you are encouraged
35 | to create a custom Git repository for this project. When you do, you can
36 | save your changes to several components of your own site, for example the site
37 | name in Docker, which services you have running, and all changes made to your
38 | entire Drupal site configuration.
39 |
40 | [ISLE Site Template]: https://github.com/Islandora-Devops/isle-site-template
41 | [Docker Compose]: https://docs.docker.com/compose/
42 | [Islandora Starter Site]: https://github.com/Islandora-Devops/islandora-starter-site
43 |
--------------------------------------------------------------------------------
/docs/installation/quickstart.md:
--------------------------------------------------------------------------------
1 | # Quickstart
2 |
3 | There are several ways to try Islandora, which are presented here in order of increasing sophistication. By default, they all install the [Islandora Starter Site](https://github.com/Islandora-Devops/islandora-starter-site) which is a starting place for customizing your own site, as well as our suite of external services.
4 |
5 | ## Online Sandbox
6 |
7 | Try Islandora without installing anything at [sandbox.islandora.ca](https://sandbox.islandora.ca/).
8 | [Login credentials](https://github.com/Islandora/documentation/wiki/Sandbox.Islandora.ca-online-credentials) for the sandbox can be found on our Wiki.
9 |
10 | Anyone can log in to this sandbox as an administrator and explore the interface! However, this site is refreshed every night so your changes will not be permanent. This site uses the Islandora Starter Site. This sandbox includes some sample content and configuration (such as views and blocks) to increase its usefulness as a sandbox. .
11 |
12 | ## ISLE Site Template
13 |
14 | [ISLE Site Template](https://github.com/Islandora-Devops/isle-site-template) uses Docker and is based off images created by [ISLE Buildkit](https://github.com/Islandora-Devops/isle-buildkit), but is a simpler tool than ISLE-DC. This is a full-fledged Docker installation where you can install modules and themes using Composer, either by executing commands in the container or by using the built-in IDE. It is suitable for local development or production. See documentation: [Installation - Site Template](docker/site-template/site-template.md) for more details.
15 |
16 | ## ISLE-DC
17 |
18 | [ISLE-DC](https://github.com/Islandora-Devops/isle-dc) uses Docker and provisions each service in the Islandora stack in a separate container. The containers are also based off of the images in ISLE Buildkit. ISLE-DC uses the [GNU Make](https://www.gnu.org/software/make/) tool to provide several shortcuts to performing common management functions. It is suitable for local development or production. See documentation: [Installation - Docker ISLE](docker/isle-dc/docker-local.md) for more details.
19 |
20 |
21 | ## Ansible Playbook
22 |
23 | To provision a local Vagrant or remote Ubuntu virtual machine (without Docker), you can use the [Islandora Ansible Playbook](https://github.com/Islandora-Devops/islandora-playbook). The playbook results in all services installed on a single machine, but can be altered to spread services across various machines. This is a full-fledged VM where you can install modules and themes using Composer. This method requires basic command-line usage and it's advantageous if you are familiar with provisioning software on Ubuntu. This Playbook is suitable for local or production use, though local use (through VirtualBox and Vagrant) is not supported yet by Apple hardware (i.e. M1/M2 machines). See documentation: [Installation - Ansible Playbook](playbook.md) for more details.
24 |
--------------------------------------------------------------------------------
/docs/models/audio.md:
--------------------------------------------------------------------------------
1 | # Audio
2 |
3 | ## Media and File Types
4 |
5 | Islandora Starter Site uses the built-in Drupal "Audio" media type for video. Islandora Starter Site configures it to accept files of type `mp3`, `wav`, and `aac`.
6 |
7 | ## Derivatives
8 |
9 | Islandora uses Homarus (ffmpeg as a microservice) to create audio derivatives. Islandora Starter Site sets you up to create:
10 |
11 | * "Service file" from the original file, with parameters `-codec:a libmp3lame -q:a 5`, stored in the public filesystem
12 |
13 | These parameters can be changed in the configuration for the Drupal Action that Islandora uses to generate an Audio derivative.
14 |
15 | Islandora Starter Site sets up a context to automatically create this derivative when:
16 |
17 | * The Audio media is tagged with the "Original File" term (a term with External URI `http://pcdm.org/use#OriginalFile`)
18 | * The media's parent node is tagged with the "Audio" model (a term with External URI `http://purl.org/coar/resource_type/c_18cc`)
19 |
20 | The mimetype formats allowed by Homarus are configured in Homarus itself - see [Installing Crayfish](../installation/manual/installing-crayfish.md#homarus-audiovideo-derivatives)
21 |
22 | ## Display
23 |
24 | Drupal provides an "Audio" field formatter for file fields that displays a simple playable audio widget. It works but does not support captions/subtitles. Islandora provides an "Audio with captions" formatter that allows for captions.
25 |
26 | To use the captions feature out of the box, add the captions track as a WEBVTT file (`.vtt`) in the Audio media's "Track" field (see below regarding which Audio media to use). If you don't have the "Track" field (provided by Islandora Starter Site), create a field of type "Media Track" (a type provided by Islandora) on the same Media (or more broadly, same entity) as your audio file. Then use the Manage Display page to set your audio file field to render using the "Audio with captions" field formatter.
27 |
28 | If you're using Islandora Starter Site, you can expect to see an audio player on your node. This is done with a special view (an EVA view) that displays service files, which is configured to show on Repository Item's default display mode (on the "Manage Display" page). The EVA view renders the service file media using the "Source" view mode. For Audio media, this is configured to show only the audio file using the "Audio with Captions" widget. Note that captions, to be displayed, must be on the media that is playing. Thus, when the Service file media is being played, captions on the Original File media are ignored.
29 |
--------------------------------------------------------------------------------
/docs/models/video.md:
--------------------------------------------------------------------------------
1 | # Video
2 |
3 | ## Media and file types
4 |
5 | Islandora Starter Site uses the built-in Drupal "Video" media type for videos. Islandora Starter Site configures it to accept files of type `mp4`.
6 |
7 | The Install Profile also makes available the "Remote video" media type, but its behaviour has not been publicly documented.
8 |
9 | ## Derivatives
10 |
11 | Islandora uses Homarus (ffmpeg as a microservice) to create video derivatives. Islandora Starter Site sets you up to create:
12 |
13 | * Service file with mimetype video/mp4 [yes, this is the same as the input, i'm not sure if it downsamples]
14 | * Thumbnail with mimetype image/jpeg, derived from one second into the video and scaled down to ~100 px using the command `-ss 00:00:01.000 -frames 1 -vf scale=100:-2`.
15 |
16 | These parameters can be changed in the configuration for the Drupal Actions that Islandora uses to create video derivatives.
17 |
18 | Islandora Starter Site sets up a context to automatically create this derivative when:
19 |
20 | * The Video media is tagged with the "Original File" term (a term with External URI `http://pcdm.org/use#OriginalFile`)
21 | * The media's parent node is tagged with the "Video" model (a term with External URI `http://purl.org/coar/resource_type/c_18cc`)
22 |
23 | The mimetype formats allowed by Homarus are configured in Homarus itself - see [Installing Crayfish](../installation/manual/installing-crayfish.md#homarus-audiovideo-derivatives)
24 |
25 | ## Display
26 |
27 | Drupal provides a "Video" field formatter for file fields that displays a simple playable video widget. It works but does not support captions/subtitles. Islandora provides a "Video with Captions" formatter that allows for captions.
28 |
29 | To use the Captions feature out of the box, add the captions track as a WEBVTT file (`.vtt`) in the Video media's "Track" field (see below regarding which Video media to use). If you don't have the "Track" field (provided by Islandora Starter Site), create a field of type "Media Track" (a type provided by Islandora) on the same Media (or more broadly, same entity) as your audio file. Then use the Manage Display page to set your audio file field to render using the "Audio with captions" field formatter.
30 |
31 | If you're using Islandora Starter Site, you can expect to see a video player on your node. This is done with a special view (an EVA view) that displays service files, which is configured to show on the default view of Repository Items (see the "Manage Display" page). The EVA view renders the service file media using the "Source" view mode. For Video media, this is configured to show only the video file using the "Video with Captions" formatter. Thus, when the Service file media is being played, captions on the Original File media are ignored.
32 |
--------------------------------------------------------------------------------
/docs/placeholder.md:
--------------------------------------------------------------------------------
1 | # Placeholder page
2 | This page serves as a placeholder for functionality that still needs documentation.
3 |
4 | Interested in contributing to the Islandora documentation? Join the Community!
5 |
6 | The [Islandora community](https://www.islandora.ca/community) is an active group of users, managers, librarians, documenters, and developers from GLAM (and beyond!) institutions worldwide. We welcome discussion and contribution through various mailing lists, channels, interest groups, and calls. The Islandora community operates under the [Islandora Code Of Conduct](https://islandora.ca/codeofconduct). See our [Contributing Guidelines](contributing/CONTRIBUTING.md) for more information, or drop by a meeting of the [Documentation Interest Group](https://github.com/islandora-interest-groups/Islandora-Documentation-Interest-Group) for a helping hand.
7 |
8 |
9 | !!! note "Documentation for previous versions"
10 | Documentation for Islandora 6 and 7 is on the [Lyrasis documentation wiki](https://wiki.lyrasis.org/display/ISLANDORA/Start).
11 |
--------------------------------------------------------------------------------
/docs/technical-documentation/adding-format-jsonld.md:
--------------------------------------------------------------------------------
1 | Drupal requires the use of a `_format` query parameter to get alternate representations of a node/media.
2 |
3 | By default, Islandora deploys with the [jsonld](https://github.com/Islandora/jsonld) module and the [Milliner](https://github.com/Islandora/Crayfish/tree/main/Milliner) microservice. These two components are configured to strip this `_format` query parameter off of the end of URIs.
4 |
5 | This means that when your content is indexed in Fedora, the triplestore, etc... it's URI will
6 | be something like `http://localhost:8000/node/1` and not `http://localhost:8000/node/1?_format=jsonld`.
7 |
8 | ## Pre-1.0 installations.
9 |
10 | If you are using a __very__ early version of Islandora "8" (pre-release), then you may have URIs with `_format=jsonld` at the end of them.
11 |
12 | If you update to newer code, you will need to ensure that your site is configured to add `?_format=jsonld`
13 | back to the URLs if you want to maintain consistency.
14 |
15 | If you **don't** do this, you can end up with two copies of your objects in your Fedora repository (one with and one without `?_format=jsonld`). You will also have two sets of triples in your triplestore.
16 |
17 | ## Adding ?_format=jsonld to your URIs
18 |
19 | To turn the `?_format` parameter back on:
20 |
21 | - Go to `admin/config/search/jsonld` and confirm the *"Remove jsonld parameter from @ids"* checkbox is **unchecked**.
22 | - Add `strip_format_jsonld: false` to your Milliner config. If you deployed using the default Islandora-playbook this file would be located at `/var/www/html/Crayfish/Milliner/cfg/config.yaml`.
23 |
24 | If you are using [Islandora-playbook](https://github.com/Islandora-Devops/Islandora-playbook) and are provisioning new environments for your older Islandora, you'll want to lock down the variables in your inventory that control this config.
25 |
26 | - `crayfish_milliner_strip_format_jsonld: true`
27 | - `webserver_app_jsonld_remove_format: 1`
28 |
--------------------------------------------------------------------------------
/docs/technical-documentation/checking-coding-standards.md:
--------------------------------------------------------------------------------
1 | # Checking Code Style
2 |
3 | Before opening a pull request, you should check your code style. If you are using the [Vagrant](https://github.com/Islandora-Devops/claw-playbook), you can run `phpcs` within the Drupal installation directory (on the Vagrant, that is `/var/www/html/drupal`) or from within the `web` directory (`/var/www/html/drupal/web`) as follows:
4 |
5 | * from within Drupal's root directory: `./vendor/bin/phpcs --standard=./vendor/drupal/coder/coder_sniffer/Drupal modules/contrib/my_module`, where `modules/contrib/my_module` is the relative or full path to the PHP file you want to check.
6 | * from within Drupal's `web` directory: `../vendor/bin/phpcs --standard=../vendor/drupal/coder/coder_sniffer/Drupal yourfile`, where `yourfile` is the relative or full path to the PHP file you want to check.
7 |
8 | In both cases:
9 |
10 | * the path to the coding standard file can be relative to where you are running it from, e.g. when in `web`: `--standard=../vendor/drupal/coder/coder_sniffer/Drupal`
11 | * you can specify a single file to check, or a directory path; in the latter case, all files in that directory will be checked.
12 |
13 | Islandora runs `phpcs` in its Github continuous integration environment, and there, it specifies which files to ignore and which files to check. It is a good idea for developers to specify the same options when running `phpcs` locally, prior to opening a pull request. For example (running `phpcs` from the within Drupal's `web` directory), you should use the following `--ignore` and `--extensions` options:
14 |
15 | `../vendor/bin/phpcs --standard=../vendor/drupal/coder/coder_sniffer/Drupal --ignore=*.md --extensions=php,module,inc,install,test,profile,theme,css,info modules/contrib/my_module`
16 |
--------------------------------------------------------------------------------
/docs/technical-documentation/diagram.md:
--------------------------------------------------------------------------------
1 | # Islandora Architecture Diagram
2 |
3 | 
4 |
5 | Diagram prepared by [Bethany Seeger](https://github.com/bseeger) based on work done by [Gavin Morris](https://github.com/g7morris)
6 |
7 | ## Components
8 |
9 | ### Islandora
10 |
11 | The following components are microservices developed and maintained by the Islandora community. They are bundled under [Islandora Crayfish](https://github.com/Islandora/Crayfish):
12 |
13 | * [FITS](https://github.com/roblib/CrayFits) - A Symfony 4 Microservice to generate FITS data and persist it as a Drupal media node. Works with [Islandora FITS](https://github.com/roblib/islandora_fits)
14 | * [Homarus](https://github.com/Islandora/Crayfish/tree/dev/Homarus) - Provides [FFmpeg](https://www.ffmpeg.org/) as a microservice for generating video and audio derivatives.
15 | * [Houdini](https://github.com/Islandora/Crayfish/tree/dev/Houdini) - [ImageMagick](https://www.imagemagick.org/script/index.php) as a microservice for generating image-based derivatives, including thumbnails.
16 | * [Hypercube](https://github.com/Islandora/Crayfish/tree/dev/Hypercube) - [Tesseract](https://github.com/tesseract-ocr) as a microservice for optical character recognition (OCR).
17 | * [Milliner](https://github.com/Islandora/Crayfish/tree/dev/Milliner) - A microservice that converts Drupal entities into Fedora resources.
18 | * [Recast](https://github.com/Islandora/Crayfish/tree/dev/Recast) - A microservice that remaps Drupal URIs to add Fedora-to-Fedora links based on associated Drupal URIs in RDF.
19 |
20 |
21 | ### Other Open Source
22 |
23 | The following components are deployed with Islandora, but are developed and maintained by other open source projects:
24 |
25 |
26 | * [Apache](https://www.apache.org/) - The Apache HTTP Server, colloquially called Apache, is a free and open-source cross-platform web server software. Provides the environment in which Islandora and its components run.
27 | * [ActiveMQ](https://activemq.apache.org/) - Apache ActiveMQ is an open source message broker written in Java together with a full Java Message Service client.
28 | * [Karaf](https://karaf.apache.org/) - A modular open source OSGi runtime environment.
29 | * [Tomcat](http://tomcat.apache.org/) - an open-source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and WebSocket technologies. Tomcat provides a "pure Java" HTTP web server environment in which Java code can run.
30 | * [Solr](https://lucene.apache.org/solr/) - An open-source enterprise-search platform. Solr is the default search and discover layer of Islandora, and a key component in some methods for [migration to Islandora from Islandora Legacy](https://github.com/Islandora-devops/migrate_7x_claw)
31 | * [Blazegraph](https://blazegraph.com/) - Blazegraph is a triplestore and graph database.
32 | * [Cantaloupe](https://cantaloupe-project.github.io/) - an open-source dynamic image server for on-demand generation of derivatives of high-resolution source images. Used in Islandora to support [IIIF](https://iiif.io/)
33 | * [Drupal](https://www.drupal.org/) - Drupal is an open source content management system, and the heart of Islandora. All user and site-building aspects of Islandora are experienced through Drupal as a graphical user interface.
34 | * [Fedora](https://wiki.lyrasis.org/display/FF/Fedora+Repository+Home) - A robust, modular, open source repository system for the management and dissemination of digital content. The default smart storage for Islandora.
35 | * [Matomo](https://matomo.org/) - Matomo, formerly Piwik, is a free and open source web analytics application. It provides usage statistics and a rich dashboard for Islandora.
36 | * [MySQL](https://www.mysql.com/) - MySQL is an open-source relational database management system. Used as a Drupal database in Islandora, it can be easily replaced with other database management systems such as [PostgreSQL](https://www.postgresql.org/)
37 | * Triplestore - See Blazegraph.
38 |
--------------------------------------------------------------------------------
/docs/technical-documentation/docs-build.md:
--------------------------------------------------------------------------------
1 | # Introduction
2 |
3 | This documentation is built using [MkDocs](http://www.mkdocs.org/), a static site generator that is geared towards building project documentation. The documentation is created in the [Markdown](http://en.wikipedia.org/wiki/Markdown) format, and it all resides in the [`docs`](https://github.com/Islandora/documentation/tree/main/docs) directory in the repository. The organization of the documentation is controlled by the [`mkdocs.yml`](https://github.com/Islandora/documentation/blob/main/mkdocs.yml) in the root of the repository.
4 |
5 | !!! Tip "Video version available"
6 | Some of the material in this tutorial is presented in our video, [How to Build Documentation](https://youtu.be/YgSXicNow5w).
7 |
8 |
9 | ## Prerequisites
10 |
11 | You will need to have `mkdocs` software installed locally, as well as a required plugin and the MkDocs _Material_ theme. Below we will show you how to install `mkdocs` using the Python language's `pip` tool. For more details on installing and using MkDocs visit the [MkDocs installation guide](https://www.mkdocs.org/#installation).
12 |
13 | - Open a terminal window.
14 |
15 | - Install `mkdocs`:
16 |
17 | Windows / Linux:
18 |
19 | `sudo -H pip install mkdocs`
20 |
21 | macOS:
22 |
23 | `pip3 install mkdocs`
24 |
25 |
26 |
27 | - Install plugin to enable display of the last revision date:
28 |
29 | Windows / Linux:
30 |
31 | `sudo -H pip install mkdocs-git-revision-date-localized-plugin`
32 |
33 | macOS:
34 |
35 | `pip3 install mkdocs-git-revision-date-localized-plugin`
36 |
37 |
38 | - Install plugin to enable redirects:
39 |
40 | Windows / Linux:
41 |
42 | `sudo -H pip install mkdocs-redirects`
43 |
44 | macOS:
45 |
46 | `pip3 install mkdocs-redirects`
47 |
48 |
49 | - Install Material theme:
50 |
51 | Windows / Linux:
52 |
53 | `sudo -H pip install mkdocs-material`
54 |
55 | macOS:
56 |
57 | `pip3 install mkdocs-material`
58 |
59 |
60 |
61 | ## Build and Deploy documentation
62 |
63 | Make sure you have all the submodules:
64 |
65 | `git submodule update --init --recursive`
66 |
67 | Documentation is build by running to the following command in the root of the repository:
68 |
69 | `mkdocs build --clean`
70 |
71 | This command will create a static `site` folder in the root of the repository.
72 |
73 | You can preview any changes you have made to the documentation by running the following command:
74 |
75 | `mkdocs serve`
76 |
77 | And then visiting http://localhost:8111 in your browser.
78 |
79 | To deploy documentation to GitHub Pages, issue the following command:
80 |
81 | `mkdocs gh-deploy --clean`
82 |
83 | To stop the `mkdocs serve` command just type the key combination "Control-c".
84 |
--------------------------------------------------------------------------------
/docs/technical-documentation/install-enable-drupal-modules.md:
--------------------------------------------------------------------------------
1 | ## Downloading and Enabling Drupal Modules and Themes
2 |
3 | Islandora can make use of the majority of Drupal [modules](https://www.drupal.org/project/project_module) and [themes](https://www.drupal.org/project/project_theme). Common use cases have been documented in the [Islandora Cookbook](../user-documentation/extending.md). There are several ways to download and install Drupal modules. Please refer to [this guide](https://www.drupal.org/docs/extending-drupal) on Drupal.org.
4 |
5 | [Composer](https://www.drupal.org/docs/develop/using-composer/using-composer-to-install-drupal-and-manage-dependencies) is the recommended method to install and update drupal modules and themes in Islandora. Drupal modules provided by Islandora can be accessed at the `drupal/` namespace.
6 | ```shell
7 | $ composer require "/:"
8 |
9 | # Example
10 | $ composer require "drupal/jsonld:^2"
11 | ```
12 |
13 | In the [Islandora playbook](https://github.com/Islandora-Devops/islandora-playbook), you can add a Drupal module's or theme's machine name to the `drupal_composer_dependencies` variable [here](https://github.com/Islandora-Devops/islandora-playbook/blob/dev/inventory/vagrant/group_vars/webserver/drupal.yml).
14 | To enable the Drupal module or theme, add the module machine name to the `drupal_enable_modules` variable as well.
15 |
16 | 
17 |
18 | For modules that require additional steps, additional tasks may need to be added to the Ansible playbook. Re-provisioning your instance via Ansible will install the module.
19 |
20 | ## Video Walkthroughs: Modules & Installing modules with Composer
21 |
22 | Click the image below to open the **introduction to Modules** video tutorial on the Islandora Youtube channel.
23 |
24 | [](https://www.youtube.com/watch?v=mvX3cnNeOns)
25 |
26 | Click the image below to open the **Installing modules with Composer** video tutorial on the Islandora Youtube channel.
27 |
28 | [](https://www.youtube.com/watch?v=otl-pPPGdR8)
29 |
30 | See more videos from the Drupal 101 series [here.](https://www.youtube.com/watch?v=meRNdBxaiTE&list=PL4seFC7ELUtogpsYoN8WZLLOjJVRZFGTZ)
31 |
--------------------------------------------------------------------------------
/docs/technical-documentation/migrate-7x.md:
--------------------------------------------------------------------------------
1 | ## Migrating from Islandora Legacy to Islandora (YouTube Video)
2 |
3 | [](https://www.youtube.com/watch?v=n0kLOB8ZdbM)
4 | Nov 21, 2019
5 |
6 | !! note "Migration from Islandora Legacy"
7 | For tools to migrate into Islandora from an existing Islandora Legacy instance, please see [migrate_7x_claw](https://github.com/Islandora-devops/migrate_7x_claw).
8 |
9 | ## Project Planning for Migration
10 |
11 | [](https://www.youtube.com/watch?v=EMH9iz3r02k)
12 |
13 | Presented by Mark Jordan and Janice Banser, this session will outline strategies for understanding your data and planning for a move to Islandora.
14 |
--------------------------------------------------------------------------------
/docs/technical-documentation/migration-migrate-api.md:
--------------------------------------------------------------------------------
1 | ## Migrate API
2 |
3 | Uses the Drupal [Migrate API](https://www.drupal.org/docs/drupal-apis/migrate-api/migrate-api-overview), which "provides services for migrating data from a source system" to Drupal 8, 9, or 10.
4 |
5 | The "source system" can be almost anything:
6 |
7 | - an Islandora Legacy system
8 | - a group of scanned images and their metadata inside a CSV file
9 | - a web API
10 |
11 | Why use the Migrate API?
12 |
13 | - You can (potentially) do everything with configs!
14 | - Leverage contrib module plugins.
15 | - Making plugins for more complex sources and processes is (relatively) simple.
16 | - Updating metadata is as simple as:
17 | `drush mim node --update`
18 |
19 | ### A Migration Configuration defines an Extract, Transform, Load (ETL) process
20 |
21 | - Source plugins extract data from a source
22 | - Process plugins transform the data
23 | - Destination plugins load the data (create new entities)
24 |
25 | ### We’ve built two tools for you using the Migrate API
26 |
27 | - **migrate_islandora_csv**
28 | -
29 | - Tutorial with a sample migration using some files and a CSV
30 | - Documentation section on [migrate_islandora_csv](migrate-csv.md)
31 | - **migrate_7x_claw**
32 | -
33 | - A tool to get all your Islandora Legacy content migrated over
34 | - Documentation section on [migrate_7x_claw](migrate-7x.md)
35 |
36 | #### Recap of migrate_islandora_csv
37 |
38 | - CSVs
39 | - Everyone understands and knows how to work with CSVs
40 | - Documented
41 | - It’s a step-by-step walkthrough
42 | - Process Metadata
43 | - Clean up / transform the metadata using processors
44 | - Build Relationships
45 | - Migrations can reference other migrated content or generate new content on the fly
46 |
47 | #### Recap of migrate_7x_claw
48 |
49 | - Designed to migrate Islandora Legacy data to Islandora.
50 | - DATASTREAMS
51 | - All of your datastreams, including the audit trail, are migrated
52 | - METADATA
53 | - Migrate metadata from Solr or any XML datastream
54 | - CUSTOMIZABLE
55 | - Migrate_7x_claw is a starting point, meant to be tailored to your metadata
56 |
57 | ##### To make migrate_7x_claw work you need
58 |
59 | - Access
60 | - You need credentials to both your Islandora Legacy and Islandora installs.
61 | - Migrate API Knowledge
62 | - The tutorial for migrate_islandora_csv
63 | Is still relevant
64 | - Config Sync
65 | - You need to understand Drupal config synchronization. Features knowledge helps too.
66 | - Command Line Skills
67 | - This is best done with shell access and drush
68 |
69 | ### Migrate API demo video
70 |
71 | Check out this video that demonstrates the Drupal Migrate API migration process: [Islandora Webinar: Migrating from Islandora Legacy to Islandora](migrate-7x.md) (Nov 21, 2019)
72 |
--------------------------------------------------------------------------------
/docs/technical-documentation/migration-overview.md:
--------------------------------------------------------------------------------
1 | ## Migration and Batch Loading
2 |
3 | This [video](https://www.youtube.com/watch?v=95Bnix-z1zY) (Aug 10, 2020) provides an overview of the various options available to migrate data into an Islandora installation.
4 |
5 | [](https://www.youtube.com/watch?v=95Bnix-z1zY)
6 |
7 | The three main migration options are:
8 |
9 | - [REST API](migration-rest-api.md)
10 | - [Migrate API](migration-migrate-api.md)
11 | - migrate_islandora_csv
12 | - migrate_7x_claw
13 | - [Islandora Workbench](migration-islandora-workbench.md)
14 |
15 |
16 | ### REST API
17 |
18 | Why use the rest API?
19 |
20 | - **Works anywhere**: You don’t have to work on the Drupal server. Migrate from your laptop!
21 | - **No PHP required**: Use any language that can make an http request. Even cURL will do just fine.
22 | - **JSON**: Why use XML if you don’t have to?
23 | - Relies on Drupal’s own REST API
24 |
25 | Visit the [REST API](migration-rest-api.md) migration documentation section for more details.
26 |
27 |
28 | ### Migrate API
29 |
30 | Why use the Migrate API?
31 |
32 | - You can (potentially) do everything with configs!
33 | - Leverage contrib module plugins.
34 | - Making plugins for more complex sources and processes is (relatively) simple.
35 | - Updating metadata is as simple as:
36 | `drush mim node --update`
37 |
38 | Two tools that use the Migrate API are [migrate_islandora_csv](migrate-csv.md) and [migrate_7x_claw](migrate-7x.md).
39 |
40 | Visit the [Migrate API](migration-migrate-api.md) migration documentation section for more details.
41 |
42 |
43 | ### Islandora Workbench
44 |
45 | Why use the Migrate API?
46 |
47 | - More tailored for end users with less technical knowledge or limited server access.
48 | - Uses Islandora’s REST API
49 | - Runs on your computer
50 | - “CSVs and a pile of scans”
51 | - Cross Platform - Python
52 |
53 | Visit the [Islandora Workbench](migration-islandora-workbench.md) migration documentation section for more details.
54 |
--------------------------------------------------------------------------------
/docs/technical-documentation/migration-rest-api.md:
--------------------------------------------------------------------------------
1 | ## REST API
2 |
3 | Why use the REST API?
4 |
5 | - **Works anywhere**: You don’t have to work on the Drupal server. Migrate from your laptop!
6 | - **No PHP required**: Use any language that can make an HTTP request. Even cURL will do just fine.
7 | - **JSON**: Why use XML if you don’t have to?
8 |
9 | BONUS: It’s just Drupal’s REST API
10 |
11 | ### Islandora only provides two additional API endpoints
12 |
13 | - /media/{mid}/source
14 | - PUT a file to this endpoint to create/update a Media’s file
15 | - /node/{nid}/media/{media_type}/{taxonomy_term}
16 | - PUT a file to this endpoint to create/update a Media for a Node
17 |
18 | Just be aware, you are writing everything yourself! (In other words you are making all of the migration decisions yourself.)
19 |
20 | ### Videos
21 |
22 | This [video](https://www.youtube.com/watch?v=95Bnix-z1zY) (Aug 10, 2020) provides an overview of the **REST API** and the two other options available to migrate data into an Islandora installation.
23 |
24 | [](https://www.youtube.com/watch?v=95Bnix-z1zY)
25 |
--------------------------------------------------------------------------------
/docs/technical-documentation/resizing-vm.md:
--------------------------------------------------------------------------------
1 | ## Resize vagrant machine
2 | To expand virtual machine's hard drive for testing of larger files. Once the VM has started, you'll need to `halt` the VM, download and run the script, tell it what size (in MB) and then start the VM.
3 | The last step `vagrant ssh --command "sudo resize2fs /dev/sda1"` is a check. It should return there was nothing to do. If you already provisioned you VM you can skip the 2 steps with provisioning in them.
4 |
5 | ```shell
6 | # Skip this if you VM is already provisioned.
7 | $ vagrant up --no-provision <-- Exclude if already running and provisioned.
8 |
9 | $ vagrant halt
10 |
11 | # Download and run. This will default to the correct name (just press enter) then give the size.
12 | # Example: `350000` is equal to 350GB
13 |
14 | $ wget https://gist.githubusercontent.com/DonRichards/6dc6c81ae9fc22cba8d7a57b90ab1509/raw/45017e07a3b93657f8822dfbbe4fc690169cdabc/expand_disk.py
15 | $ chmod +x expand_disk.py
16 | $ python expand_disk.py
17 | $ vagrant up --no-provision
18 |
19 | # This step isn't needed but acts as a check to verify it worked.
20 | $ vagrant ssh --command "sudo resize2fs /dev/sda1"
21 |
22 | # Skip this if you VM is already provisioned.
23 | $ vagrant provision <-- Exclude if already provisioned.
24 | ```
25 |
26 | ### Troubleshooting expand_disk.py
27 | You may need to remove the "resized" version. Assuming your VM location is `~/VirtualBox\ VMs`
28 | ```shell
29 | $ rm -rf ~/VirtualBox\ VMs/Islandora\ CLAW\ Ansible_resized
30 | ```
31 |
--------------------------------------------------------------------------------
/docs/technical-documentation/running-automated-tests.md:
--------------------------------------------------------------------------------
1 | # Running Automated Tests
2 |
3 | See the [Drupal Documentation on PHPUnit in Drupal](https://www.drupal.org/docs/automated-testing/phpunit-in-drupal).
4 |
5 | ## Setting up PhpUnit
6 |
7 | Before you can use phpunit, you must first install the following:
8 |
9 | `composer require --dev -W phpspec/prophecy-phpunit drupal/core-dev`
10 |
11 | In ISLE, you need to make the database port available to PHPUnit. To do that, edit `docker-compose.yml` and find the section including `image: islandora/mariadb[version number]`. Shortly below is a `labels:` heading; set the value of the `traefik.enable: ` to `"true"`. Apply the changes made to the `docker_compose.yml` using `docker compose up -d`.
12 |
13 | Follow the `Configure PHPUnit` and `Create a directory for HTML output` sections in [Drupal Documentation on running phpunit tests](https://www.drupal.org/docs/automated-testing/phpunit-in-drupal/running-phpunit-tests) to make a `phpunit.xml` file. Note that:
14 |
15 | * If you place the `phpunit.xml` file in any directory other than `[drupal root]/web/core`, you need to change the 'bootstrap' in the `` tag near the top of the file to point to the relative or absolute location of the `[drupal root]/web/core` folder.
16 |
17 | * When setting the `SIMPLETEST_DB` database credentials in ISLE,
18 | * the default username and db_name are `drupal_default`
19 | * your db_password can be found in `codebase/web/sites/default/settings.php`
20 |
21 | * Unless you changed the default values, just swap out [password] for your actual db password in the following:
22 |
23 | ```
24 | mysql://drupal_default:[password]@islandora.traefik.me:3306/drupal_default`.
25 |
26 | ```
27 |
28 | ## Running PHPUnit
29 |
30 | If you are in the Drupal root directory (`codebase` on ISLE; the one containing `web`) and your `phpunit.xml` file is also in the Drupal root directory, use the following command to run phpunit for a single test file (here, Islandora's DeleteNodeWithMediaAndFile.php):
31 |
32 | `vendor/bin/phpunit web/modules/contrib/islandora/tests/src/Functional/DeleteNodeWithMediaAndFile.php`
33 |
34 | If your phpunit.xml is in a different directory, such as web/core, then use the -c flag to specify the path to the directory containing phpunit.xml:
35 |
36 | `vendor/bin/phpunit -c web/core web/modules/contrib/islandora/tests/src/Functional/DeleteNodeWithMediaAndFile.php`
37 |
38 | ## Setting up PHPUnit in PHPStorm
39 |
40 | * [Drupal Documentation on running phpunit tests](https://www.drupal.org/docs/automated-testing/phpunit-in-drupal/running-phpunit-tests-within-phpstorm)
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/technical-documentation/testing-notes.md:
--------------------------------------------------------------------------------
1 | ## How to find things in Fedora?
2 |
3 | For any Drupal URI, the corresponding Fedora URIs is computed by the [Crayfish Commons](https://github.com/Islandora/Crayfish-Commons/blob/2.x/src/EntityMapper/EntityMapper.php) library using the Drupal-assigned UUID. In Drupal, a "pseudo-field" is available that will display the corresponding Fedora URI on the page of a node, taxonomy term, or media object. The presence of this URI does NOT guarantee the existence of the corresponding entity in Fedora.
4 |
5 | ### Enabling the Fedora URI Pseudo-field
6 |
7 | To display the Fedora URI pseudo-field on a Drupal node, media, or taxonomy term, go to Manage > Configuration > Islandora and select all the bundles for which you would like the Fedora URI displayed. Once you have selected the bundles, and cleared the cache, the new pseudo-field will appear at the bottom of _all display modes_. You can alter where in the display the Fedora URI field appears, by going to the "Manage Display" page for the bundle. For example, for a Repository Item, you'd go to Manage > Structure > Content Types, and under the dropdown for "Repository Item, select "Manage Display". In that list you should see `Fedora URI` which you can move around (or hide) as desired. This will need to be repeated in each Display mode (tab). Clearing cache may be necessary to refresh the node display.
8 |
9 | Note: This information used to be stored in a service called Gemini, which kept track of corresponding minted Fedora URIs and their minted equivalents. Gemini was removed for Islandora 2.0.0.
10 |
11 |
12 | ## How do I search for a object in the Solr?
13 | * Go to `http://localhost:8983/solr/#/islandora/query`
14 | * Issue a Solr query.
15 |
16 | Example
17 | ```
18 | ss_search_api_id:"entity:node/4:en"
19 | ```
20 |
21 | ## Sample Triplestore queries
22 | * Go to `http://localhost:8080/bigdata/#query`
23 | * Under namespaces (`http://localhost:8080/bigdata/#namespaces`), make sure `islandora` is selected.
24 |
25 | ### Find all triples with given object as the subject
26 | ```
27 | select ?p ?o where { ?p ?o }
28 | ```
29 |
30 | Example:
31 |
32 | ```
33 | select ?p ?o where { ?p ?o }
34 | ```
35 |
36 | ### Getting objects in a collection
37 | ```
38 | select ?s where { ?s }
39 | ```
40 |
41 | Example:
42 |
43 | ```
44 | select ?s where { ?s }
45 | ```
46 |
47 | ### Find all media/files belonging to a node
48 |
49 | ```
50 | select ?s where { ?s }
51 | ```
52 |
53 | Example:
54 |
55 | ```
56 | select ?s where { ?s }
57 | ```
58 |
--------------------------------------------------------------------------------
/docs/technical-documentation/using-rest-endpoints.md:
--------------------------------------------------------------------------------
1 | # Islandora via REST
2 |
3 | Each node, media and file in Drupal has its own URI and we can GET the resources, some in a variety of formats.
4 |
5 | We can also create nodes, media and files in Drupal by using PUT and/or POST requests.
6 |
7 | We can update the field content by using a PATCH request and lastly we can DELETE a node, media or file resource.
8 |
9 | To perform these actions, you will need the `RESTful Web Services` module enabled.
10 |
11 | To configure your setup via the UI, you also need the `RESTful UI` module enabled.
12 |
13 | Then you can configure your REST services at `https:///admin/config/services/rest`
14 |
15 | This screenshot shows the setup for resources, you can see the various HTTP methods and what formats they will respond in and what authentication methods they support.
16 |
17 | 
18 |
19 | 1. [Authorization](rest-authorization.md)
20 | 1. [Getting resources - GET](rest-get.md)
21 | 1. [Creating resources - POST/PUT](rest-create.md)
22 | 1. [Updating resources - PATCH](rest-patch.md)
23 | 1. [Deleting resources - DELETE](rest-delete.md)
24 |
25 | ## Further Reading
26 |
27 | - [RESTful Web Services API overview](https://www.drupal.org/docs/drupal-apis/restful-web-services-api/restful-web-services-api-overview)
28 |
--------------------------------------------------------------------------------
/docs/technical-documentation/versioning.md:
--------------------------------------------------------------------------------
1 | # Versioning Policy
2 |
3 | Islandora uses semantic versioning for all non-Legacy code in the [github.com/Islandora](https://github.com/Islandora) organization. This allows us to be compatible with Composer and with Drupal's [release naming conventions](https://www.drupal.org/node/1015226) for contributed modules.
4 |
5 | ## Semantic Versioning
6 |
7 | [Semantic Versioning](https://semver.org/) is a common versioning standard. Versions have the form: **Major version**, **Minor version**, or **Patch**.
8 |
9 | - **Major version**: Major changes, and breaks the API.
10 | - **Minor version**: New features, and does not break the API.
11 | - **Patch**: Bug fixes, and never breaks backward compatibility.
12 |
13 | ### Examples
14 |
15 | * `1.2.3 => 1.2.4` - Just a bug fix, should be a drop-in replacement.
16 | * `1.2.3 => 1.3.0` - Adds in new features, should be a drop-in replacement to get new functionality.
17 | * `1.2.3 => 2.0.0` - Major changes, may require a migration or changes to your set-up.
18 |
19 | ### Repositories under semantic versioning
20 |
21 | The following Islandora components use semantic versioning:
22 |
23 | * [Alpaca](https://github.com/Islandora/Alpaca)
24 | * [Chullo](https://github.com/Islandora/Chullo)
25 | * [Crayfish](https://github.com/Islandora/Crayfish)
26 | * [Crayfish Commons](https://github.com/Islandora/Crayfish-Commons)
27 | * [Syn](https://github.com/Islandora/Syn)
28 | * [controlled\_access\_terms](https://github.com/Islandora/controlled_access_terms) (Drupal module)
29 | * [islandora](https://github.com/Islandora/islandora) (Drupal module)
30 | * [jsonld](https://github.com/Islandora/jsonld) (Drupal module)
31 | * [openseadragon](https://github.com/Islandora/openseadragon) (Drupal module)
32 | * [islandora\_mirador](https://github.com/Islandora/islandora_mirador) (Drupal module)
33 |
34 | Drupal submodules, which are included in several of the above modules, share versions with their parents.
35 |
36 | !!! note "Drupal module versions switched from 8.x-1.x to 2.x"
37 | In October 2021, Islandora switched from the "[core compatibility](https://www.drupal.org/docs/8/understanding-drupal-version-numbers/what-do-version-numbers-mean-on-contributed-modules-and)" based numbering scheme (8.x-1.x) to a pure semantic versioning scheme for its Drupal modules. In accordance with [Drupal's requirements](https://www.drupal.org/node/1015226#semver-transition), this transition required us to bump the major version, from 1.x to 2.x, despite there not being any major API-breaking changes to the code itself.
38 |
39 | ## Implications for Release Process
40 |
41 | Committers should now create (i.e. "tag") new versions of components when new bug fixes, features, or API changes are successfully added. This means that "releases" (new versions) will be happening individually, continually, and far more frequently than before. See [Releasing Islandora](../contributing/releasing-islandora.md).
42 |
43 | ## Module Interdependencies
44 |
45 | When Islandora components require other Islandora components in their `composer.json` files, we prefer the version specification syntax `^2` to point to the latest-released compatible version within the specified major version.
46 |
--------------------------------------------------------------------------------
/docs/tutorials/how-to-create-collection.md:
--------------------------------------------------------------------------------
1 | # How to create and add to a Collection
2 |
3 | This how-to demonstrates creating a collection and adding items to it in the Islandora Starter Site. For more about collections, see [Concept: Collection](../concepts/collection.md).
4 |
5 | ## Introduction
6 |
7 | In the Islandora Starter Site, nodes that have "Collection" in their Model field will show a view of their member ("child") objects. A member is any object that is "Member of" that object, and can be added via the "Children" tab. This is the mechanism in the Islandora Starter Site, and your individual instances may vary.
8 |
9 | !!! Warning "Collections and Deleting"
10 | Collections and their members are independent of each other,
11 | and removing something from a collection does not delete it.
12 | **Similarly, deleting a collection does not delete its members.**
13 |
14 | ## Creating a Collection
15 |
16 | When logged in, click _Manage_ > _Content_ on the admin toolbar. Then, click on _Add content_.
17 |
18 | 
19 |
20 | Then click on 'Repository Item' to give your collection the default metadata profile for Islandora.
21 |
22 | 
23 |
24 | Fill out the form.
25 |
26 | At the top of the form, select "Collection" from the _Model_ dropdown list.
27 |
28 | 
29 |
30 | When done filling out the form, click _Save_.
31 |
32 | 
33 |
34 | The collection has been created. Now let's add some members to this collection.
35 |
36 | ## Add Existing Items to a Collection
37 |
38 | To populate a collection with existing items, return to any existing content and click on its Edit tab. This brings up the form for this item.
39 |
40 | 
41 |
42 | Scroll down to the bottom of the form to find the System section. In the _Member of_ field, start typing in the name of the collection this item should belong to. Select the name of the collection you want from the autocomplete. It is important that you select it from the dropdown, not just type in the correct title, because selecting it causes the node id to appear beside the title and allows Drupal to create a relationship.
43 |
44 | 
45 |
46 | The correct collection is now selected. Click _Save_ when ready.
47 |
48 | 
49 |
50 | To confirm, return to the collection and verify the new item appears in the collection's list of members.
51 |
52 | 
53 |
54 | ## Add a New Item as a Member of a Collection
55 |
56 | To create an item and add it as a member to a collection in one step, visit a collection and click on its _Children_ tab. From the
57 | _Children_ tab, you can manage the members of a collection and perform actions on them.
58 |
59 | 
60 |
61 | Click on the _+Add Child_ button, and then select _Repository Item_ as your new item's Content Type. Only content types that
62 | have the `field_member_of` field will be available from this list.
63 |
64 | 
65 |
66 | You are taken to the creation form for a Repository Item, but if you scroll down to the "System" section, you should see the widget
67 | for "Member Of" is already filled out for you with the appropriate collection.
68 |
69 | 
70 |
71 | Click 'Save' at the end of the form to create the new item and add it as a member of the collection.
72 |
73 | !!! Tip "Islandora Quick Lessons"
74 | Learn more with this video on [Making a Collection](https://youtu.be/9jFVAE6l4so).
75 |
--------------------------------------------------------------------------------
/docs/tutorials/switch-homepage-to-twig.md:
--------------------------------------------------------------------------------
1 | # Format Homepage with TWIG
2 |
3 | ## TWIG Debugging
4 | It's helpful to identify which TWIGs are available to use and where they're stored but not required use TWIGs to format the homepage.
5 |
6 | 
7 |
8 | ```shell
9 | # Copy the default service.
10 | $ cp web/sites/default/default.services.yml web/sites/default/services.yml
11 |
12 | # fix permissions (just in case)
13 | $ chown nginx:nginx web/sites/default/services.yml
14 |
15 | # I use nano to edit but you can pick whichever editor you want.
16 | # For this example we'll install the editor
17 | $ apk add nano
18 |
19 | # Now open the newly created service file and set these 3 values under the TWIG config section.
20 | $ nano web/sites/default/services.yml
21 |
22 | ...yml
23 | twig.config:
24 | debug: true
25 | auto_reload: true
26 | cache: true
27 |
28 | # Now save and exit (in NANO it's CTRL + x)
29 |
30 | ```
31 | For a video tutorial on this, see [Enabling Twig Debugging in Drupal 8/9](https://youtu.be/6WMr5V_LQ1w)
32 |
33 | ## Copying Templates
34 | Copy the default TWIG into your theme's template directory.
35 |
36 | ```shell
37 | $ cp web/themes/contrib/bootstrap/templates/node/node.html.twig web/themes/contrib/solid/templates/node--6--full.html.twig
38 |
39 | # Clear cache
40 | $ drush cr
41 | ```
42 | And now if you view the home page's source code you should now see the `X` next to the loaded TWIG file. Please note that the file name corresponds to the node number. To use the URL alias instead of the node ID requires additional work. [Here](https://www.lehelmatyus.com/1064/drupal-8-page-template-suggestion-by-path-alias)'s a tutorial on this topic.
43 | ```html
44 |
52 | ```
53 |
54 | Now edit the TWIG file (web/themes/contrib/solid/templates/node--6--full.html.twig) to say whatever you want, and it should show up immediately without needing to clear cache.
55 |
56 | ## Clean up
57 | Don't forget to turn off TWIG debugging in config file (web/sites/default/services.yml). This will likely have unexpected consequences on production system performance.
58 |
59 | ```yml
60 | twig.config:
61 | debug: false
62 | auto_reload: false
63 | ```
--------------------------------------------------------------------------------
/docs/user-documentation/accessibility.md:
--------------------------------------------------------------------------------
1 | # Accessibility
2 |
3 | Accessibility is the ability of a site to be used fully by all users, including those using screen reader technologies or keyboard navigation.
4 |
5 | ## Drupal documentation
6 |
7 | Islandora's accessibility features are currently provided by Drupal and contributed Drupal modules. These pages within the Accessibility section of the Drupal documentation can provide guidance:
8 |
9 | - [Drupal Accessibility Features](https://www.drupal.org/docs/accessibility/drupal-accessibility-features) (included in core Drupal)
10 | - [Contributed Modules for Extending Accessibility in Drupal](https://www.drupal.org/docs/accessibility/contributed-modules-for-extending-accessibility-in-drupal)
11 | - [Hiding Content Properly (for all users including users with screen readers)](https://www.drupal.org/docs/accessibility/hide-content-properly)
12 | - [How to do an accessibility review?](https://www.drupal.org/docs/accessibility/how-to-do-an-accessibility-review)
13 | - List of [External Accessibility Resources](https://www.drupal.org/docs/accessibility/external-accessibility-resources)
14 |
15 | ## Accessible themes
16 |
17 | Much of the accessibility of a website is dependent on how specific HTML tags and
18 | attributes are used, thus falls largely into the realm of Drupal Themes. The
19 | [Olivero](https://www.drupal.org/docs/core-modules-and-themes/core-themes/olivero) theme
20 | and the [Claro](https://www.drupal.org/docs/core-modules-and-themes/core-themes/claro-theme)
21 | admin theme were designed by the Drupal community with accessibility
22 | as a guiding principle.
23 |
24 | ## Automatic alt-text
25 |
26 | When creating image media, alt-text is a required attribute. An Islandora function
27 | currently automatically populates the alt-text, if that media is the "media of" a node,
28 | with the respective node's title.
29 |
30 | This is not considered good accessibility as the node's title will likely be already
31 | on the page, and it doesn't add anything to describing the image itself. Please fill
32 | out the alt text with something meaningful when adding image content to Islandora.
--------------------------------------------------------------------------------
/docs/user-documentation/breadcrumbs.md:
--------------------------------------------------------------------------------
1 | # Breadcrumbs
2 |
3 | Breadcrumbs are a Drupal concept. They provide a hierarchical path
4 | of links to "ancestors" of the current content item.
5 |
6 | 
7 |
8 | ## Islandora Breadcrumbs
9 |
10 | Islandora provides a module, "Islandora Breadcrumbs" (a submodule
11 | of the Islandora module) that creates breadcrumbs based on the value
12 | of configured reference fields (by default, `field_member_of`).
13 | To use Islandora Breadcrumbs, simply enable
14 | the module. Islandora breadcrumbs will apply to nodes that have
15 | the configured Entity Reference fields.
16 |
17 | There are a few configuration options for this module, accessible at
18 | **Manage** > **Configuration** > **Islandora** > **Breadcrumbs
19 | Settings** (`/admin/config/islandora/breadcrumbs`). These include:
20 |
21 | * Maximum number of ancestor breadcrumbs - an optional feature to
22 | stop adding "ancestor" links after a certain number
23 | * Include the current node in the breadcrumbs?
24 | * Entity Reference fields to follow - if you're using other fields
25 | to refer to parents, you can add them here.
26 |
27 | 
28 |
29 | ## Troubleshooting Breadcrumbs
30 |
31 | Breadcrumbs are cached, so if you aren't seeing the results that
32 | you expect, try clearing the Drupal cache.
33 |
--------------------------------------------------------------------------------
/docs/user-documentation/faceting.md:
--------------------------------------------------------------------------------
1 | # Faceting in Islandora
2 |
3 | ## Overview
4 | This tutorial contains are step-by-step instructions for adding a facet on a vocabulary reference field. After a search, a block containing the configured facets appears letting the user filter their search.
5 |
6 | This is a walk-through. For a more in-depth discussion of creating facets, see [Configure Advanced Search](advanced-search.md)
7 |
8 | This tutorial currently works best with the "standard" install of the Islandora and Islandora Default modules which can be obtained from the playbook (as opposed to the install profile, which handles facet blocks differently).
9 |
10 | ## Step 1: Add vocabulary bundles
11 |
12 | Steps 1 and 2 add the field to the Solr index.
13 |
14 | 1. Go to **Admin** >> **Configuration** >> **Search and Metadata** >> **Search API** (or, /admin/config/search/search-api)
15 | 1. Edit the *Default Solr content index*
16 | 1. Open the *Configure the Taxonomy term datasource* field-set, choose the vocabulary bundles you want to add to be indexed
17 | 1. Click **Save**
18 |
19 | 
20 |
21 | ## Step 2: Add fields
22 |
23 | 1. Back at the edit *Default Solr content index*, choose **Fields** from the tabs across the top
24 | 1. Click on the **Add fields** button
25 | 1. Scroll down to *Content*
26 | 1. Click on the **+** next to the field you want to add.
27 | 1. Click on the **+** next to "Taxonomy term". A bunch of subfields will appear.
28 | 1. Look for the field that contains "YOUR_FIELD:entity:name" and click on the "Add" button at the end of the bulleted point.
29 | 1. Click “Done.”
30 | 1. **IMPORTANT: Find your newly added fields In the list, and ensure the "Type" of the new field is "string" so it can be compatible with Facets.**
31 | 1. If the "Machine name" of the new field is generic, like "name_1", change it to be the same as the part of the "Property path" up to the first : (this will be the same as the field's machine name).
32 | 1. Click on the **Save changes** button.
33 |
34 | 
35 |
36 | ## Step 3: Rebuild Solr index
37 |
38 | Now that you've added the field, you need to rebuild your Solr index.
39 |
40 | 1. Go back to *Default Solr content index* (admin/config/search/search-api/index/default_solr_index)
41 | 1. Click on the **Index now** button.
42 |
43 | ## Step 4: Add and configure facet
44 | Step 4 adds and configures the facet itself.
45 |
46 | 1. Go to **Admin** >> **Configuration >> *Search and Metadata* >> **Facets** (admin/config/search/facets)
47 | 1. Click on the **Add facet** button
48 | 1. Select the *View Solr search content* source
49 | 1. In the Field list, select the field you added above
50 | 1. You can adjust the admin Name of the facet
51 | 1. Click **Save".
52 | 1. Choose your configuration options (for example, "List item label")
53 | 1. Click **Save**.
54 |
55 | ## Step 5: Add facet as a block
56 | This step adds the facets in a single block.
57 |
58 | 1. To place a Facets block for the facets you have created, go to **Admin** >> **Structure** >> **Blocks layout** (admin/structure/block).
59 | 1. Click **Place block** in the desired block region, for example, *Sidebar second*.
60 | 1. Start typing the facets block in the Filter and click **Place block**
61 | 1. Choose the facets to include
62 | 1. Choose other configuration options for the block, for example change the title that displays and restrict by content type, etc.
63 | 1. Click **Save**.
64 |
65 | At this point, searching for content that has facet values should cause the block to appear. For more in-depth overview of search, see [Configure Advanced Search](advanced-search.md)
66 |
67 | !!! note "Facets aren't necessarily searchable"
68 | While this will create facets, the values that appear won't work (won't necessarily bring back any content) if you type them in the search box. This is because the fulltext search box uses only fulltext fields, and facets, as mentioned above, requires string fields.
69 |
70 | If you want to be able to search for taxonomy term values and bring up the related nodes, you could either include the full rendered item for your content type, or you may wish to repeat step 2 for each entity reference field, and set the new fields to fulltext so that searching for term values brings back node results.
71 |
--------------------------------------------------------------------------------
/docs/user-documentation/jwt-authentication.md:
--------------------------------------------------------------------------------
1 | # JWT authentication
2 | Islandora uses [JWT tokens](https://en.wikipedia.org/wiki/JSON_Web_Token) to authenticate communication between its components. RSA private public key pair is used to sign and verify JWT tokens. The process of issuing JWT tokens using RSA private key is handled by the Drupal [jwt](https://www.drupal.org/project/jwt) module.
3 |
4 | The private public RSA pair needed by JWT authentication mechanism is generated in the web server. By default, claw playbook places
5 | the keys in `/opt/islandora/auth`. Crayfish and Tomcat/Karaf need the public key to verify the JWT token. By default, they are put in the following locations: `/var/www/html/Crayfish/public.key`, `/etc/tomcat8/public.key`. If you are deploying Crayfish and Karaf/Tomcat components to different servers, ensure that web server public.key files are in the expected locations.
6 |
7 | Note that the connection need to be over SSL or an encrypted channel for this communication to be secure. Otherwise, a third party can capture your token and get access to your servers.
8 |
9 | The JWT tokens expiration time is configurable via Islandora core settings: `http://localhost:8000/admin/config/islandora/core`. Currently, it is recommended to set the `JWT Expiry` to the maximum expected time for a job, including batch jobs.
--------------------------------------------------------------------------------
/docs/user-documentation/recipes/alexa-search.md:
--------------------------------------------------------------------------------
1 | # Accessing Islandora with Amazon Alexa
2 |
3 | The following recipe details how to connect Islandora with Alexa, using custom Alexa skills and the Drupal Alexa module. The potential applications are broad:
4 |
5 | - Send Citations, metadata, whatever we want to the user if they have set up their email
6 | - Creating a collaborative exhibit
7 | - Play audio and video objects and read transcripts
8 | - Respond to user search queries (like how many objects match the subject in the repositories)
9 | - Answer specific questions about the object (“_Invocation Name_, when was this recorded?”)
10 | - Interact with other applications or modules (got a print ordering system? Want to add event calendar items to your exhibit?)
11 | - Be accessed via web page, Alexa device, or phone app
12 |
13 | !!! note "Note"
14 | This recipe has not been extensively tested.
15 |
16 | ## Ingredients
17 |
18 | - Drupal 8
19 | - Islandora
20 | - Drupal Alexa Module
21 | - Islandora Oral Histories Module
22 | - Custom Alexa Skill
23 | - Custom Search
24 |
25 | ## Instructions
26 |
27 | 1. Create an Amazon Skill
28 | 1. Log in https://developer.amazon.com go to Alexa > Skills Kit > add new skill
29 | 1. Pick an _Invocation Name_
30 | 1. Configure SSL etc (Tutorial: https://www.drupal.org/docs/8/modules/alexa/tutorial)
31 | 1. Save config, write down the Application ID on the Skill Information Tab!
32 | 1. Integrate with Drupal
33 | 1. Install the Alexa module using Composer: `composer require "drupal/alexa"`
34 | 1. Enable modules (Alexa, Alexa_Demo)
35 | 1. Go to Config > Alexa Configuration and put in the Application ID.
36 | 1. Test with one question and answer (“Clawbster, say Hello world?” “Hello World!”) Now you can add as many questions and answers as you can configure:
37 | 
38 |
--------------------------------------------------------------------------------
/docs/user-documentation/transcripts.md:
--------------------------------------------------------------------------------
1 | # Transcripts
2 |
3 | WEBVTT transcripts, captions, or subtitles may be displayed along with audio and video media.
4 | Transcripts must be added to the media entity that will be playing, using a
5 | special field type ("Media track"). When the media is configured to use the
6 | "Audio with Captions" and "Video with Captions" field formatters, tracks in
7 | "Media track" fields will be available.
8 |
9 | ## Media track field type
10 |
11 | The Islandora module provides a field type, Media Track, that accepts .vtt files.
12 | Once a file has been uploaded, additional options relevant to media tracks become
13 | available to configure.
14 |
15 | 
16 |
17 |
18 | ## Using Transcripts with the Islandora Starter Site
19 |
20 | In the Islandora Starter Site, Audio and Video media are pre-configured to work with tracks.
21 |
22 | !!! note "Sandbox"
23 | On the public sandbox, or other sites using the Islandora Install Profile Demo,
24 | you will first need to make the "Track" field visible in the media form, at
25 | Structure > Media > Audio|Video > Manage Display.
26 |
27 | ### Video
28 |
29 | - Navigate to the Service File media (or whichever media is configured to play)
30 | for a Video item.
31 | - Click "Edit" to get to the Media's edit form.
32 | - In the "Track" field, add one or more WebVTT files.
33 | - Enter the details about each audio track.
34 | - Under "Kind", select "Captions" or "Subtitles". (Per the HTML standard, the others are valid track types but won't be played in the viewer)
35 | - The "Label" will be visible by the user when they select a track to play.
36 | - Save the media and refresh it.
37 |
38 | 
39 |
40 |
41 | ### Audio
42 |
43 | - Follow the same instructions as for Video.
44 | - For audio, only upload one Track file (others will not be displayed).
45 | - For audio, ensure that the Track file is marked "Default track" (otherwise it will not be displayed).
46 | - For audio, the selected "Kind" of media track does not have any effect.
47 |
48 | 
49 |
50 | ## Caveats
51 |
52 | !!! info "Selecting the correct media"
53 | Note that if you add the transcript file to the Original File, but you have configured
54 | the site to play the Service File, then you will not see the transcript.
55 |
56 | !!! info "Languages"
57 | While you can add subtitles in different languages, you may only choose from
58 | the site's installed languages.
59 |
60 | !!! tip "Types"
61 | The five options: **captions**; **subtitles**; **descriptions**; **chapters**; and **metadata** come from
62 | the [HTML standard's `