SlideShare a Scribd company logo
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
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”
implementation

DSpace Test
(dspacetest.cgiar.org)
● “Development”
● Changes to style,
functionality, DSpace etc
are tested here first
● Sometimes wiped clean
Two DSpaces, one server!
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
(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 from
the development branch on Monday.
Development code lives in the 3_x-dev branch;
this is semi-tested code! Changes throughout the
week.
“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”
“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, 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
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 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.
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
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 are annoying in Tomcat:
● Virtual hosting
● SSL
● redirects
● caching and manipulating headers
*for some definitions of “joy”
**not surprising, actually
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)
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.

More Related Content

What's hot

Elasticsearch Arcihtecture & What's New in Version 5
Elasticsearch Arcihtecture & What's New in Version 5Elasticsearch Arcihtecture & What's New in Version 5
Elasticsearch Arcihtecture & What's New in Version 5
Burak TUNGUT
 
Mashing the data
Mashing the dataMashing the data
Mashing the data
Felix Crisan
 
Rich storytelling with Drupal, Paragraphs and Islandora DAMS
Rich storytelling with Drupal, Paragraphs and Islandora DAMSRich storytelling with Drupal, Paragraphs and Islandora DAMS
Rich storytelling with Drupal, Paragraphs and Islandora DAMS
alxbrdg
 
02 beginning code first
02   beginning code first02   beginning code first
02 beginning code first
Maxim Shaptala
 
Entity cache
Entity cacheEntity cache
Entity cache
Ashok Modi
 
Kubernetes at Spreadshirt - First steps to production
Kubernetes at Spreadshirt - First steps to productionKubernetes at Spreadshirt - First steps to production
Kubernetes at Spreadshirt - First steps to production
Jens Hadlich
 
Share point 2013 on azure
Share point 2013 on azureShare point 2013 on azure
Share point 2013 on azure
Prabath Fonseka
 
Presentation: mongo db & elasticsearch & membase
Presentation: mongo db & elasticsearch & membasePresentation: mongo db & elasticsearch & membase
Presentation: mongo db & elasticsearch & membase
Ardak Shalkarbayuli
 
MongoDB
MongoDBMongoDB
MongoDB
Rony Gregory
 
SQL for Elasticsearch
SQL for ElasticsearchSQL for Elasticsearch
SQL for Elasticsearch
Jodok Batlogg
 
Search and analyze your data with elasticsearch
Search and analyze your data with elasticsearchSearch and analyze your data with elasticsearch
Search and analyze your data with elasticsearch
Anton Udovychenko
 
Utilizing the OpenNTF Domino API
Utilizing the OpenNTF Domino APIUtilizing the OpenNTF Domino API
Utilizing the OpenNTF Domino API
Oliver Busse
 
Windows server and docker
Windows server and dockerWindows server and docker
Windows server and docker
girish goudar
 
PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин ВладевPlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
PlovDev Conference
 
Rapid prototyping using azure functions - A walk on the wild side
Rapid prototyping using azure functions - A walk on the wild sideRapid prototyping using azure functions - A walk on the wild side
Rapid prototyping using azure functions - A walk on the wild side
Samrat Saha
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
hypto
 
Selecting the right persistent storage options for apps in containers Open So...
Selecting the right persistent storage options for apps in containers Open So...Selecting the right persistent storage options for apps in containers Open So...
Selecting the right persistent storage options for apps in containers Open So...
bipin kunal
 
Cassandra
Cassandra Cassandra
Cassandra
Pooja GV
 
AWS Fargate in practice. How to run containers without managing EC2 instances
AWS Fargate in practice. How to run containers without managing EC2 instancesAWS Fargate in practice. How to run containers without managing EC2 instances
AWS Fargate in practice. How to run containers without managing EC2 instances
Max Borysov
 

What's hot (19)

Elasticsearch Arcihtecture & What's New in Version 5
Elasticsearch Arcihtecture & What's New in Version 5Elasticsearch Arcihtecture & What's New in Version 5
Elasticsearch Arcihtecture & What's New in Version 5
 
Mashing the data
Mashing the dataMashing the data
Mashing the data
 
