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-08-02 22:55:04 +02:00
< meta property = "og:updated_time" content = "2020-08-02T22:14:16+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-08-02 21:14:16 +02:00
< meta name = "generator" content = "Hugo 0.74.1" / >
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-08-02 21:14:16 +02:00
"dateModified": "2020-07-02T15:35:54+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-08-02 21:14:16 +02:00
< article class = "blog-post" >
< header >
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2016-08/" > August, 2016< / a > < / h2 >
< p class = "blog-post-meta" > < time datetime = "2016-08-01T15:53:00+03:00" > Mon Aug 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-08-01" > 2016-08-01< / h2 >
< ul >
< li > Add updated distribution license from Sisay (< a href = "https://github.com/ilri/DSpace/issues/259" > #259< / a > )< / li >
< li > Play with upgrading Mirage 2 dependencies in < code > bower.json< / code > because most are several versions of out date< / li >
< li > Bootstrap is at 3.3.0 but upstream is at 3.3.7, and upgrading to anything beyond 3.3.1 breaks glyphicons and probably more< / li >
< li > bower stuff is a dead end, waste of time, too many issues< / li >
< li > Anything after Bootstrap 3.3.1 makes glyphicons disappear (HTTP 404 trying to access from incorrect path of < code > fonts< / code > )< / li >
< li > Start working on DSpace 5.1 → 5.5 port:< / li >
< / ul >
< pre > < code > $ git checkout -b 55new 5_x-prod
$ git reset --hard ilri/5_x-prod
$ git rebase -i dspace-5.5
< / code > < / pre >
< a href = 'https://alanorth.github.io/cgspace-notes/2016-08/' > Read more →< / a >
< / article >
2020-07-01 14:37:20 +02:00
< article class = "blog-post" >
< header >
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2016-07/" > July, 2016< / a > < / h2 >
< p class = "blog-post-meta" > < time datetime = "2016-07-01T10:53:00+03:00" > Fri Jul 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-07-01" > 2016-07-01< / h2 >
< ul >
< li > Add < code > dc.description.sponsorship< / code > to Discovery sidebar facets and make investors clickable in item view (< a href = "https://github.com/ilri/DSpace/issues/232" > #232< / a > )< / li >
< li > I think this query should find and replace all authors that have “ ,” at the end of their names:< / li >
< / ul >
< pre > < code > dspacetest=# update metadatavalue set text_value = regexp_replace(text_value, '(^.+?),$', '\1') where metadata_field_id=3 and resource_type_id=2 and text_value ~ '^.+?,$';
UPDATE 95
dspacetest=# select text_value from metadatavalue where metadata_field_id=3 and resource_type_id=2 and text_value ~ '^.+?,$';
text_value
------------
(0 rows)
< / code > < / pre > < ul >
< li > In this case the select query was showing 95 results before the update< / li >
< / ul >
< a href = 'https://alanorth.github.io/cgspace-notes/2016-07/' > Read more →< / a >
< / article >
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-08-02 21:14:16 +02:00
< li > < a href = "/cgspace-notes/2020-07/" > August, 2020< / a > < / li >
2020-07-01 14:37:20 +02:00
< li > < a href = "/cgspace-notes/2020-07/" > July, 2020< / a > < / li >
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 >
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 >