Skip to content
This repository has been archived by the owner on Sep 8, 2021. It is now read-only.

Latest commit

 

History

History
401 lines (276 loc) · 12.4 KB

PITCHME.md

File metadata and controls

401 lines (276 loc) · 12.4 KB

Making DSpace Your Own

Terry Brady

Georgetown University Library

https://github.com/terrywbrady/info

Presentation Recording


About Me

  • DSpace Committer

  • Software Developer for the Georgetown University Library

    Digital Georgetown Institutional Repository


Presentation Tasks

@ul

  • Demonstrate multiple ways to ingest content into DSpace
  • Code 1: Change browse display properties
  • Code 2: Change Collection Metadata
    • === 2a: Customize item submission process
    • === 2b: Customize item metadata to display
    • === 2c: Customize metadata navigation facets
  • Code 3: Create a collection-specific theme

@ulend

+++

About the presentation

  • Not all of the code changes will make immediate sense
  • The key is to see HOW the changes are made
  • Once you know HOW to change something in DSpace, other types of changes are easy to learn
  • As we rebuild DSpace, I will share some DigitalGeorgetown examples

DSpace Code Overview

DSpace Overlay Illustration

+++

DSpace Code

+++

DSpace Code


Running DSpace

@ul

  • You need a runtime environment for your code
  • A server with tomcat and a postgres database (linux preferred)
  • Docker or Vagrant containers (development tools)
  • Cloud development environment like Codenvy (codenvy.com)
  • For this presentation, Codenvy will be used

@ulend

+++

After the webinar, try it yourself!


Understanding Ingest Options

  • Becoming comfortable with the ingest options for DSpace is a key way to make DSpace your own
  • We will review a couple of options

+++

Ingest into DSpace

DSpace Ingest Options Illustration


Ingest 1: Import Image Collection AIP Files

+++?code=https://raw.githubusercontent.com/DSpace-Labs/DSpace-codenvy/master/Scripts/workspaceInit.sh Workspace initialization script - already run @[34](Before ingesting content, we need an administrator id) @[36-43](Data Load Script)

+++

Open Site and Navigate to Sample Images

Live Demo Image


Demo 1 - Modify Item List Navigation

+++

Code 1 - Change item navigation view

+++?image=presentation-files/code1.png&size=auto 90%

+++

Property changes are made in dspace/config/dspace.cfg

  • This file contains hundreds of properties that can be modified
  • Many of the most common customization tasks are captured in this file
  • When testing a change, you can also copy a property change into your local.cfg file

+++?code=https://raw.githubusercontent.com/DSpace-Labs/DSpace-rel-demo/webinar-code1/dspace/config/dspace.cfg dspace/config/dspace.cfg @[1896](Turn on thumbnail view in xmlui)

+++

Rebuild System

# set the following in Codenvy configs
# DSPACE_SRC=/home/user/dspace-src/DSpace
# DSPACE_INSTALL=/home/user/dspace
# LOCAL_CFG=/projects/DSpace-codenvy/CodenvyConfig/local.cfg
# MVN_TARGET=package
# MVN_TARGET="package -Dmirage2.on=true"
# DSPACE_VER=6

START_TOMCAT=${1:-1}
TOMCAT=/home/user/tomcat8/bin/catalina.sh

cd ${DSPACE_SRC} || die "src dir ${DSPACE_SRC} does not exist"
cp ${LOCAL_CFG} . || die "error copying local: ${LOCAL_CFG}"
mvn ${MVN_TARGET} || die "maven failed"
cd dspace/target/dspace-installer || die "install dir not found"
${TOMCAT} stop
ant update clean_backups || die "ant update failed"
${TOMCAT} run

@[2-10](Environment variable setup) @[12](Go to source directory) @[13](Local config file contains server specific settings) @[14](Run the maven build) @[15](Go to build directory) @[16](Stop tomcat) @[17](Install built files to server) @[18](Start Tomcat)

+++?code=dspace/config/dspace.cfg?lang=AsciiDoc @[19](Basic System Config: directories, servers, email, database) @[182](DOI Configuration) @[227](Handle Configuration) @[263](Default Permissions for Collection Administrators) @[341](Media Plugins) @[431](Crosswalk Configuration) @[696](Named Embargo Policy Configuration) @[782](Metadata hide configuration) @[800](Item Submission Configration) @[823](Creative Commons) @870 @1261 @[1342](Open Search) @1405 @1422 @[1434](Authority Control) @[1590](JSPUI Config) @[1829](XMLUI Config)

While the build is running...

+++

Browse site and see thumbnails

Live Demo Image


Ingest 2A: Create items from metadata only

+++

Demo 2 - Tour the Collection

