<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> <meta name="description" content=""> <meta name="author" content="Alan Orth"> <!-- OpenGraph Metadata: http://ogp.me/ --> <meta property="og:title" content="August, 2016"> <meta property="og:description" content=""> <meta property="og:type" content="article"> <meta property="article:published_time" content="2016-08-01T15:53:00+03:00"> <meta property="article:author" content="Alan Orth"> <meta property="og:url" content="https://alanorth.github.io/cgspace-notes/2016-08/"> <!-- Metadata for Twitter: https://dev.twitter.com/cards/markup --> <meta property="twitter:card" content="summary"> <meta property="twitter:title" content="August, 2016"> <meta property="twitter:description" content=""> <meta name="generator" content="Hugo 0.17" /> <base href="https://alanorth.github.io/cgspace-notes/"> <link rel="canonical" href="https://alanorth.github.io/cgspace-notes/2016-08/"> <title>August, 2016 | CGSpace Notes</title> <!-- combined, minified CSS --> <link href="https://alanorth.github.io/cgspace-notes/css/style.css" rel="stylesheet"> <!-- RSS 2.0 feed --> <link href="https://alanorth.github.io/cgspace-notes/index.xml" type="application/rss+xml" rel="alternate"> </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"><a href="https://alanorth.github.io/cgspace-notes/" rel="home">CGSpace Notes</a></h1> </div> </header> <div class="container"> <div class="row"> <div class="col-sm-8 blog-main"> <article class="blog-post"> <header> <h2 class="blog-post-title"><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 <i class="fa fa-tag" aria-hidden="true"></i> <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> <p></p> <ul> <li>Lots of conflicts that don’t make sense (ie, shouldn’t conflict!)</li> <li>This file in particular conflicts almost 10 times: <code>dspace/modules/xmlui-mirage2/src/main/webapp/themes/CGIAR/styles/_style.scss</code></li> <li>Checking out a clean branch at 5.5 and cherry-picking our commits works where that file would normally have a conflict</li> <li>Seems to be related to merge commits</li> <li><code>git rebase --preserve-merges</code> doesn’t seem to help</li> <li>Eventually I just turned on git rerere and solved the conflicts and completed the 403 commit rebase</li> <li>The 5.5 code now builds but doesn’t run (white page in Tomcat)</li> </ul> <h2 id="2016-08-02">2016-08-02</h2> <ul> <li>Ask Atmire for help with DSpace 5.5 issue</li> <li>Vanilla DSpace 5.5 deploys and runs fine</li> <li>Playing with DSpace in Ubuntu 16.04 and Tomcat 7</li> <li>Everything is still fucked up, even vanilla DSpace 5.5</li> </ul> <h2 id="2016-08-04">2016-08-04</h2> <ul> <li>Ask on DSpace mailing list about duplicate authors, Discovery and author text values</li> <li>Atmire responded with some new DSpace 5.5 ready versions to try for their modules</li> </ul> <h2 id="2016-08-05">2016-08-05</h2> <ul> <li>Fix item display incorrectly displaying Species when Breeds were present (<a href="https://github.com/ilri/DSpace/pull/260">#260</a>)</li> <li>Experiment with fixing more authors, like Delia Grace:</li> </ul> <pre><code>dspacetest=# update metadatavalue set authority='0b4fcbc1-d930-4319-9b4d-ea1553cca70b', confidence=600 where metadata_field_id=3 and text_value='Grace, D.'; </code></pre> <h2 id="2016-08-06">2016-08-06</h2> <ul> <li>Finally figured out how to remove “View/Open” and “Bitstreams” from the item view</li> </ul> <h2 id="2016-08-07">2016-08-07</h2> <ul> <li>Start working on Ubuntu 16.04 Ansible playbook for Tomcat 8, PostgreSQL 9.5, Oracle 8, etc</li> </ul> <h2 id="2016-08-08">2016-08-08</h2> <ul> <li>Still troubleshooting Atmire modules on DSpace 5.5</li> <li>Vanilla DSpace 5.5 works on Tomcat 7…</li> <li>Ooh, and vanilla DSpace 5.5 works on Tomcat 8 with Java 8!</li> <li>Some notes about setting up Tomcat 8, since it’s new on this machine…</li> <li>Install latest Oracle Java 8 JDK</li> <li>Create <code>setenv.sh</code> in Tomcat 8 <code>libexec/bin</code> directory: <br /></li> </ul> <pre><code>CATALINA_OPTS="-Djava.awt.headless=true -Xms3072m -Xmx3072m -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -Dfile.encoding=UTF-8" CATALINA_OPTS="$CATALINA_OPTS -Djava.library.path=/opt/brew/Cellar/tomcat-native/1.2.8/lib" JRE_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home </code></pre> <ul> <li>Edit Tomcat 8 <code>server.xml</code> to add regular HTTP listener for solr</li> <li>Symlink webapps:</li> </ul> <pre><code>$ rm -rf /opt/brew/Cellar/tomcat/8.5.4/libexec/webapps/ROOT $ ln -sv ~/dspace/webapps/xmlui /opt/brew/Cellar/tomcat/8.5.4/libexec/webapps/ROOT $ ln -sv ~/dspace/webapps/oai /opt/brew/Cellar/tomcat/8.5.4/libexec/webapps/oai $ ln -sv ~/dspace/webapps/jspui /opt/brew/Cellar/tomcat/8.5.4/libexec/webapps/jspui $ ln -sv ~/dspace/webapps/rest /opt/brew/Cellar/tomcat/8.5.4/libexec/webapps/rest $ ln -sv ~/dspace/webapps/solr /opt/brew/Cellar/tomcat/8.5.4/libexec/webapps/solr </code></pre> <h2 id="2016-08-09">2016-08-09</h2> <ul> <li>More tests of Atmire’s 5.5 modules on a clean, working instance of <code>5_x-prod</code></li> <li>Still fails, though perhaps differently than before (Flyway): <a href="https://gist.github.com/alanorth/5d49c45a16efd7c6bc1e6642e66118b2">https://gist.github.com/alanorth/5d49c45a16efd7c6bc1e6642e66118b2</a></li> <li>More work on Tomcat 8 and Java 8 stuff for Ansible playbooks</li> </ul> <h2 id="2016-08-10">2016-08-10</h2> <ul> <li>Turns out DSpace 5.x isn’t ready for Tomcat 8: <a href="https://jira.duraspace.org/browse/DS-3092">https://jira.duraspace.org/browse/DS-3092</a></li> <li>So we’ll need to use Tomcat 7 + Java 8 on Ubuntu 16.04</li> <li>More work on the Ansible stuff for this, allowing Tomcat 7 to use Java 8</li> <li>Merge pull request for fixing the type Discovery index to use <code>dc.type</code> (<a href="https://github.com/ilri/DSpace/pull/262">#262</a>)</li> <li>Merge pull request for removing “Bitstream” text from item display, as it confuses users and isn’t necessary (<a href="https://github.com/ilri/DSpace/pull/263">#263</a>)</li> </ul> <h2 id="2016-08-11">2016-08-11</h2> <ul> <li>Finally got DSpace (5.5) running on Ubuntu 16.04, Tomcat 7, Java 8, PostgreSQL 9.5 via the updated Ansible stuff</li> </ul> <p><img src="2016/08/dspace55-ubuntu16.04.png" alt="DSpace 5.5 on Ubuntu 16.04, Tomcat 7, Java 8, PostgreSQL 9.5" /></p> <h2 id="2016-08-14">2016-08-14</h2> <ul> <li>Update Mirage 2 build notes for Ubuntu 16.04: <a href="https://gist.github.com/alanorth/2cf9c15834dc68a514262fcb04004cb0">https://gist.github.com/alanorth/2cf9c15834dc68a514262fcb04004cb0</a></li> </ul> <h2 id="2016-08-15">2016-08-15</h2> <ul> <li>Notes on NodeJS + nginx + systemd: <a href="https://gist.github.com/alanorth/51acd476891c67dfe27725848cf5ace1">https://gist.github.com/alanorth/51acd476891c67dfe27725848cf5ace1</a></li> </ul> <p><img src="2016/08/nodejs-nginx.png" alt="ExpressJS running behind nginx" /></p> <h2 id="2016-08-16">2016-08-16</h2> <ul> <li>Troubleshoot Paramiko connection issues with Ansible on ILRI servers: <a href="https://github.com/ilri/rmg-ansible-public/issues/37">#37</a></li> <li>Turns out we need to add some MACs to our <code>sshd_config</code>: hmac-sha2-512,hmac-sha2-256</li> <li>Update DSpace Test’s Java to version 8 to start testing this configuration (<a href="https://wiki.apache.org/solr/ShawnHeisey">seeing as Solr recommends it</a>)</li> </ul> <h2 id="2016-08-17">2016-08-17</h2> <ul> <li>More work on Let’s Encrypt stuff for Ansible roles</li> <li>Yesterday Atmire responded about DSpace 5.5 issues and asked me to try the <code>dspace database repair</code> command to fix Flyway issues</li> <li>The <code>dspace database</code> command doesn’t even run: <a href="https://gist.github.com/alanorth/c43c8d89e8df346d32c0ee938be90cd5">https://gist.github.com/alanorth/c43c8d89e8df346d32c0ee938be90cd5</a></li> <li>Oops, it looks like the missing classes causing <code>dspace database</code> to fail were coming from the old <code>~/dspace/config/spring</code> folder</li> <li>After removing the spring folder and running ant install again, <code>dspace database</code> works</li> <li>I see there are missing and pending Flyway migrations, but running <code>dspace database repair</code> and <code>dspace database migrate</code> does nothing: <a href="https://gist.github.com/alanorth/41ed5abf2ff32d8ac9eedd1c3d015d70">https://gist.github.com/alanorth/41ed5abf2ff32d8ac9eedd1c3d015d70</a></li> </ul> <h2 id="2016-08-18">2016-08-18</h2> <ul> <li>Fix “CONGO,DR” country name in <code>input-forms.xml</code> (<a href="https://github.com/ilri/DSpace/pull/264">#264</a>)</li> <li>Also need to fix existing records using the incorrect form in the database:</li> </ul> <pre><code>dspace=# update metadatavalue set text_value='CONGO, DR' where resource_type_id=2 and metadata_field_id=228 and text_value='CONGO,DR'; </code></pre> <ul> <li>I asked a question on the DSpace mailing list about updating “preferred” forms of author names from ORCID</li> </ul> <h2 id="2016-08-21">2016-08-21</h2> <ul> <li>A few days ago someone on the DSpace mailing list suggested I try <code>dspace dsrun org.dspace.authority.UpdateAuthorities</code> to update preferred author names from ORCID</li> <li>If you set <code>auto-update-items=true</code> in <code>dspace/config/modules/solrauthority.cfg</code> it is supposed to update records it finds automatically</li> <li>I updated my name format on ORCID and I’ve been running that script a few times per day since then but nothing has changed</li> <li>Still troubleshooting Atmire modules on DSpace 5.5</li> <li>I sent them some new verbose logs: <a href="https://gist.github.com/alanorth/700748995649688148ceba89d760253e">https://gist.github.com/alanorth/700748995649688148ceba89d760253e</a></li> </ul> <h2 id="2016-08-22">2016-08-22</h2> <ul> <li>Database migrations are fine on DSpace 5.1:</li> </ul> <pre><code>$ ~/dspace/bin/dspace database info Database URL: jdbc:postgresql://localhost:5432/dspacetest Database Schema: public Database Software: PostgreSQL version 9.3.14 Database Driver: PostgreSQL Native Driver version PostgreSQL 9.1 JDBC4 (build 901) +----------------+----------------------------+---------------------+---------+ | Version | Description | Installed on | State | +----------------+----------------------------+---------------------+---------+ | 1.1 | Initial DSpace 1.1 databas | | PreInit | | 1.2 | Upgrade to DSpace 1.2 sche | | PreInit | | 1.3 | Upgrade to DSpace 1.3 sche | | PreInit | | 1.3.9 | Drop constraint for DSpace | | PreInit | | 1.4 | Upgrade to DSpace 1.4 sche | | PreInit | | 1.5 | Upgrade to DSpace 1.5 sche | | PreInit | | 1.5.9 | Drop constraint for DSpace | | PreInit | | 1.6 | Upgrade to DSpace 1.6 sche | | PreInit | | 1.7 | Upgrade to DSpace 1.7 sche | | PreInit | | 1.8 | Upgrade to DSpace 1.8 sche | | PreInit | | 3.0 | Upgrade to DSpace 3.x sche | | PreInit | | 4.0 | Initializing from DSpace 4 | 2015-11-20 12:42:52 | Success | | 5.0.2014.08.08 | DS-1945 Helpdesk Request a | 2015-11-20 12:42:53 | Success | | 5.0.2014.09.25 | DS 1582 Metadata For All O | 2015-11-20 12:42:55 | Success | | 5.0.2014.09.26 | DS-1582 Metadata For All O | 2015-11-20 12:42:55 | Success | | 5.0.2015.01.27 | MigrateAtmireExtraMetadata | 2015-11-20 12:43:29 | Success | | 5.1.2015.12.03 | Atmire CUA 4 migration | 2016-03-21 17:10:41 | Success | | 5.1.2015.12.03 | Atmire MQM migration | 2016-03-21 17:10:42 | Success | +----------------+----------------------------+---------------------+---------+ </code></pre> <ul> <li>So I’m not sure why they have problems when we move to DSpace 5.5 (even the 5.1 migrations themselves show as “Missing”)</li> </ul> <h2 id="2016-08-23">2016-08-23</h2> <ul> <li>Help Paola from CCAFS with her thumbnails again</li> <li>Talk to Atmire about the DSpace 5.5 issue, and it seems to be caused by a bug in FlywayDB</li> <li>They said I should delete the Atmire migrations <br /></li> </ul> <pre><code>dspacetest=# delete from schema_version where description = 'Atmire CUA 4 migration' and version='5.1.2015.12.03.2'; dspacetest=# delete from schema_version where description = 'Atmire MQM migration' and version='5.1.2015.12.03.3'; </code></pre> <ul> <li>After that DSpace starts up by XMLUI now has unrelated issues that I need to solve!</li> </ul> <pre><code>org.apache.avalon.framework.configuration.ConfigurationException: Type 'ThemeResourceReader' does not exist for 'map:read' at jndi:/localhost/themes/0_CGIAR/sitemap.xmap:136:77 context:/jndi:/localhost/themes/0_CGIAR/sitemap.xmap - 136:77 </code></pre> <ul> <li>Looks like we’re missing some stuff in the XMLUI module’s <code>sitemap.xmap</code>, as well as in each of our XMLUI themes</li> <li>Diff them with these to get the <code>ThemeResourceReader</code> changes: <ul> <li><code>dspace-xmlui/src/main/webapp/sitemap.xmap</code></li> <li><code>dspace-xmlui-mirage2/src/main/webapp/sitemap.xmap</code></li> </ul></li> <li>Then we had some NullPointerException from the SolrLogger class, which is apparently part of Atmire’s CUA module</li> <li>I tried with a small version bump to CUA but it didn’t work (version <code>5.5-4.1.1-0</code>)</li> <li>Also, I started looking into huge pages to prepare for PostgreSQL 9.5, but it seems Linode’s kernels don’t enable them</li> </ul> <h2 id="2016-08-24">2016-08-24</h2> <ul> <li>Clean up and import 48 CCAFS records into DSpace Test</li> <li>SQL to get all journal titles from dc.source (55), since it’s apparently used for internal DSpace filename shit, but we moved all our journal titles there a few months ago:</li> </ul> <pre><code>dspacetest=# select distinct text_value from metadatavalue where metadata_field_id=55 and text_value !~ '.*(\.pdf|\.png|\.PDF|\.Pdf|\.JPEG|\.jpg|\.JPG|\.jpeg|\.xls|\.rtf|\.docx?|\.potx|\.dotx|\.eqa|\.tiff|\.mp4|\.mp3|\.gif|\.zip|\.txt|\.pptx|\.indd|\.PNG|\.bmp|\.exe|org\.dspace\.app\.mediafilter).*'; </code></pre> <h2 id="2016-08-25">2016-08-25</h2> <ul> <li>Atmire suggested adding a missing bean to <code>dspace/config/spring/api/atmire-cua.xml</code> but it doesn’t help:</li> </ul> <pre><code>... Error creating bean with name 'MetadataStorageInfoService' ... </code></pre> <ul> <li>Atmire sent an updated version of <code>dspace/config/spring/api/atmire-cua.xml</code> and now XMLUI starts but gives a null pointer exception:</li> </ul> <pre><code>Java stacktrace: java.lang.NullPointerException at org.dspace.app.xmlui.aspect.statistics.Navigation.addOptions(Navigation.java:129) at org.dspace.app.xmlui.wing.AbstractWingTransformer.startElement(AbstractWingTransformer.java:228) at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.cocoon.core.container.spring.avalon.PoolableProxyHandler.invoke(PoolableProxyHandler.java:71) at com.sun.proxy.$Proxy103.startElement(Unknown Source) at org.apache.cocoon.environment.internal.EnvironmentChanger.startElement(EnvironmentStack.java:140) at org.apache.cocoon.environment.internal.EnvironmentChanger.startElement(EnvironmentStack.java:140) at org.apache.cocoon.xml.AbstractXMLPipe.startElement(AbstractXMLPipe.java:94) ... </code></pre> <ul> <li>Import the 47 CCAFS records to CGSpace, creating the SimpleArchiveFormat bundles and importing like:</li> </ul> <pre><code>$ ./safbuilder.sh -c /tmp/Thumbnails\ to\ Upload\ to\ CGSpace/3546.csv $ JAVA_OPTS="-Dfile.encoding=UTF-8 -Xmx512m" /home/cgspace.cgiar.org/bin/dspace import -a -e aorth@mjanja.ch -c 10568/3546 -s /tmp/Thumbnails\ to\ Upload\ to\ CGSpace/SimpleArchiveFormat -m 3546.map </code></pre> <ul> <li>Finally got DSpace 5.5 working with the Atmire modules after a few rounds of back and forth with Atmire devs</li> </ul> <h2 id="2016-08-26">2016-08-26</h2> <ul> <li>CGSpace had issues tonight, not entirely crashing, but becoming unresponsive</li> <li>The dspace log had this:</li> </ul> <pre><code>2016-08-26 20:48:05,040 ERROR org.dspace.storage.rdbms.DatabaseManager @ SQL connection Error - org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object </code></pre> <ul> <li>Related to /rest no doubt</li> </ul> <h2 id="2016-08-27">2016-08-27</h2> <ul> <li>Run corrections for Delia Grace and <code>CONGO, DR</code>, and deploy August changes to CGSpace</li> <li>Run all system updates and reboot the server</li> </ul> </article> </div> <!-- /.blog-main --> <aside class="col-sm-3 offset-sm-1 blog-sidebar"> <section class="sidebar-module"> <h4>Recent Posts</h4> <ol class="list-unstyled"> <li><a href="/cgspace-notes/2016-10/">October, 2016</a></li> <li><a href="/cgspace-notes/2016-09/">September, 2016</a></li> <li><a href="/cgspace-notes/2016-08/">August, 2016</a></li> <li><a href="/cgspace-notes/2016-07/">July, 2016</a></li> <li><a href="/cgspace-notes/2016-06/">June, 2016</a></li> </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> 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>