Rich storytelling with Drupal, Paragraphs and Islandora DAMS
Rich storytelling with Drupal, Paragraphs and Islandora DAMSRich storytelling with Drupal, Paragraphs and Islandora DAMS
Rich storytelling with Drupal, Paragraphs and Islandora DAMS
 
02 beginning code first
02   beginning code first02   beginning code first
02 beginning code first
 
Entity cache
Entity cacheEntity cache
Entity cache
 
Kubernetes at Spreadshirt - First steps to production
Kubernetes at Spreadshirt - First steps to productionKubernetes at Spreadshirt - First steps to production
Kubernetes at Spreadshirt - First steps to production
 
Share point 2013 on azure
Share point 2013 on azureShare point 2013 on azure
Share point 2013 on azure
 
Presentation: mongo db & elasticsearch & membase
Presentation: mongo db & elasticsearch & membasePresentation: mongo db & elasticsearch & membase
Presentation: mongo db & elasticsearch & membase
 
MongoDB
MongoDBMongoDB
MongoDB
 
SQL for Elasticsearch
SQL for ElasticsearchSQL for Elasticsearch
SQL for Elasticsearch
 
Search and analyze your data with elasticsearch
Search and analyze your data with elasticsearchSearch and analyze your data with elasticsearch
Search and analyze your data with elasticsearch
 
Utilizing the OpenNTF Domino API
Utilizing the OpenNTF Domino APIUtilizing the OpenNTF Domino API
Utilizing the OpenNTF Domino API
 
Windows server and docker
Windows server and dockerWindows server and docker
Windows server and docker
 
PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин ВладевPlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
 
Rapid prototyping using azure functions - A walk on the wild side
Rapid prototyping using azure functions - A walk on the wild sideRapid prototyping using azure functions - A walk on the wild side
Rapid prototyping using azure functions - A walk on the wild side
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
 
Selecting the right persistent storage options for apps in containers Open So...
Selecting the right persistent storage options for apps in containers Open So...Selecting the right persistent storage options for apps in containers Open So...
Selecting the right persistent storage options for apps in containers Open So...
 
Cassandra
Cassandra Cassandra
Cassandra
 
AWS Fargate in practice. How to run containers without managing EC2 instances
AWS Fargate in practice. How to run containers without managing EC2 instancesAWS Fargate in practice. How to run containers without managing EC2 instances
AWS Fargate in practice. How to run containers without managing EC2 instances
 

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

OpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowOpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
Ed Balduf
 
Provisioning Servers Made Easy
Provisioning Servers Made EasyProvisioning Servers Made Easy
Provisioning Servers Made Easy
All Things Open
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
Ulrich Krause
 
06 integrate elasticsearch
06 integrate elasticsearch06 integrate elasticsearch
06 integrate elasticsearch
Erhwen Kuo
 
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
Hiram Fleitas León
 
Flexible compute
Flexible computeFlexible compute
Flexible compute
Peter Clapham
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticians
Peter Clapham
 
UnConference for Georgia Southern Computer Science March 31, 2015
UnConference for Georgia Southern Computer Science March 31, 2015UnConference for Georgia Southern Computer Science March 31, 2015
UnConference for Georgia Southern Computer Science March 31, 2015
Christopher Curtin
 
Introduction to Stacki - World's fastest Linux server provisioning Tool
Introduction to Stacki - World's fastest Linux server provisioning ToolIntroduction to Stacki - World's fastest Linux server provisioning Tool
Introduction to Stacki - World's fastest Linux server provisioning Tool
Suresh Paulraj
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
Ulrich Krause
 
Docker & ECS: Secure Nearline Execution
Docker & ECS: Secure Nearline ExecutionDocker & ECS: Secure Nearline Execution
Docker & ECS: Secure Nearline Execution
Brennan Saeta
 
DrupalCampLA 2011: Drupal backend-performance
DrupalCampLA 2011: Drupal backend-performanceDrupalCampLA 2011: Drupal backend-performance
DrupalCampLA 2011: Drupal backend-performance
Ashok Modi
 
12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat
linoj
 
Scala at Treasure Data
Scala at Treasure DataScala at Treasure Data
Scala at Treasure Data
Taro L. Saito
 
