Running Dspace
Technical overview, lessons learned, workflows
and essential skills
Alan Orth and Sisay Webshet
Dspace Ethi...
DSpace Instances
One server, two instances...
CGSpace

DSpace Test

Hosted at CGNET in California, USA
Instance Overview
CGSpace
(cgspace.cgiar.org)
● “Production”
● Should always be up &
stable
● Is the “reference”
implement...
Two DSpaces, one server!
Living With Legacy Decisions...
CGSpace and DSpace Test on the same machine…
● In 2010 CGSpace had a fraction of the conte...
(Near) Future Plans
Separate instances on Amazon EC2!

cgspace.cgiar.org

dspacetest.cgiar.org
CGSpace Code Is 100% Open

Source code is on github: github.com/ilri/DSpace
How The Code Is Organized
Production code lives in the 3_x-prod branch; this
is stable, tested code. Updates (if any) come...
“Social Coding” on GitHub
● Anyone can “fork” the
code repository to their
own GitHub account
● Source code repositories
c...
“Pull request” from @mire introducing the CUA module
All changes were not created equal...
Workflow Lessons Learned
● Sending changes is good, but leaves the
burden of merging to me
● Sending patches is better, bu...
Go Forth And Fork!

… and send pull requests!
Scenario: Create A New Theme
Creating an XMLUI theme for a new community
Create community in DSpace (ie, 10568/38440)
Add ...
DSpace Sysadmin Crashcourse
DSpace...
● is a Java application
● builds using maven and ant
● uses PostgreSQL as a database...
CGSpace Stack

Apache httpd

Apache Tomcat

PostgreSQL

Bitstreams

Debian GNU/Linux
Why Not Use Tomcat Directly?
Any sysadmin will tell you that working with Tomcat is a joy*.
Surprisingly**, these things a...
Essential Technical Skills
Managing a DSpace instance doesn’t require “programmers”
or “developers” (but it doesn’t hurt)....
Better lives through livestock
ilri.org

The presentation has a Creative Commons licence. You are free to re-use or distri...
Upcoming SlideShare
Loading in …5
×

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

1,018 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. 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
  2. 2. DSpace Instances One server, two instances... CGSpace DSpace Test Hosted at CGNET in California, USA
  3. 3. 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
  4. 4. Two DSpaces, one server!
  5. 5. 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
  6. 6. (Near) Future Plans Separate instances on Amazon EC2! cgspace.cgiar.org dspacetest.cgiar.org
  7. 7. CGSpace Code Is 100% Open Source code is on github: github.com/ilri/DSpace
  8. 8. 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.
  9. 9. “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”
  10. 10. “Pull request” from @mire introducing the CUA module
  11. 11. All changes were not created equal...
  12. 12. Workflow Lessons Learned ● 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
  13. 13. Go Forth And Fork! … and send pull requests!
  14. 14. Scenario: Create A New Theme Creating an XMLUI theme for a new community Create community in DSpace (ie, 10568/38440) Add custom metadata (ie, cg.subject.bioversity) Add custom submission template (input-forms.xml) Copy existing XMLUI theme (ie ILRI) as a reference, and customize for center-specific metadata, look & feel, etc 5. Update search & browse indexes (dspace.cfg) 6. Update XMLUI config for new theme (xmlui.xconf) 1. 2. 3. 4.
  15. 15. 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
  16. 16. CGSpace Stack Apache httpd Apache Tomcat PostgreSQL Bitstreams Debian GNU/Linux
  17. 17. 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
  18. 18. 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)
  19. 19. Better lives through livestock ilri.org The presentation has a Creative Commons licence. You are free to re-use or distribute this work, provided credit is given to ILRI.

×