Post on 07-Aug-2020
transcript
Islandora Camp ColoradoOctober 14th - Admin Track
Melissa Anez- Islandora FoundationErin Tripp - discoverygarden, Inc.
Course Outline● Intro to Drupal
○ Drupal/Fedora/Islandora○ Site content & structure○ Managing users and permissions○ Setting Blocks
● Setting up Islandora○ Basic configuration and check-ups○ Solution packs○ Creating collections
Course Outline● More setting up Islandora
○ Ingesting objects - single and batch○ Editing forms○ XACML Editor
● Setting up Search○ Intro to Solr○ Configure Solr search○ Setting Solr Blocks
Intro to Drupal
Drupal is...● open Content Management Framework
software maintained and developed by 630,000+ users and developers.
● endlessly customizable via Modules - functional plugins that either come with drupal or are developed by the community.
Drupal is...● the "website" side of Islandora. Non-repo
pages, menus, site theme, users - These are all managed by Drupal.
● content (pages, news items, users, etc) stored as nodes.
Fedora is...Flexible, Extensible, Digital/durable Object
Repository Architecture (general-purpose, open-source digital object repository system).
● originally developed by researchers at Cornell University as an architecture for storing, managing, and accessing digital content in the form of digital objects.
Fedora is...● a unique content and relationship modeling
framework that preserves the integrity of collections and can be modified to manage any digital asset.
● the storage layer of Islandora. Objects ingested into and managed with Islandora are stored in a Fedora repository - not in Drupal.
Islandora is...● a collection of Drupal modules that enables
you to create, ingest, and manage objects stored in a Fedora repository.
● the flexibility of Drupal on top of the robust storage of Fedora.
Islandora is...● an open source framework developed by the
University of Prince Edward Island's Robertson Library
● constantly being improved and developed. The latest version is 7.x-1.3 for Drupal 7, but version 7.x-1.4 will be released at the end of the month.
First Steps● Is Virtualbox running?
● Find your Islandora Camp VM and click Start
● Watch it go.
First Steps
Go to the home page of your Islandora site:
http://localhost:8181/username: admin
password: islandora
Create a Front Page● Select "Add Content"
Create a Front Page● Select Basic Page and fill out a title and basic
content.● Give your page a URL alias of home
● Navigate to Configuration -> Site information● Under Default front page, enter home● Save your changes.
Exercise - Site InfoGive your site a new name, slogan, and default email address.
Change the Logo● Navigate to Appearance
● Find the default theme (Bartik)○ Select Settings
● Find Logo Image Settings
● Browse to the Images folder in your Course
Pack and upload icampCO.png.
Menus● Navigate to Structure -> Menus
● Pick Main menu and list links:
Add a Home Link● Select +Add link
● Name the new link Home and enter <front> as the path○ This is a Drupal term that will always point to the
front page of your site.
Add a Home Link● Make sure the link is enabled and that the
parent link is <Main menu>
● Give a weight of -50 so the link will be first in the menu bar.
Exercise - MenusCreate an About page with a brief description of your site and create an About menu item that comes after Home.
Create a User● Navigate to People and the List tab
● Select +Add user○ Use whatever email address and username you like.
○ Do not set this user as an administrator.
● Create new account
Create a Role● Under People, navigate to the Permissions
tab and select Roles.
Create a Role● Add a new role called repo user
● Edit permissions for the repo user role
● Scroll to the islandora permissions.
○ This is where you need to understand basic FedoraCommons concepts...
FedoraCommons Concepts● Everything is an object● Objects are made of datastreams ● Content Models are templates for Objects● All Objects have unique persistent
identifiers, or PIDs● Objects are connected in a graph-like
structure
Graph
Hierarchy
This is a useful oversimplification
Islandora Permissions● View repository objects
○ View objects in the repository. Fedora XACML
security policies may override this permission.
● Add datastreams to repository objects
○ Add datastreams to objects in the repository. Fedora
XACML security policies may override this position.
Islandora Permissions● Edit metadata
○ Edit metadata for objects in the repository.
● Create new repository objects ○ Ingest new objects into the repository.
Islandora Permissions● Permanently remove objects from the
repository○ Purge Objects
● Manage object properties ○ Modify object labels, owner IDs, and states.
Islandora Permissions● View datastream history
○ View all previous versions of a datastream.
● Revert datastream history○ Roll back to previous version.
Islandora Permissions● Manage deleted objects
○ View and manage objects with a status set to
“deleted”
● Regenerate derivatives
○ Regenerate derivatives for an object or per
datastream.
● Replace Datastreams
○ Add new datastream content as latest version.
Islandora Permissions
● Islandora BagIt● Islandora Batch● Islandora Bookmark● Islandora FITS● Islandora Image Annotation● Islandora PREMIS● Islandora Paged Content● Islandora Scholar Embargo
● Islandora Simple Workflow● Islandora Solr● Islandora Solr Metadata● Islandora Sync● Islandora XACML editor (and
Api)● Islandora basic collection● Islandora Compound Object● Islandora XML Form Builder
● Many other modules come with permissions
Edit Permissions● Under Islandora permissions, find the
permission to View repository objects and:
○ Remove from Anonymous and Authenticated
○ Grant to repo user role
● Save permissions
Give your user this role● Return to People (admin/people) and find the user you
created earlier, edit this user, and grant them the repo user role
Exercise - Users● Create a new user and a repo manager
role. ● Give the repo manager role permissions
appropriate to edit and delete objects.● Assign the new user
to the repo manager role.
Working with BlocksBlocks are the boxes visible in various area of your Drupal website's screens. Most blocks (e.g., recent forum topics) are generated on-the-fly by various Drupal modules.
Whether, and where, a given block will appear on a page depends on both the theme enabled and on administrative block settings.
https://drupal.org/documentation/blocks
Working with Blocks● In the administrative menu, select Structure
and then Blocks
● Scroll down to the Disabled blocks at the bottom of the page and find Islandora simple search
● Click Configure
Working with Blocks● In Region Settings, set the block to display
in the First Sidebar○ To see where each region is, click Demonstrate
block regions in the main Block menu
● Scroll down Pages. Under Show block on specific pages, check All pages except those listed
● Enter islandora/search/* and save block.
Working with Blocks● Close the Blocks administrative menu and
go back to the front page of the site.● Search in the first search box for cats.● Search in the Islandora simple search box
for cats. You’re now searching the contents of your Fedora repository (we’ll make the results look better later).
Exercise - Blocks● Navigate back to the Blocks admin menu, look
for the blocks displayed in the First sidebar● Find Search form and set it to -none-● Scroll to the bottom and and save blocks. Now
only Islandora simple search is available for quick searching.
● Remove the visible label from the Islandora simple search block
● Set the block so that it does not display on your About page.
Setting up Islandora
Basic Settings● Islandora 7.x has its own administrative
menu, found under /admin/islandora
● All configuration options for Islandora modules (solution packs, tools, forms, etc) can be found here.
General configuration● admin/islandora/configure or
Configuration in the Islandora admin menu. Here you can:
○ Verify your site's connection to Fedora
○ Set the root collection PID used by Fedora
Solution PacksIslandora Solution Packs are Drupal modules offering custom Content Model Objects, Workflows, and Ingest Forms.
Solution Packs present a starting point for users with particular types of data, such as books or audio files, based on standard use cases.
Adding a Solution Pack● Islandora Solution Packs can be found via
http://islandora.ca/downloads (or check your iCampCO stick)
● Select your version, scroll down to the Downloads section, and download the modules you want to use.
Adding a Solution Pack
● For today, we have provided the SP you need in the Modules folder of your flash drive.
Adding a Solution Pack● Navigate to the Modules admin page● Click +Install new module
Adding a Solution Pack● Browse to Modules folder of your Course
Pack and install islandora_solution_pack_audio-7.x-1.3.zip
● Scroll to the Islandora section and enable Islandora Audio.
● Scroll to the bottom of the Modules page and Save Configuration.
Verify the New SP● Go to the Islandora admin page● Select Solution packs● Verify that all is well with your new SP:
Verify the new SP● If there is a problem with the content model
or default collection objects, you will see this:
Exercise - Installing a SPInstall the Video Solution Pack
CollectionsCollections are objects just like everything else, but in practice they can be considered synonymous with the traditional concept of a collection.
An Islandora collection has “Collection” Content Model in addition to data content models that define what kinds of data objects can "belong" to that collection.
Creating a New Collection● Navigate to where you want your collection
○ For today, let's use the root collection: Islandora Repository in the sidebar.
● Click Manage and then Collection
● Select +Add an object to this collection
Creating a New Collection● Collection Label: The human-readable name of
your collection.○ Please call it Cats
● Collection PID: assign a namespace and an identifier for your collection.○ Please use cats:collection
● Inherit collection policy: Should your collection take on the collection policies of its parent?○ Uncheck this and enable Islandora Basic Image
Content Model
Creating a New Collection● PID (Persistent Identifier): Every object in a
Fedora repository has a unique id with the format namespace:ID. This id is assigned when the object is created, and cannot be changed. The PID can be user-generated or managed based on information specified in the collection policy.
● Namespace: The namespace is a component of the PID. The namespace is defined in the collection policy, and will then be used to generate PIDs for the objects ingested into that collection.
Creating a New Collection● To create a collection within another
collection, the parent collection must have the Islandora Collection Content Model (islandora:collectionCModel) enabled under Manage collection policy.
○ Without this content model enabled, you will not have the option to Create child collection.
Setting Collection Policy● View your new empty collection Cats and
click Manage
○ View Datastreams - these are all created by default when a new collection object is created.
○ View Properties - this allows you to edit name, ownership, and status, and to delete your collection.
○ View Collection - This provides a number of collection management options.
Collection Tab
● Manage collection policy - Select which content models to enable and assign namespaces on a per-content model basis.
● Share members - Link objects in this collection to other collections in your repo.
Collection Tab● Migrate members - Move objects from one
collection to another. Unlike Share members, this removes the object from the starting collection.
● Delete members of this collection - Exactly what it sounds like. Use this to mass-delete selected objects. Use with caution - they cannot be recovered!
Exercise - CollectionsCreate a new collection under the root collection called Cat Pictures with an appropriate PID and the Basic Image collection enabled.
Sharing or Migrating ObjectsObjects in a collection can be moved to a new collection or shared among multiple collections, allowing for complex and changing structures in how your objects are organized and presented to visitors.
Sharing Objects● Migrate to the Basic Image Collection and
open the Manage tab.
● Select Collection and then Share members
● Share Cat Hug and Lasers! with Cat Pictures.
Migrating Objects● Migrate back to the Basic Image Collection
and open the Manage tab.
● Select Collection and then Migrate members
● Migrate both “Twisty” pictures to the collection Cat Pictures.
Ingesting ObjectsTo add new objects to a collection, they must be ingested. Objects can be ingested individually or in batches.
Ingesting a Single Object● Navigate back to the PEI Postcard
Collection.
● Click the Manage tab
● Select + Add an object to this collection
Ingesting a Single Object● Under Title enter: Carleton Beach, Sunset
● Type of Resource: Still image
● Geographic Information:○ Continent: North America○ Country: Canada○ Province: Prince Edward Island○ City: Carleton
Ingesting a Single Object● Click Next
● Browse in your Course Pack to the Images folder and select sunset.jpg. Ingest the object.
● View your object. Expand the Details tab to view the metadata you entered.
Batch IngestingFor larger collections, Islandora is able to pull multiple files out of a zipped archive and ingest them into Fedora as a batch, using the Islandora Batch Importer module.
Batch IngestingYou can zip and batch ingest:
● Content files (images, videos, etc)
● XML metadata that can later have content files added
● Both content files to be ingested and XML metadata to be appended to files
● Books, formatted with a specific directory structure
Batch Ingesting● In your Course Pack, navigate to the
Images folder and open the file sunset.xml with a text editing program (TextWrangler, Wordpad, Notepad, etc.)
● This file contains xml formatted metadata for the postcard you uploaded as a single object.
Batch Ingesting● Navigate back to the PEI Postcards
collection.
● Click Manage
● Click Collection
● Select + Batch Import Objects
Batch Ingesting● Importer: Zip File Importer
● Submit
● In your Course Pack, browse to Images and select PEI_Postcards.zip
Batch Ingesting● Content model: Islandora Basic Image
Content Model
● Object namespace: postcards
● Import. A progress bar will appear showing your progress.
Purging Objects● Navigate to Manage -> Collection and to
Delete members of this collection
● Find the duplicated records, check off one, and delete.
Editing Object Metadata● Navigate to the Cat Pictures and open
Twisty Cat. Click Manage.
● Go to the Datastreams tab and find the MODS datastream. Click edit.
● Under Name, change Pip to Ani.
● Scroll to the bottom of the form and click Update.
Exercise - Collections IICreate a new collection under the root collection called Dog Pictures and populate it from the Basic Image Collection. Ingest the picture gracie.jpg with the info in gracie_metadata.rtf. Correct the metadata of Not a Bear.
FormsXML Forms is a collection of Drupal modules that allow for the manipulation of XML documents though Drupal forms.
XML Form Builder makes it possible to create, copy, and edit ingest forms, and to affiliate them with Content Models in the repository.
FormsIn this section we will cover how to:
● Clone a form
● Change a form label
● Set a default entry
Cloning a FormWhen customizing a form, it is prudent to first clone the form and make your alterations to the clone, rather than editing the original form directly.
It is best to start by cloning the existing form associated with the content model your collection is utilizing
Cloning a Form● Go to Islandora -> Form Builder
● Find the Basic image MODS form
● Select Copy
● Name your form Custom Basic image MODS form
Cloning a Form● Click Copy
● You are now viewing the form editor for your new form.
● Select Form Properties to view the properties of your form
Changing a Form LabelForm labels and descriptions are editable, so you can customize a form to match the needs of your collection and provide relevant help text for users entering data.
Changing a Form Label● All fields in the form are listed in the
Elements panel
● Find the name element
● Alter the title of this element from Name to Creator
● Click Save & Preview
Set a Default ValueOn occasion you may wish to pre-populate certain fields to save time or prevent data entry errors. For instance, a large collection by a single creator or within a single genre.
Set a Default Value● Return to the Elements panel and find role
(textfield) under name (tabs)
● Under Default Value enter Photographer
● Save & Preview
Associate the FormFor a form to appear as an option on ingest, it must be associated with an appropriate content model.
Associate the Form● Go to Islandora -> Form Builder
● Find the Custom Basic image MODS form
● Click Associate
Associate the Form● Content Model: islandora:sp_basic_image
○ Begin typing the PID of the content model you wish to affiliate a form with, and the name will auto-complete. Try "basic"
● Metadata Datastream ID: MODS
● Title Field: ['titleInfo']['title]
Associate the Form● Click Add Association
● Navigate to the PEI Postcards Collection and ingest a new object. Your custom form is now available as an option on ingest.
Exercise - Forms● Clone the Basic image MODS form
● Name it Postcard basic image MODS form
● Change the label of genre(textfield) to Type.
● Set Postcards as the default value.
● Associate the form with the Basic Image CM
XACMLObject security in Fedora is defined by XACML (eXtensible Access Control Markup Language) policies.
Only adds restrictions. You cannot use object-specific XACML to remove a restriction that is set at the Fedora-wide level.
XACML Editor● Go to the PEI Postcard collection.
● Click Manage -> Object Policy
● You will see three sections for setting policy.
XACML Editor● Object Management: Controls who can set
XACML policies for an object/collection.
● Object Viewing: Controls who can view an object/collection.
● Datastreams and MIME types: Controls who can view datastreams by DSID and MIME type.
XACML Editor● What items would you like to apply this
policy to?
○ Determines how policies are applied to objects within the collection.
XACML Editor● Check Enable XACML Restrictions on
Object Viewing
● Under Allowed Roles, select all roles except repo user.
● Set Permissions
XACML Editor● See a warning? In order to prevent locking
yourself out, the XACML Editor will prompt you to always select your account and that of the admin user for Object Management.
● Under Object Management, select the admin user and Set Permissions again.
● Log in as the repo user and observe the change.
Exercise - XACML● Restore Object Viewing access to the
collection for the repo user role.
● Restrict the user in that role from viewing just the Carleton Beach, Sunset object in the collection.
● Log in as the repo user and observe the change.
Setting up Search
Searching with SolrIslandora uses Solr to make objects in your Islandora installation discoverable and allow you to configure search fields for searching and faceting.
Whenever you add a new object in Fedora, the Solr module updates your index, and makes those results available to your users.
Configuring Solr BlocksIslandora Solr comes with several blocks that need to be set in regions:● Islandora advanced search - place in First
sidebar● Islandora facets - place in First sidebar● Islandora query - place in Help● Islandora sort - place in Help
Configuring Solr Results● Go to Islandora -> Solr index -> Solr
settings
● Go to Default display settings
● Start typing mods_titleInfo_title_ms (autocomplete field should narrow the results quickly) and add the field once complete.
Configuring Solr Results● Click Configure
● Label the field Title and check Link to object
● Save Solr configuration and go search for cats.
● Check Limit results to fields listed above and resave.
Configuring Solr Results● Go to Solr settings
● Go to Sort settings
● Start typing mods_originInfo_dateIssued_dt and add the field once complete.
● Click Configure and label the field Sort by Date.
Configuring Solr Facets● Go to Solr settings
● Go to Facet settings
● Start typing mods_subject_hierarchicalGeographic_city_ms and add the field once complete.
● Click Configure and label the facet City.
Configuring Solr Facets● Start typing mods_name_personal_namePart_ms
and add the field once complete.
● Click Configure and label the facet Name.
● Set the Minimum limit to 1 and save.
● Go search for cats.
Configuring Advanced Search● Go to Solr settings
● Go to Advanced search block
● Start typing mods_name_personal_namePart_ms and add the field once complete.
● Click Configure and label the field Name.
● Save Solr configuration and go search for Doc.
Other Config Options● Query defaults
○ Can be used to shape the way Solr results are presented to the end user, e.g. by limiting to particular namespaces.
● Required Solr fields○ Defaults should be fine unless you’re doing
advanced configuration.
● Other○ Debug mode for testing.
Exercise - Solr● Set display fields for two other pieces of
metadata (look at a cat or dog record to see what’s available).
● Set another facet.
● Set another Advanced Search field.
Thanks!
http://xkcd.com/851/