The Why and How of Scala at Twitter
The Why and How of Scala at TwitterThe Why and How of Scala at Twitter
The Why and How of Scala at Twitter
Alex Payne
 
GWT is Smarter Than You
GWT is Smarter Than YouGWT is Smarter Than You
GWT is Smarter Than You
Robert Cooper
 
CGSpace technical overview
CGSpace technical overviewCGSpace technical overview
CGSpace technical overview
ILRI
 
Hosting Drupal on Amazon EC2
Hosting Drupal on Amazon EC2Hosting Drupal on Amazon EC2
Hosting Drupal on Amazon EC2
Kornel Lugosi
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
Ulrich Krause
 
StorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and PrestoStorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and Presto
Alluxio, Inc.
 

Similar to Running DSpace: Technical overview, lessons learned, workflows and essential skills (20)

OpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowOpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
 
Provisioning Servers Made Easy
Provisioning Servers Made EasyProvisioning Servers Made Easy
Provisioning Servers Made Easy
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
 
06 integrate elasticsearch
06 integrate elasticsearch06 integrate elasticsearch
06 integrate elasticsearch
 
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
 
Flexible compute
Flexible computeFlexible compute
Flexible compute
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticians
 
UnConference for Georgia Southern Computer Science March 31, 2015
UnConference for Georgia Southern Computer Science March 31, 2015UnConference for Georgia Southern Computer Science March 31, 2015
UnConference for Georgia Southern Computer Science March 31, 2015
 
Introduction to Stacki - World's fastest Linux server provisioning Tool
Introduction to Stacki - World's fastest Linux server provisioning ToolIntroduction to Stacki - World's fastest Linux server provisioning Tool
Introduction to Stacki - World's fastest Linux server provisioning Tool
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
 
Docker & ECS: Secure Nearline Execution
Docker & ECS: Secure Nearline ExecutionDocker & ECS: Secure Nearline Execution
Docker & ECS: Secure Nearline Execution
 
DrupalCampLA 2011: Drupal backend-performance
DrupalCampLA 2011: Drupal backend-performanceDrupalCampLA 2011: Drupal backend-performance
DrupalCampLA 2011: Drupal backend-performance
 
12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat
 
Scala at Treasure Data
Scala at Treasure DataScala at Treasure Data
Scala at Treasure Data
 
The Why and How of Scala at Twitter
The Why and How of Scala at TwitterThe Why and How of Scala at Twitter
The Why and How of Scala at Twitter
 
GWT is Smarter Than You
GWT is Smarter Than YouGWT is Smarter Than You
GWT is Smarter Than You
 
CGSpace technical overview
CGSpace technical overviewCGSpace technical overview
CGSpace technical overview
 
Hosting Drupal on Amazon EC2
Hosting Drupal on Amazon EC2Hosting Drupal on Amazon EC2
Hosting Drupal on Amazon EC2
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
 
StorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and PrestoStorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and Presto
 

More from ILRI

How the small-scale low biosecurity sector could be transformed into a more b...
How the small-scale low biosecurity sector could be transformed into a more b...How the small-scale low biosecurity sector could be transformed into a more b...
How the small-scale low biosecurity sector could be transformed into a more b...
ILRI
 
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
ILRI
 
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
ILRI
 
A training, certification and marketing scheme for informal dairy vendors in ...
A training, certification and marketing scheme for informal dairy vendors in ...A training, certification and marketing scheme for informal dairy vendors in ...
A training, certification and marketing scheme for informal dairy vendors in ...
ILRI
 
Milk safety and child nutrition impacts of the MoreMilk training, certificati...
Milk safety and child nutrition impacts of the MoreMilk training, certificati...Milk safety and child nutrition impacts of the MoreMilk training, certificati...
Milk safety and child nutrition impacts of the MoreMilk training, certificati...
ILRI
 
Preventing the next pandemic: a 12-slide primer on emerging zoonotic diseases
Preventing the next pandemic: a 12-slide primer on emerging zoonotic diseasesPreventing the next pandemic: a 12-slide primer on emerging zoonotic diseases
Preventing the next pandemic: a 12-slide primer on emerging zoonotic diseases
ILRI
 
