2018-02-11 17:28:23 +01:00
<!DOCTYPE html>
2019-10-11 10:19:42 +02:00
< html lang = "en" >
2018-02-11 17:28:23 +01:00
< 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" / >
2018-03-09 21:16:20 +01:00
< meta property = "og:url" content = "https://alanorth.github.io/cgspace-notes/posts/" / >
2019-11-04 15:41:19 +01:00
< meta property = "og:updated_time" content = "2019-11-04T12:20:30+02:00" / >
2018-09-30 07:23:48 +02:00
2018-02-11 17:28:23 +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." / >
2019-11-28 16:30:45 +01:00
< meta name = "generator" content = "Hugo 0.60.0" / >
2018-02-11 17:28:23 +01:00
< script type = "application/ld+json" >
{
"@context": "http://schema.org",
"@type": "Blog",
"headline": "CGSpace Notes",
2019-04-13 11:15:55 +02:00
"url" : "https:\/\/alanorth.github.io\/cgspace-notes\/posts\/",
2018-02-11 17:28:23 +01:00
"author": {
"@type": "Person",
"name": "Alan Orth"
},
2019-11-04 15:41:19 +01:00
"dateModified": "2019-11-04T12:20:30+02:00",
2019-10-28 12:43:25 +01:00
"keywords": "notes,migration,notes,",
2019-04-13 11:15:55 +02:00
"description": "Documenting day-to-day work on the [CGSpace](https:\/\/cgspace.cgiar.org) repository."
2018-02-11 17:28:23 +01:00
}
< / script >
2018-03-09 21:16:20 +01:00
< link rel = "canonical" href = "https://alanorth.github.io/cgspace-notes/posts/" >
2018-02-11 17:28:23 +01:00
< title > CGSpace Notes< / title >
2019-10-11 10:19:42 +02:00
2018-02-11 17:28:23 +01:00
<!-- combined, minified CSS -->
2019-02-13 17:47:17 +01:00
< link href = "https://alanorth.github.io/cgspace-notes/css/style.css" rel = "stylesheet" integrity = "sha384-G5B34w7DFTumWTswxYzTX7NWfbvQEg1HbFFEg6ItN03uTAAoS2qkPS/fu3LhuuSA" crossorigin = "anonymous" >
2019-10-11 10:19:42 +02:00
2018-02-11 17:28:23 +01:00
<!-- RSS 2.0 feed -->
2019-04-14 15:59:47 +02:00
< link rel = "alternate" type = "application/rss+xml" href = "https://alanorth.github.io/cgspace-notes/posts/index.xml" title = "CGSpace Notes" / >
2018-02-11 17:28:23 +01:00
< / 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 >
2018-12-19 12:20:39 +01:00
2018-02-11 17:28:23 +01:00
< header class = "blog-header" >
< div class = "container" >
2019-10-11 10:19:42 +02:00
< 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 >
2018-02-11 17:28:23 +01:00
< / div >
< / header >
2018-12-19 12:20:39 +01:00
2018-02-11 17:28:23 +01:00
< div class = "container" >
< div class = "row" >
< div class = "col-sm-8 blog-main" >
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/2018-04/" > April, 2018< / a > < / h2 >
< p class = "blog-post-meta" > < time datetime = "2018-04-01T16:13:54+02:00" > Sun Apr 01, 2018< / time > by Alan Orth in
< i class = "fa fa-folder" aria-hidden = "true" > < / i > < a href = "/cgspace-notes/categories/notes" rel = "category tag" > Notes< / a >
< / p >
< / header >
2019-11-28 16:30:45 +01:00
< h2 id = "20180401" > 2018-04-01< / h2 >
2019-11-04 15:41:19 +01:00
< ul >
2019-11-28 16:30:45 +01:00
< li > I tried to test something on DSpace Test but noticed that it's down since god knows when< / li >
2019-11-04 15:41:19 +01:00
< li > Catalina logs at least show some memory errors yesterday:< / li >
< / ul >
< a href = 'https://alanorth.github.io/cgspace-notes/2018-04/' > Read more →< / a >
< / article >
2019-10-28 12:43:25 +01:00
< article class = "blog-post" >
< header >
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2018-03/" > March, 2018< / a > < / h2 >
< p class = "blog-post-meta" > < time datetime = "2018-03-02T16:07:54+02:00" > Fri Mar 02, 2018< / time > by Alan Orth in
< i class = "fa fa-folder" aria-hidden = "true" > < / i > < a href = "/cgspace-notes/categories/notes" rel = "category tag" > Notes< / a >
< / p >
< / header >
2019-11-28 16:30:45 +01:00
< h2 id = "20180302" > 2018-03-02< / h2 >
2019-10-28 12:43:25 +01:00
< ul >
< li > Export a CSV of the IITA community metadata for Martin Mueller< / li >
< / ul >
< a href = 'https://alanorth.github.io/cgspace-notes/2018-03/' > Read more →< / a >
< / article >
2019-10-01 16:31:40 +02:00
< article class = "blog-post" >
< header >
2019-10-11 10:19:42 +02:00
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2018-02/" > February, 2018< / a > < / h2 >
2019-10-01 16:31:40 +02:00
< p class = "blog-post-meta" > < time datetime = "2018-02-01T16:28:54+02:00" > Thu Feb 01, 2018< / time > by Alan Orth in
2019-10-28 12:43:25 +01:00
< i class = "fa fa-folder" aria-hidden = "true" > < / i > < a href = "/cgspace-notes/categories/notes" rel = "category tag" > Notes< / a >
2019-10-01 16:31:40 +02:00
< / p >
< / header >
2019-11-28 16:30:45 +01:00
< h2 id = "20180201" > 2018-02-01< / h2 >
2019-10-01 16:31:40 +02:00
< ul >
< li > Peter gave feedback on the < code > dc.rights< / code > proof of concept that I had sent him last week< / li >
2019-11-28 16:30:45 +01:00
< li > We don't need to distinguish between internal and external works, so that makes it just a simple list< / li >
2019-10-01 16:31:40 +02:00
< li > Yesterday I figured out how to monitor DSpace sessions using JMX< / li >
2019-11-28 16:30:45 +01:00
< li > I copied the logic in the < code > jmx_tomcat_dbpools< / code > provided by Ubuntu's < code > munin-plugins-java< / code > package and used the stuff I discovered about JMX < a href = "/cgspace-notes/2018-01/" > in 2018-01< / a > < / li >
2019-10-01 16:31:40 +02:00
< / ul >
< a href = 'https://alanorth.github.io/cgspace-notes/2018-02/' > Read more →< / a >
< / article >
2019-09-01 09:41:30 +02:00
< article class = "blog-post" >
< header >
2019-10-11 10:19:42 +02:00
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2018-01/" > January, 2018< / a > < / h2 >
2019-09-01 09:41:30 +02:00
< p class = "blog-post-meta" > < time datetime = "2018-01-02T08:35:54-08:00" > Tue Jan 02, 2018< / time > by Alan Orth in
2019-10-28 12:43:25 +01:00
< i class = "fa fa-folder" aria-hidden = "true" > < / i > < a href = "/cgspace-notes/categories/notes" rel = "category tag" > Notes< / a >
2019-09-01 09:41:30 +02:00
< / p >
< / header >
2019-11-28 16:30:45 +01:00
< h2 id = "20180102" > 2018-01-02< / h2 >
2019-09-01 09:41:30 +02:00
< ul >
< li > Uptime Robot noticed that CGSpace went down and up a few times last night, for a few minutes each time< / li >
2019-11-28 16:30:45 +01:00
< li > I didn't get any load alerts from Linode and the REST and XMLUI logs don't show anything out of the ordinary< / li >
2019-09-01 09:41:30 +02:00
< li > The nginx logs show HTTP 200s until < code > 02/Jan/2018:11:27:17 +0000< / code > when Uptime Robot got an HTTP 500< / li >
< li > In dspace.log around that time I see many errors like “ Client closed the connection before file download was complete” < / li >
2019-11-28 16:30:45 +01:00
< li > And just before that I see this:< / li >
< / ul >
2019-09-01 09:41:30 +02:00
< pre > < code > Caused by: org.apache.tomcat.jdbc.pool.PoolExhaustedException: [http-bio-127.0.0.1-8443-exec-980] Timeout: Pool empty. Unable to fetch a connection in 5 seconds, none available[size:50; busy:50; idle:0; lastwait:5000].
2019-11-28 16:30:45 +01:00
< / code > < / pre > < ul >
< li > Ah hah! So the pool was actually empty!< / li >
< li > I need to increase that, let's try to bump it up from 50 to 75< / li >
< li > After that one client got an HTTP 499 but then the rest were HTTP 200, so I don't know what the hell Uptime Robot saw< / li >
< li > I notice this error quite a few times in dspace.log:< / li >
< / ul >
2019-09-01 09:41:30 +02:00
< pre > < code > 2018-01-02 01:21:19,137 ERROR org.dspace.app.xmlui.aspect.discovery.SidebarFacetsTransformer @ Error while searching for sidebar facets
org.dspace.discovery.SearchServiceException: org.apache.solr.search.SyntaxError: Cannot parse 'dateIssued_keyword:[1976+TO+1979]': Encountered " " ]" " ] " " at line 1, column 32.
2019-11-28 16:30:45 +01:00
< / code > < / pre > < ul >
< li > And there are many of these errors every day for the past month:< / li >
< / ul >
2019-09-01 09:41:30 +02:00
< pre > < code > $ grep -c " Error while searching for sidebar facets" dspace.log.*
dspace.log.2017-11-21:4
dspace.log.2017-11-22:1
dspace.log.2017-11-23:4
dspace.log.2017-11-24:11
dspace.log.2017-11-25:0
dspace.log.2017-11-26:1
dspace.log.2017-11-27:7
dspace.log.2017-11-28:21
dspace.log.2017-11-29:31
dspace.log.2017-11-30:15
dspace.log.2017-12-01:15
dspace.log.2017-12-02:20
dspace.log.2017-12-03:38
dspace.log.2017-12-04:65
dspace.log.2017-12-05:43
dspace.log.2017-12-06:72
dspace.log.2017-12-07:27
dspace.log.2017-12-08:15
dspace.log.2017-12-09:29
dspace.log.2017-12-10:35
dspace.log.2017-12-11:20
dspace.log.2017-12-12:44
dspace.log.2017-12-13:36
dspace.log.2017-12-14:59
dspace.log.2017-12-15:104
dspace.log.2017-12-16:53
dspace.log.2017-12-17:66
dspace.log.2017-12-18:83
dspace.log.2017-12-19:101
dspace.log.2017-12-20:74
dspace.log.2017-12-21:55
dspace.log.2017-12-22:66
dspace.log.2017-12-23:50
dspace.log.2017-12-24:85
dspace.log.2017-12-25:62
dspace.log.2017-12-26:49
dspace.log.2017-12-27:30
dspace.log.2017-12-28:54
dspace.log.2017-12-29:68
dspace.log.2017-12-30:89
dspace.log.2017-12-31:53
dspace.log.2018-01-01:45
dspace.log.2018-01-02:34
2019-11-28 16:30:45 +01:00
< / code > < / pre > < ul >
< li > Danny wrote to ask for help renewing the wildcard ilri.org certificate and I advised that we should probably use Let's Encrypt if it's just a handful of domains< / li >
2019-09-01 09:41:30 +02:00
< / ul >
< a href = 'https://alanorth.github.io/cgspace-notes/2018-01/' > Read more →< / a >
< / article >
2019-08-04 21:49:04 +02:00
< article class = "blog-post" >
< header >
2019-10-11 10:19:42 +02:00
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2017-12/" > December, 2017< / a > < / h2 >
2019-08-04 21:49:04 +02:00
< p class = "blog-post-meta" > < time datetime = "2017-12-01T13:53:54+03:00" > Fri Dec 01, 2017< / time > by Alan Orth in
2019-10-28 12:43:25 +01:00
< i class = "fa fa-folder" aria-hidden = "true" > < / i > < a href = "/cgspace-notes/categories/notes" rel = "category tag" > Notes< / a >
2019-08-04 21:49:04 +02:00
< / p >
< / header >
2019-11-28 16:30:45 +01:00
< h2 id = "20171201" > 2017-12-01< / h2 >
2019-08-04 21:49:04 +02:00
< ul >
< li > Uptime Robot noticed that CGSpace went down< / li >
< li > The logs say “ Timeout waiting for idle object” < / li >
< li > PostgreSQL activity says there are 115 connections currently< / li >
< li > The list of connections to XMLUI and REST API for today:< / li >
< / ul >
< a href = 'https://alanorth.github.io/cgspace-notes/2017-12/' > Read more →< / a >
< / article >
2019-07-01 11:22:43 +02:00
< article class = "blog-post" >
< header >
2019-10-11 10:19:42 +02:00
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2017-11/" > November, 2017< / a > < / h2 >
2019-07-01 11:22:43 +02:00
< p class = "blog-post-meta" > < time datetime = "2017-11-02T09:37:54+02:00" > Thu Nov 02, 2017< / time > by Alan Orth in
2019-10-28 12:43:25 +01:00
< i class = "fa fa-folder" aria-hidden = "true" > < / i > < a href = "/cgspace-notes/categories/notes" rel = "category tag" > Notes< / a >
2019-07-01 11:22:43 +02:00
< / p >
< / header >
2019-11-28 16:30:45 +01:00
< h2 id = "20171101" > 2017-11-01< / h2 >
2019-07-01 11:22:43 +02:00
< ul >
< li > The CORE developers responded to say they are looking into their bot not respecting our robots.txt< / li >
< / ul >
2019-11-28 16:30:45 +01:00
< h2 id = "20171102" > 2017-11-02< / h2 >
2019-07-01 11:22:43 +02:00
< ul >
2019-11-28 16:30:45 +01:00
< li > Today there have been no hits by CORE and no alerts from Linode (coincidence?)< / li >
< / ul >
2019-07-01 11:22:43 +02:00
< pre > < code > # grep -c " CORE" /var/log/nginx/access.log
0
2019-11-28 16:30:45 +01:00
< / code > < / pre > < ul >
< li > Generate list of authors on CGSpace for Peter to go through and correct:< / li >
< / ul >
2019-07-01 11:22:43 +02:00
< pre > < code > dspace=# \copy (select distinct text_value, count(*) as count from metadatavalue where metadata_field_id = (select metadata_field_id from metadatafieldregistry where element = 'contributor' and qualifier = 'author') AND resource_type_id = 2 group by text_value order by count desc) to /tmp/authors.csv with csv;
COPY 54701
2019-11-28 16:30:45 +01:00
< / code > < / pre >
2019-07-01 11:22:43 +02:00
< a href = 'https://alanorth.github.io/cgspace-notes/2017-11/' > Read more →< / a >
< / article >
2019-06-02 09:57:51 +02:00
< article class = "blog-post" >
< header >
2019-10-11 10:19:42 +02:00
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2017-10/" > October, 2017< / a > < / h2 >
2019-06-02 09:57:51 +02:00
< p class = "blog-post-meta" > < time datetime = "2017-10-01T08:07:54+03:00" > Sun Oct 01, 2017< / time > by Alan Orth in
2019-10-28 12:43:25 +01:00
< i class = "fa fa-folder" aria-hidden = "true" > < / i > < a href = "/cgspace-notes/categories/notes" rel = "category tag" > Notes< / a >
2019-06-02 09:57:51 +02:00
< / p >
< / header >
2019-11-28 16:30:45 +01:00
< h2 id = "20171001" > 2017-10-01< / h2 >
2019-06-02 09:57:51 +02:00
< ul >
2019-11-28 16:30:45 +01:00
< li > Peter emailed to point out that many items in the < a href = "https://cgspace.cgiar.org/handle/10568/2703" > ILRI archive collection< / a > have multiple handles:< / li >
< / ul >
2019-06-02 09:57:51 +02:00
< pre > < code > http://hdl.handle.net/10568/78495||http://hdl.handle.net/10568/79336
2019-11-28 16:30:45 +01:00
< / code > < / pre > < ul >
< li > There appears to be a pattern but I'll have to look a bit closer and try to clean them up automatically, either in SQL or in OpenRefine< / li >
< li > Add Katherine Lutz to the groups for content submission and edit steps of the CGIAR System collections< / li >
2019-06-02 09:57:51 +02:00
< / ul >
< a href = 'https://alanorth.github.io/cgspace-notes/2017-10/' > Read more →< / a >
< / article >
2019-05-01 10:53:26 +02:00
< article class = "blog-post" >
< header >
2019-10-11 10:19:42 +02:00
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/cgiar-library-migration/" > CGIAR Library Migration< / a > < / h2 >
2019-05-01 10:53:26 +02:00
< p class = "blog-post-meta" > < time datetime = "2017-09-18T16:38:35+03:00" > Mon Sep 18, 2017< / time > by Alan Orth in
< i class = "fa fa-folder" aria-hidden = "true" > < / i > < a href = "/cgspace-notes/categories/notes" rel = "category tag" > Notes< / a >
2019-10-28 12:43:25 +01:00
< i class = "fa fa-tag" aria-hidden = "true" > < / i > < a href = "/cgspace-notes/tags/migration" rel = "tag" > Migration< / a >
2019-05-01 10:53:26 +02:00
< / p >
< / header >
< p > Rough notes for importing the CGIAR Library content. It was decided that this content would go to a new top-level community called < em > CGIAR System Organization< / em > .< / p >
< a href = 'https://alanorth.github.io/cgspace-notes/cgiar-library-migration/' > Read more →< / a >
< / article >
2019-04-01 08:02:18 +02:00
< article class = "blog-post" >
< header >
2019-10-11 10:19:42 +02:00
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2017-09/" > September, 2017< / a > < / h2 >
2019-04-01 08:02:18 +02:00
< p class = "blog-post-meta" > < time datetime = "2017-09-07T16:54:52+07:00" > Thu Sep 07, 2017< / time > by Alan Orth in
< i class = "fa fa-tag" aria-hidden = "true" > < / i > < a href = "/cgspace-notes/tags/notes" rel = "tag" > Notes< / a >
< / p >
< / header >
2019-11-28 16:30:45 +01:00
< h2 id = "20170906" > 2017-09-06< / h2 >
2019-04-01 08:02:18 +02:00
< ul >
< li > Linode sent an alert that CGSpace (linode18) was using 261% CPU for the past two hours< / li >
< / ul >
2019-11-28 16:30:45 +01:00
< h2 id = "20170907" > 2017-09-07< / h2 >
2019-04-01 08:02:18 +02:00
< ul >
2019-11-28 16:30:45 +01:00
< li > Ask Sisay to clean up the WLE approvers a bit, as Marianne's user account is both in the approvers step as well as the group< / li >
2019-04-01 08:02:18 +02:00
< / ul >
< a href = 'https://alanorth.github.io/cgspace-notes/2017-09/' > Read more →< / a >
< / article >
2019-03-01 12:17:17 +01:00
< article class = "blog-post" >
< header >
2019-10-11 10:19:42 +02:00
< h2 class = "blog-post-title" dir = "auto" > < a href = "https://alanorth.github.io/cgspace-notes/2017-08/" > August, 2017< / a > < / h2 >
2019-03-01 12:17:17 +01:00
< p class = "blog-post-meta" > < time datetime = "2017-08-01T11:51:52+03:00" > Tue Aug 01, 2017< / time > by Alan Orth in
< i class = "fa fa-tag" aria-hidden = "true" > < / i > < a href = "/cgspace-notes/tags/notes" rel = "tag" > Notes< / a >
< / p >
< / header >
2019-11-28 16:30:45 +01:00
< h2 id = "20170801" > 2017-08-01< / h2 >
2019-03-01 12:17:17 +01:00
< ul >
< li > Linode sent an alert that CGSpace (linode18) was using 350% CPU for the past two hours< / li >
< li > I looked in the Activity pane of the Admin Control Panel and it seems that Google, Baidu, Yahoo, and Bing are all crawling with massive numbers of bots concurrently (~100 total, mostly Baidu and Google)< / li >
< li > The good thing is that, according to < code > dspace.log.2017-08-01< / code > , they are all using the same Tomcat session< / li >
< li > This means our Tomcat Crawler Session Valve is working< / li >
< li > But many of the bots are browsing dynamic URLs like:
< ul >
< li > /handle/10568/3353/discover< / li >
< li > /handle/10568/16510/browse< / li >
2019-11-28 16:30:45 +01:00
< / ul >
< / li >
2019-03-01 12:17:17 +01:00
< li > The < code > robots.txt< / code > only blocks the top-level < code > /discover< / code > and < code > /browse< / code > URLs… we will need to find a way to forbid them from accessing these!< / li >
< li > Relevant issue from DSpace Jira (semi resolved in DSpace 6.0): < a href = "https://jira.duraspace.org/browse/DS-2962" > https://jira.duraspace.org/browse/DS-2962< / a > < / li >
2019-11-28 16:30:45 +01:00
< li > It turns out that we're already adding the < code > X-Robots-Tag " none" < / code > HTTP header, but this only forbids the search engine from < em > indexing< / em > the page, not crawling it!< / li >
2019-03-01 12:17:17 +01:00
< li > Also, the bot has to successfully browse the page first so it can receive the HTTP header… < / li >
< li > We might actually have to < em > block< / em > these requests with HTTP 403 depending on the user agent< / li >
< li > Abenet pointed out that the CGIAR Library Historical Archive collection I sent July 20th only had ~100 entries, instead of 2415< / li >
< li > This was due to newline characters in the < code > dc.description.abstract< / code > column, which caused OpenRefine to choke when exporting the CSV< / li >
< li > I exported a new CSV from the collection on DSpace Test and then manually removed the characters in vim using < code > g/^$/d< / code > < / li >
< li > Then I cleaned up the author authorities and HTML characters in OpenRefine and sent the file back to Abenet< / li >
< / ul >
< a href = 'https://alanorth.github.io/cgspace-notes/2017-08/' > Read more →< / a >
< / article >
2018-02-11 17:28:23 +01:00
< nav class = "blog-pagination" >
2018-03-09 21:16:20 +01:00
< a class = "btn btn-outline-primary" href = "/cgspace-notes/posts/page/2/" rel = "prev" role = "button" > Previous page< / a >
< a class = "btn btn-outline-primary" href = "/cgspace-notes/posts/page/4/" rel = "next" role = "button" > Next page< / a >
2018-02-11 17:28:23 +01:00
< / nav >
2018-04-23 17:09:26 +02:00
2018-02-11 17:28:23 +01:00
< / div > <!-- /.blog - main -->
< aside class = "col-sm-3 ml-auto blog-sidebar" >
< section class = "sidebar-module" >
< h4 > Recent Posts< / h4 >
< ol class = "list-unstyled" >
2019-11-04 15:41:19 +01:00
< li > < a href = "/cgspace-notes/2019-11/" > November, 2019< / a > < / li >
2019-10-28 12:43:25 +01:00
< li > < a href = "/cgspace-notes/cgspace-cgcorev2-migration/" > CGSpace CG Core v2 Migration< / a > < / li >
2019-10-01 16:31:40 +02:00
< li > < a href = "/cgspace-notes/2019-10/" > October, 2019< / a > < / li >
2019-09-01 09:41:30 +02:00
< li > < a href = "/cgspace-notes/2019-09/" > September, 2019< / a > < / li >
< li > < a href = "/cgspace-notes/2019-08/" > August, 2019< / a > < / li >
2018-02-11 17:28:23 +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" >
2019-10-11 10:19:42 +02:00
< p dir = "auto" >
2018-02-11 17:28:23 +01:00
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 >