2019-11-04 15:41:19 +01:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1, shrink-to-fit=no" >
< meta property = "og:title" content = "Posts" / >
< meta property = "og:description" content = "Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." / >
< meta property = "og:type" content = "website" / >
< meta property = "og:url" content = "https://alanorth.github.io/cgspace-notes/posts/" / >
2020-06-22 14:55:59 +02:00
< meta property = "og:updated_time" content = "2020-06-18T20:11:24+03:00" / >
2019-11-04 15:41:19 +01:00
< meta name = "twitter:card" content = "summary" / >
< meta name = "twitter:title" content = "Posts" / >
< meta name = "twitter:description" content = "Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." / >
2020-06-04 13:43:40 +02:00
< meta name = "generator" content = "Hugo 0.72.0" / >
2019-11-04 15:41:19 +01:00
< script type = "application/ld+json" >
{
"@context": "http://schema.org",
"@type": "Blog",
"headline": "CGSpace Notes",
2020-04-02 09:55:42 +02:00
"url" : "https://alanorth.github.io/cgspace-notes/posts/",
2019-11-04 15:41:19 +01:00
"author": {
"@type": "Person",
"name": "Alan Orth"
},
2020-06-02 14:12:32 +02:00
"dateModified": "2020-06-01T13:55:39+03:00",
2020-04-02 09:55:42 +02:00
"keywords": "notes,""migration,""notes,",
"description":"Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository."
2019-11-04 15:41:19 +01:00
}
< / script >
< link rel = "canonical" href = "https://alanorth.github.io/cgspace-notes/posts/" >
< title > CGSpace Notes< / title >
<!-- combined, minified CSS -->
2020-01-23 19:19:38 +01:00
2020-01-28 11:01:42 +01:00
< link href = "https://alanorth.github.io/cgspace-notes/css/style.6da5c906cc7a8fbb93f31cd2316c5dbe3f19ac4aa6bfb066f1243045b8f6061e.css" rel = "stylesheet" integrity = "sha256-baXJBsx6j7uT8xzSMWxdvj8ZrEqmv7Bm8SQwRbj2Bh4=" crossorigin = "anonymous" >
2019-11-04 15:41:19 +01:00
2020-01-28 11:01:42 +01:00
<!-- minified Font Awesome for SVG icons -->
2020-04-02 09:55:42 +02:00
< script defer src = "https://alanorth.github.io/cgspace-notes/js/fontawesome.min.f3d2a1f5980bab30ddd0d8cadbd496475309fc48e2b1d052c5c09e6facffcb0f.js" integrity = "sha256-89Kh9ZgLqzDd0NjK29SWR1MJ/EjisdBSxcCeb6z/yw8=" crossorigin = "anonymous" > < / script >
2020-01-28 11:01:42 +01:00
2019-11-04 15:41:19 +01:00
<!-- RSS 2.0 feed -->
< link rel = "alternate" type = "application/rss+xml" href = "https://alanorth.github.io/cgspace-notes/posts/index.xml" title = "CGSpace Notes" / >
< / head >
< body >
< div class = "blog-masthead" >
< div class = "container" >
< nav class = "nav blog-nav" >
< a class = "nav-link " href = "https://alanorth.github.io/cgspace-notes/" > Home< / a >
< / nav >
< / div >
< / div >
< header class = "blog-header" >
< div class = "container" >
< h1 class = "blog-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/" rel = "home" > CGSpace Notes< / a > < / h1 >
< p class = "lead blog-description" dir = "auto" > Documenting day-to-day work on the < a href = "https://cgspace.cgiar.org" > CGSpace< / a > repository.< / p >
< / div >
< / header >
< div class = "container" >
< div class = "row" >
< div class = "col-sm-8 blog-main" >
2020-06-01 16:08:25 +02:00
< article class = "blog-post" >
< header >
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2016-06/" > June, 2016< / a > < / h2 >
< p class = "blog-post-meta" > < time datetime = "2016-06-01T10:53:00+03:00" > Wed Jun 01, 2016< / time > by Alan Orth in
< span class = "fas fa-tag" aria-hidden = "true" > < / span > < a href = "/cgspace-notes/tags/notes/" rel = "tag" > Notes< / a >
< / p >
< / header >
< h2 id = "2016-06-01" > 2016-06-01< / h2 >
< ul >
< li > Experimenting with IFPRI OAI (we want to harvest their publications)< / li >
< li > After reading the < a href = "https://www.oclc.org/support/services/contentdm/help/server-admin-help/oai-support.en.html" > ContentDM documentation< / a > I found IFPRI’ s OAI endpoint: < a href = "http://ebrary.ifpri.org/oai/oai.php" > http://ebrary.ifpri.org/oai/oai.php< / a > < / li >
< li > After reading the < a href = "https://www.openarchives.org/OAI/openarchivesprotocol.html" > OAI documentation< / a > and testing with an < a href = "http://validator.oaipmh.com/" > OAI validator< / a > I found out how to get their publications< / li >
< li > This is their publications set: < a href = "http://ebrary.ifpri.org/oai/oai.php?verb=ListRecords&from=2016-01-01&set=p15738coll2&metadataPrefix=oai_dc" > http://ebrary.ifpri.org/oai/oai.php?verb=ListRecords& from=2016-01-01& set=p15738coll2& metadataPrefix=oai_dc< / a > < / li >
< li > You can see the others by using the OAI < code > ListSets< / code > verb: < a href = "http://ebrary.ifpri.org/oai/oai.php?verb=ListSets" > http://ebrary.ifpri.org/oai/oai.php?verb=ListSets< / a > < / li >
< li > Working on second phase of metadata migration, looks like this will work for moving CPWF-specific data in < code > dc.identifier.fund< / code > to < code > cg.identifier.cpwfproject< / code > and then the rest to < code > dc.description.sponsorship< / code > < / li >
< / ul >
< a href = 'https://alanorth.github.io/cgspace-notes/2016-06/' > Read more →< / a >
< / article >
2020-05-02 09:08:14 +02:00
< article class = "blog-post" >
< header >
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2016-05/" > May, 2016< / a > < / h2 >
< p class = "blog-post-meta" > < time datetime = "2016-05-01T23:06:00+03:00" > Sun May 01, 2016< / time > by Alan Orth in
< span class = "fas fa-tag" aria-hidden = "true" > < / span > < a href = "/cgspace-notes/tags/notes/" rel = "tag" > Notes< / a >
< / p >
< / header >
< h2 id = "2016-05-01" > 2016-05-01< / h2 >
< ul >
< li > Since yesterday there have been 10,000 REST errors and the site has been unstable again< / li >
< li > I have blocked access to the API now< / li >
< li > There are 3,000 IPs accessing the REST API in a 24-hour period!< / li >
< / ul >
< pre > < code > # awk '{print $1}' /var/log/nginx/rest.log | uniq | wc -l
3168
< / code > < / pre >
< a href = 'https://alanorth.github.io/cgspace-notes/2016-05/' > Read more →< / a >
< / article >
2020-04-02 09:54:46 +02:00
< article class = "blog-post" >
< header >
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2016-04/" > April, 2016< / a > < / h2 >
2020-04-02 09:55:42 +02:00
< p class = "blog-post-meta" > < time datetime = "2016-04-04T11:06:00+03:00" > Mon Apr 04, 2016< / time > by Alan Orth in
2020-04-02 09:54:46 +02:00
< span class = "fas fa-tag" aria-hidden = "true" > < / span > < a href = "/cgspace-notes/tags/notes/" rel = "tag" > Notes< / a >
< / p >
< / header >
< h2 id = "2016-04-04" > 2016-04-04< / h2 >
< ul >
< li > Looking at log file use on CGSpace and notice that we need to work on our cron setup a bit< / li >
< li > We are backing up all logs in the log folder, including useless stuff like solr, cocoon, handle-plugin, etc< / li >
< li > After running DSpace for over five years I’ ve never needed to look in any other log file than dspace.log, leave alone one from last year!< / li >
< li > This will save us a few gigs of backup space we’ re paying for on S3< / li >
< li > Also, I noticed the < code > checker< / code > log has some errors we should pay attention to:< / li >
< / ul >
< a href = 'https://alanorth.github.io/cgspace-notes/2016-04/' > Read more →< / a >
< / article >
2020-03-02 11:38:10 +01:00
< article class = "blog-post" >
< header >
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2016-03/" > March, 2016< / a > < / h2 >
2020-04-02 09:55:42 +02:00
< p class = "blog-post-meta" > < time datetime = "2016-03-02T16:50:00+03:00" > Wed Mar 02, 2016< / time > by Alan Orth in
2020-03-02 11:38:10 +01:00
< span class = "fas fa-tag" aria-hidden = "true" > < / span > < a href = "/cgspace-notes/tags/notes/" rel = "tag" > Notes< / a >
< / p >
< / header >
< h2 id = "2016-03-02" > 2016-03-02< / h2 >
< ul >
< li > Looking at issues with author authorities on CGSpace< / li >
< li > For some reason we still have the < code > index-lucene-update< / code > cron job active on CGSpace, but I’ m pretty sure we don’ t need it as of the latest few versions of Atmire’ s Listings and Reports module< / li >
< li > Reinstall my local (Mac OS X) DSpace stack with Tomcat 7, PostgreSQL 9.3, and Java JDK 1.7 to match environment on CGSpace server< / li >
< / ul >
< a href = 'https://alanorth.github.io/cgspace-notes/2016-03/' > Read more →< / a >
< / article >
2020-02-02 16:15:48 +01:00
< article class = "blog-post" >
< header >
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2016-02/" > February, 2016< / a > < / h2 >
2020-04-02 09:55:42 +02:00
< p class = "blog-post-meta" > < time datetime = "2016-02-05T13:18:00+03:00" > Fri Feb 05, 2016< / time > by Alan Orth in
2020-02-02 16:15:48 +01:00
< span class = "fas fa-tag" aria-hidden = "true" > < / span > < a href = "/cgspace-notes/tags/notes/" rel = "tag" > Notes< / a >
< / p >
< / header >
< h2 id = "2016-02-05" > 2016-02-05< / h2 >
< ul >
< li > Looking at some DAGRIS data for Abenet Yabowork< / li >
< li > Lots of issues with spaces, newlines, etc causing the import to fail< / li >
< li > I noticed we have a very < em > interesting< / em > list of countries on CGSpace:< / li >
< / ul >
< p > < img src = "/cgspace-notes/2016/02/cgspace-countries.png" alt = "CGSpace country list" > < / p >
< ul >
< li > Not only are there 49,000 countries, we have some blanks (25)… < / li >
< li > Also, lots of things like “ COTE D`LVOIRE” and “ COTE D IVOIRE” < / li >
< / ul >
< a href = 'https://alanorth.github.io/cgspace-notes/2016-02/' > Read more →< / a >
< / article >
2020-01-06 10:14:44 +01:00
< article class = "blog-post" >
< header >
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2016-01/" > January, 2016< / a > < / h2 >
2020-04-02 09:55:42 +02:00
< p class = "blog-post-meta" > < time datetime = "2016-01-13T13:18:00+03:00" > Wed Jan 13, 2016< / time > by Alan Orth in
2020-01-06 10:14:44 +01:00
2020-01-28 11:01:42 +01:00
< span class = "fas fa-tag" aria-hidden = "true" > < / span > < a href = "/cgspace-notes/tags/notes/" rel = "tag" > Notes< / a >
2020-01-06 10:14:44 +01:00
< / p >
< / header >
< h2 id = "2016-01-13" > 2016-01-13< / h2 >
< ul >
< li > Move ILRI collection < code > 10568/12503< / code > from < code > 10568/27869< / code > to < code > 10568/27629< / code > using the < a href = "https://gist.github.com/alanorth/392c4660e8b022d99dfa" > move_collections.sh< / a > script I wrote last year.< / li >
< li > I realized it is only necessary to clear the Cocoon cache after moving collections—rather than reindexing—as no metadata has changed, and therefore no search or browse indexes need to be updated.< / li >
< li > Update GitHub wiki for documentation of < a href = "https://github.com/ilri/DSpace/wiki/Maintenance-Tasks" > maintenance tasks< / a > .< / li >
< / ul >
< a href = 'https://alanorth.github.io/cgspace-notes/2016-01/' > Read more →< / a >
< / article >
2019-12-01 10:29:49 +01:00
< article class = "blog-post" >
< header >
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2015-12/" > December, 2015< / a > < / h2 >
2020-04-02 09:55:42 +02:00
< p class = "blog-post-meta" > < time datetime = "2015-12-02T13:18:00+03:00" > Wed Dec 02, 2015< / time > by Alan Orth in
2019-12-01 10:29:49 +01:00
2020-01-28 11:01:42 +01:00
< span class = "fas fa-tag" aria-hidden = "true" > < / span > < a href = "/cgspace-notes/tags/notes/" rel = "tag" > Notes< / a >
2019-12-01 10:29:49 +01:00
< / p >
< / header >
2019-12-17 13:49:24 +01:00
< h2 id = "2015-12-02" > 2015-12-02< / h2 >
2019-12-01 10:29:49 +01:00
< ul >
< li > Replace < code > lzop< / code > with < code > xz< / code > in log compression cron jobs on DSpace Test—it uses less space:< / li >
< / ul >
< pre > < code > # cd /home/dspacetest.cgiar.org/log
# ls -lh dspace.log.2015-11-18*
-rw-rw-r-- 1 tomcat7 tomcat7 2.0M Nov 18 23:59 dspace.log.2015-11-18
-rw-rw-r-- 1 tomcat7 tomcat7 387K Nov 18 23:59 dspace.log.2015-11-18.lzo
-rw-rw-r-- 1 tomcat7 tomcat7 169K Nov 18 23:59 dspace.log.2015-11-18.xz
< / code > < / pre >
< a href = 'https://alanorth.github.io/cgspace-notes/2015-12/' > Read more →< / a >
< / article >
2019-11-04 15:41:19 +01:00
< article class = "blog-post" >
< header >
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2015-11/" > November, 2015< / a > < / h2 >
2020-04-02 09:55:42 +02:00
< p class = "blog-post-meta" > < time datetime = "2015-11-23T17:00:57+03:00" > Mon Nov 23, 2015< / time > by Alan Orth in
2019-11-04 15:41:19 +01:00
2020-01-28 11:01:42 +01:00
< span class = "fas fa-tag" aria-hidden = "true" > < / span > < a href = "/cgspace-notes/tags/notes/" rel = "tag" > Notes< / a >
2019-11-04 15:41:19 +01:00
< / p >
< / header >
2019-12-17 13:49:24 +01:00
< h2 id = "2015-11-22" > 2015-11-22< / h2 >
2019-11-04 15:41:19 +01:00
< ul >
< li > CGSpace went down< / li >
< li > Looks like DSpace exhausted its PostgreSQL connection pool< / li >
2019-11-28 16:30:45 +01:00
< li > Last week I had increased the limit from 30 to 60, which seemed to help, but now there are many more idle connections:< / li >
< / ul >
2019-11-04 15:41:19 +01:00
< pre > < code > $ psql -c 'SELECT * from pg_stat_activity;' | grep idle | grep -c cgspace
78
2019-11-28 16:30:45 +01:00
< / code > < / pre >
2019-11-04 15:41:19 +01:00
< a href = 'https://alanorth.github.io/cgspace-notes/2015-11/' > Read more →< / a >
< / article >
< nav class = "blog-pagination" >
< a class = "btn btn-outline-primary" href = "/cgspace-notes/posts/page/5/" rel = "prev" role = "button" > Previous page< / a >
< a class = "btn btn-outline-primary disabled" href = "#" role = "button" aria-disabled = "true" > Next page< / a >
< / nav >
< / div > <!-- /.blog - main -->
< aside class = "col-sm-3 ml-auto blog-sidebar" >
< section class = "sidebar-module" >
< h4 > Recent Posts< / h4 >
< ol class = "list-unstyled" >
2020-06-02 14:12:32 +02:00
< li > < a href = "/cgspace-notes/2020-06/" > June, 2020< / a > < / li >
2020-05-02 09:08:14 +02:00
2020-06-02 14:12:32 +02:00
< li > < a href = "/cgspace-notes/2020-05/" > May, 2020< / a > < / li >
2020-06-01 16:08:25 +02:00
2020-04-02 09:54:46 +02:00
< li > < a href = "/cgspace-notes/2020-04/" > April, 2020< / a > < / li >
2020-03-02 11:38:10 +01:00
< li > < a href = "/cgspace-notes/2020-03/" > March, 2020< / a > < / li >
2020-02-02 16:15:48 +01:00
< li > < a href = "/cgspace-notes/2020-02/" > February, 2020< / a > < / li >
2019-11-04 15:41:19 +01:00
< / ol >
< / section >
< section class = "sidebar-module" >
< h4 > Links< / h4 >
< ol class = "list-unstyled" >
< li > < a href = "https://cgspace.cgiar.org" > CGSpace< / a > < / li >
< li > < a href = "https://dspacetest.cgiar.org" > DSpace Test< / a > < / li >
< li > < a href = "https://github.com/ilri/DSpace" > CGSpace @ GitHub< / a > < / li >
< / ol >
< / section >
< / aside >
< / div > <!-- /.row -->
< / div > <!-- /.container -->
< footer class = "blog-footer" >
< p dir = "auto" >
Blog template created by < a href = "https://twitter.com/mdo" > @mdo< / a > , ported to Hugo by < a href = 'https://twitter.com/mralanorth' > @mralanorth< / a > .
< / p >
< p >
< a href = "#" > Back to top< / a >
< / p >
< / footer >
< / body >
< / html >