Preventing preventable diseases: a 12-slide primer on foodborne disease
Preventing preventable diseases: a 12-slide primer on foodborne diseasePreventing preventable diseases: a 12-slide primer on foodborne disease
Preventing preventable diseases: a 12-slide primer on foodborne disease
ILRI
 
Preventing a post-antibiotic era: a 12-slide primer on antimicrobial resistance
Preventing a post-antibiotic era: a 12-slide primer on antimicrobial resistancePreventing a post-antibiotic era: a 12-slide primer on antimicrobial resistance
Preventing a post-antibiotic era: a 12-slide primer on antimicrobial resistance
ILRI
 
Food safety research in low- and middle-income countries
Food safety research in low- and middle-income countriesFood safety research in low- and middle-income countries
Food safety research in low- and middle-income countries
ILRI
 
Food safety research LMIC
Food safety research LMICFood safety research LMIC
Food safety research LMIC
ILRI
 
The application of One Health: Observations from eastern and southern Africa
The application of One Health: Observations from eastern and southern AfricaThe application of One Health: Observations from eastern and southern Africa
The application of One Health: Observations from eastern and southern Africa
ILRI
 
One Health in action: Perspectives from 10 years in the field
One Health in action: Perspectives from 10 years in the fieldOne Health in action: Perspectives from 10 years in the field
One Health in action: Perspectives from 10 years in the field
ILRI
 
Reservoirs of pathogenic Leptospira species in Uganda
Reservoirs of pathogenic Leptospira species in UgandaReservoirs of pathogenic Leptospira species in Uganda
Reservoirs of pathogenic Leptospira species in Uganda
ILRI
 
Minyoo ya mbwa
Minyoo ya mbwaMinyoo ya mbwa
Minyoo ya mbwa
ILRI
 
Parasites in dogs
Parasites in dogsParasites in dogs
Parasites in dogs
ILRI
 
Assessing meat microbiological safety and associated handling practices in bu...
Assessing meat microbiological safety and associated handling practices in bu...Assessing meat microbiological safety and associated handling practices in bu...
Assessing meat microbiological safety and associated handling practices in bu...
ILRI
 
Ecological factors associated with abundance and distribution of mosquito vec...
Ecological factors associated with abundance and distribution of mosquito vec...Ecological factors associated with abundance and distribution of mosquito vec...
Ecological factors associated with abundance and distribution of mosquito vec...
ILRI
 
Livestock in the agrifood systems transformation
Livestock in the agrifood systems transformationLivestock in the agrifood systems transformation
Livestock in the agrifood systems transformation
ILRI
 
Development of a fluorescent RBL reporter system for diagnosis of porcine cys...
Development of a fluorescent RBL reporter system for diagnosis of porcine cys...Development of a fluorescent RBL reporter system for diagnosis of porcine cys...
Development of a fluorescent RBL reporter system for diagnosis of porcine cys...
ILRI
 
Practices and drivers of antibiotic use in Kenyan smallholder dairy farms
Practices and drivers of antibiotic use in Kenyan smallholder dairy farmsPractices and drivers of antibiotic use in Kenyan smallholder dairy farms
Practices and drivers of antibiotic use in Kenyan smallholder dairy farms
ILRI
 

More from ILRI (20)

How the small-scale low biosecurity sector could be transformed into a more b...
How the small-scale low biosecurity sector could be transformed into a more b...How the small-scale low biosecurity sector could be transformed into a more b...
How the small-scale low biosecurity sector could be transformed into a more b...
 
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
 
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
 
A training, certification and marketing scheme for informal dairy vendors in ...
A training, certification and marketing scheme for informal dairy vendors in ...A training, certification and marketing scheme for informal dairy vendors in ...
A training, certification and marketing scheme for informal dairy vendors in ...
 
Milk safety and child nutrition impacts of the MoreMilk training, certificati...
Milk safety and child nutrition impacts of the MoreMilk training, certificati...Milk safety and child nutrition impacts of the MoreMilk training, certificati...
Milk safety and child nutrition impacts of the MoreMilk training, certificati...
 
