Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Running DSpace

Alan Orth
October 28, 2013

Running DSpace

A technical talk about CGSpace in the CGIAR, and what it takes to keep it up and running (including the people, skills, tools, and workflows).

Alan Orth

October 28, 2013
Tweet

More Decks by Alan Orth

Other Decks in Technology

Transcript

  1. 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
  2. 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
  3. 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.
  4. “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”
  5. • 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
  6. 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, etc 5. Update search & browse indexes (dspace.cfg) 6. Update XMLUI config for new theme (xmlui.xconf)
  7. 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
  8. 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
  9. 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)