19
Running Dspace Technical overview, lessons learned, workflows and essential skills Alan Orth and Sisay Webshet Dspace Ethiopia Interest Group Meeting Addis Ababa, 28 October 2013

Running DSpace: Technical overview, lessons learned, workflows and essential skills

  • Upload
    ilri

  • View
    420

  • Download
    0

Embed Size (px)

DESCRIPTION

Presented by Alan Orth and Sisay Webshet at Dspace Ethiopia Interest Group Meeting and Training, Addis Ababa, Ethiopia, 28 October – 1 November 2013.

Citation preview

Page 1: Running DSpace: Technical overview, lessons learned, workflows and essential skills

Running Dspace

Technical overview, lessons learned, workflows

and essential skills

Alan Orth and Sisay Webshet

Dspace Ethiopia Interest Group Meeting

Addis Ababa, 28 October 2013

Page 2: Running DSpace: Technical overview, lessons learned, workflows and essential skills

DSpace Instances

Hosted at CGNET in California, USA

CGSpace DSpace Test

One server, two instances...

Page 3: Running DSpace: Technical overview, lessons learned, workflows and essential skills

Instance Overview

CGSpace(cgspace.cgiar.org)

● “Production”● Should always be up &

stable● Is the “reference”

implementation

DSpace Test(dspacetest.cgiar.org)

● “Development”● Changes to style,

functionality, DSpace etc are tested here first

● Sometimes wiped clean

Page 4: Running DSpace: Technical overview, lessons learned, workflows and essential skills

Two DSpaces, one server!

Page 5: Running DSpace: Technical overview, lessons learned, workflows and essential skills

Living With Legacy Decisions...

CGSpace and DSpace Test on the same machine…

● In 2010 CGSpace had a fraction of the content, users, etc, so it didn’t affect the running of the system

● Not true anymore!● 100s of 1000s of monthly views...● Large assetstore, log files, RAM / CPU usage, etc

Page 6: Running DSpace: Technical overview, lessons learned, workflows and essential skills

(Near) Future Plans

cgspace.cgiar.org dspacetest.cgiar.org

Separate instances on Amazon EC2!

Page 7: Running DSpace: Technical overview, lessons learned, workflows and essential skills

CGSpace Code Is 100% Open

Source code is on github: github.com/ilri/DSpace

Page 8: Running DSpace: Technical overview, lessons learned, workflows and essential skills

How The Code Is Organized

Production code lives in the 3_x-prod branch; this is stable, tested code. Updates (if any) come from the development branch on Monday.

Development code lives in the 3_x-dev branch; this is semi-tested code! Changes throughout the week.

Page 9: Running DSpace: Technical overview, lessons learned, workflows and essential skills

“Social Coding” on GitHub

● Anyone can “fork” the code repository to their own GitHub account

● Source code repositories can share code via “pull requests”

● Developers can comment on changes and discuss issues

GitHub “OctoCat”

Page 10: Running DSpace: Technical overview, lessons learned, workflows and essential skills

“Pull request” from @mire introducing the CUA module

Page 11: Running DSpace: Technical overview, lessons learned, workflows and essential skills

All changes were not created equal...

Page 12: Running DSpace: Technical overview, lessons learned, workflows and essential skills

● Sending changes is good, but leaves the burden of merging to me

● Sending patches is better, but requires sender to know how to generate them

● Sending a pull request is best, but requires sender knows how to use git, branches, etc

Workflow Lessons Learned

Page 13: Running DSpace: Technical overview, lessons learned, workflows and essential skills

Go Forth And Fork!

… and send pull requests!

Page 14: Running DSpace: Technical overview, lessons learned, workflows and essential skills

Scenario: Create A New Theme

Creating an XMLUI theme for a new community

1. Create community in DSpace (ie, 10568/38440)2. Add custom metadata (ie, cg.subject.bioversity)3. Add custom submission template (input-forms.xml)4. Copy existing XMLUI theme (ie ILRI) as a reference, and

customize for center-specific metadata, look & feel, etc5. Update search & browse indexes (dspace.cfg)6. Update XMLUI config for new theme (xmlui.xconf)

Page 15: Running DSpace: Technical overview, lessons learned, workflows and essential skills

DSpace Sysadmin Crashcourse

DSpace...● is a Java application● builds using maven and ant● uses PostgreSQL as a database backend● stores PDFs and other blobs in the filesystem

(“assetstore”)● runs best on Linux

Page 16: Running DSpace: Technical overview, lessons learned, workflows and essential skills

CGSpace Stack

Apache httpd

Apache Tomcat

PostgreSQL Bitstreams

Debian GNU/Linux

Page 17: Running DSpace: Technical overview, lessons learned, workflows and essential skills

Why Not Use Tomcat Directly?

Any sysadmin will tell you that working with Tomcat is a joy*. Surprisingly**, these things are annoying in Tomcat:● Virtual hosting● SSL● redirects● caching and manipulating headers

*for some definitions of “joy”**not surprising, actually

Page 18: Running DSpace: Technical overview, lessons learned, workflows and essential skills

Essential Technical Skills

Managing a DSpace instance doesn’t require “programmers” or “developers” (but it doesn’t hurt).

Mainly, you’ll need:● Linux experience (Debian, CentOS, Ubuntu)● Administration experience (web servers, log files, cron jobs,

security)● Software development concepts (git, patches,

branching/merging)

Page 19: Running DSpace: Technical overview, lessons learned, workflows and essential skills

The presentation has a Creative Commons licence. You are free to re-use or distribute this work, provided credit is given to ILRI.

Better lives through livestock ilri.org