Preventing the next pandemic: a 12-slide primer on emerging zoonotic diseases
Preventing the next pandemic: a 12-slide primer on emerging zoonotic diseasesPreventing the next pandemic: a 12-slide primer on emerging zoonotic diseases
Preventing the next pandemic: a 12-slide primer on emerging zoonotic diseases
 
Preventing preventable diseases: a 12-slide primer on foodborne disease
Preventing preventable diseases: a 12-slide primer on foodborne diseasePreventing preventable diseases: a 12-slide primer on foodborne disease
Preventing preventable diseases: a 12-slide primer on foodborne disease
 
Preventing a post-antibiotic era: a 12-slide primer on antimicrobial resistance
Preventing a post-antibiotic era: a 12-slide primer on antimicrobial resistancePreventing a post-antibiotic era: a 12-slide primer on antimicrobial resistance
Preventing a post-antibiotic era: a 12-slide primer on antimicrobial resistance
 
Food safety research in low- and middle-income countries
Food safety research in low- and middle-income countriesFood safety research in low- and middle-income countries
Food safety research in low- and middle-income countries
 
Food safety research LMIC
Food safety research LMICFood safety research LMIC
Food safety research LMIC
 
The application of One Health: Observations from eastern and southern Africa
The application of One Health: Observations from eastern and southern AfricaThe application of One Health: Observations from eastern and southern Africa
The application of One Health: Observations from eastern and southern Africa
 
One Health in action: Perspectives from 10 years in the field
One Health in action: Perspectives from 10 years in the fieldOne Health in action: Perspectives from 10 years in the field
One Health in action: Perspectives from 10 years in the field
 
Reservoirs of pathogenic Leptospira species in Uganda
Reservoirs of pathogenic Leptospira species in UgandaReservoirs of pathogenic Leptospira species in Uganda
Reservoirs of pathogenic Leptospira species in Uganda
 
Minyoo ya mbwa
Minyoo ya mbwaMinyoo ya mbwa
Minyoo ya mbwa
 
Parasites in dogs
Parasites in dogsParasites in dogs
Parasites in dogs
 
Assessing meat microbiological safety and associated handling practices in bu...
Assessing meat microbiological safety and associated handling practices in bu...Assessing meat microbiological safety and associated handling practices in bu...
Assessing meat microbiological safety and associated handling practices in bu...
 
Ecological factors associated with abundance and distribution of mosquito vec...
Ecological factors associated with abundance and distribution of mosquito vec...Ecological factors associated with abundance and distribution of mosquito vec...
Ecological factors associated with abundance and distribution of mosquito vec...
 
Livestock in the agrifood systems transformation
Livestock in the agrifood systems transformationLivestock in the agrifood systems transformation
Livestock in the agrifood systems transformation
 
Development of a fluorescent RBL reporter system for diagnosis of porcine cys...
Development of a fluorescent RBL reporter system for diagnosis of porcine cys...Development of a fluorescent RBL reporter system for diagnosis of porcine cys...
Development of a fluorescent RBL reporter system for diagnosis of porcine cys...
 
Practices and drivers of antibiotic use in Kenyan smallholder dairy farms
Practices and drivers of antibiotic use in Kenyan smallholder dairy farmsPractices and drivers of antibiotic use in Kenyan smallholder dairy farms
Practices and drivers of antibiotic use in Kenyan smallholder dairy farms
 

Recently uploaded

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 

Recently uploaded (20)

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 

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

  • 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. DSpace Instances One server, two instances... CGSpace DSpace Test Hosted at CGNET in California, USA
  • 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
  • 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. (Near) Future Plans Separate instances on Amazon EC2! cgspace.cgiar.org dspacetest.cgiar.org
  • 7. CGSpace Code Is 100% Open Source code is on github: github.com/ilri/DSpace
  • 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. “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. “Pull request” from @mire introducing the CUA module
  • 11. All changes were not created equal...
  • 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. Go Forth And Fork! … and send pull requests!
  • 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. 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. CGSpace Stack Apache httpd Apache Tomcat PostgreSQL Bitstreams Debian GNU/Linux
  • 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. 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. 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.