Live Demo Image

  • Note the facets that are present
  • Note the items that have been added
  • Manually submit an item to the collection

Code 2A - Modify submission workflow

+++?image=presentation-files/code2a.png&size=auto 90%

+++?code=https://raw.githubusercontent.com/DSpace-Labs/DSpace-rel-demo/webinar-code2/dspace/config/input-forms.xml dspace/config/input-forms.xml @[74-84](This input field is moved towards the top) @[79](Type field label change) @[82](Type field defined as mandatory)

+++

Code 2B - Modify item summary page

+++?image=presentation-files/code2b.png&size=auto 90%

+++

Code change - Graft to Overlay Area

  • Copy the following from the source branch
    • dspace-xmlui/src/main/webapp/themes/Mirage/Mirage.xsl
  • And graft it into the overlay area
    • dspace/modules/xmlui/src/main/webapp/themes/Mirage/Mirage.xsl
  • Add the item summary display template from the following file
    • dspace-xmlui/src/main/webapp/themes/Mirage/lib/xsl/aspect/artifactbrowser/item-view.xsl

+++?code=https://raw.githubusercontent.com/DSpace-Labs/DSpace-rel-demo/webinar-code2b/dspace/modules/xmlui/src/main/webapp/themes/Mirage/Mirage.xsl themes/Mirage/Mirage.xsl @[46](Item summary view template) @[245](Add block to show subject field on page) @[263](Add block to show type field) @[282](Update field sequence) @[294](Update field sequence)


Code 2C - Modify facets

+++?image=presentation-files/code2c.png&size=auto 90%

+++?code=https://raw.githubusercontent.com/DSpace-Labs/DSpace-rel-demo/webinar-code2c/dspace/config/spring/api/discovery.xml dspace/config/spring/api/discovery.xml @[404-416](Define facet field for type) @[99](Add new facet to sidebar) @[112](Add new facet to advanced search filter list)

+++

Code change - Graft to Overlay Area

  • Copy the following from the source branch
    • dspace-xmlui/src/main/webapp/i18n/messages.xml
  • And graft it into the overlay area
    • dspace/modules/xmlui/src/main/webapp/i18n/messages.xml

+++?code=https://raw.githubusercontent.com/DSpace-Labs/DSpace-rel-demo/webinar-code2c/dspace/modules/xmlui/src/main/webapp/i18n/messages.xml&lang=xml i18n/messages.xml @[2506-2509](customize/translate name for new facet)

+++

While the build runs...

+++

dc.type field

Live Demo Image

  • Item Submission - type is now mandatory
  • Item Page - type and subject are displayed
  • Collection page - see the type facet
  • Re-index content if needed [dspace-install]/bin/dspace index-discovery -b

Demo 3: Create a Custom Theme

  • Change background colors
  • Add logo
  • Apply to a specific community

+++

Code 3 - Define Custom Theme

+++?image=presentation-files/code3.png&size=auto 90%

+++

Code change - Graft to Overlay Area

  • Copy the following from the source branch
    • dspace-xmlui/src/main/webapp/themes/Mirage/sitemap.xmap
  • And graft it into the overlay area
    • dspace/modules/xmlui/src/main/webapp/themes/Demo/sitemap.xmap

+++?code=https://raw.githubusercontent.com/DSpace-Labs/DSpace-rel-demo/webinar-code3/dspace/modules/xmlui/src/main/webapp/themes/Demo/sitemap.xmap&lang=xml themes/Demo/sitemap.xmap @[81-82](Add custom css demo.css) @[103-104](Reuse the Mirage.xsl stylesheet) @[125-130](Reference Mirage paths for most resources)

+++?code=https://raw.githubusercontent.com/DSpace-Labs/DSpace-rel-demo/webinar-code3/dspace/modules/xmlui/src/main/webapp/themes/Demo/demo.css themes/Demo/demo.css @[2-4](Change background color)

+++?code=https://raw.githubusercontent.com/DSpace-Labs/DSpace-rel-demo/webinar-code3/dspace/config/xmlui.xconf dspace/config/xmlui.xconf @[157](Set collection-specific theme for a specific handle)

+++

While the build runs...

+++

View the new collection theme

Live Demo Image

  • Note that the default theme is still in place
  • Note that the new theme is scoped only to one collection

Key Points

@ul

  • DSpace has great tools for ingesting new collections
  • Once you are comfortable rebuilding DSpace, there is a lot you can customize
  • The community is friendly and helpful: DSpace Support
  • The community is appreciative of volunteers and is always looking for contributors, testers, and participation: Community Lists

@ulend


Questions?


Other Links We (Georgetown University Library) Are Excited to Share

@ul

@ulend


Thank You

Terry Brady

Georgetown University Library

https://github.com/terrywbrady/info