From 4a1eb3ce1610f2887476a5df9460939393483230 Mon Sep 17 00:00:00 2001 From: Alan Orth Date: Mon, 3 Oct 2016 18:28:33 +0300 Subject: [PATCH] Add notes for 2016-10 --- content/post/2016-09.md | 5 + content/post/2016-10.md | 26 +++++ public/2015-11/index.html | 13 +-- public/2015-12/index.html | 13 +-- public/2016-01/index.html | 13 +-- public/2016-02/index.html | 13 +-- public/2016-03/index.html | 13 +-- public/2016-04/index.html | 13 +-- public/2016-05/index.html | 13 +-- public/2016-06/index.html | 13 +-- public/2016-07/index.html | 13 +-- public/2016-08/index.html | 13 +-- public/2016-09/index.html | 17 +-- public/2016-10/index.html | 174 +++++++++++++++++++++++++++++ public/2016/10/bootstrap-issue.png | Bin 0 -> 69703 bytes public/index.html | 49 ++++---- public/index.xml | 145 ++++++++++++++---------- public/post/index.html | 49 ++++---- public/post/index.xml | 149 ++++++++++++++---------- public/robots.txt | 1 + public/sitemap.xml | 7 +- public/tags/notes/index.html | 49 ++++---- public/tags/notes/index.xml | 148 ++++++++++++++---------- static/2016/10/bootstrap-issue.png | Bin 0 -> 69703 bytes 24 files changed, 612 insertions(+), 337 deletions(-) create mode 100644 content/post/2016-10.md create mode 100644 public/2016-10/index.html create mode 100644 public/2016/10/bootstrap-issue.png create mode 100644 static/2016/10/bootstrap-issue.png diff --git a/content/post/2016-09.md b/content/post/2016-09.md index f271d5023..5e0a1f2ac 100644 --- a/content/post/2016-09.md +++ b/content/post/2016-09.md @@ -540,6 +540,11 @@ $ ./delete-metadata-values.py -i ilrisubjects-delete-13.csv -f cg.subject.ilri - - Add `cg.identifier.ciatproject` to metadata registry in preparation for CIAT project tag - Merge changes for CIAT project tag ([#282](https://github.com/ilri/DSpace/pull/282)) - DSpace Test (linode02) became unresponsive for some reason, I had to hard reboot it from the Linode console +- People on DSpace mailing list gave me a query to get authors from certain collections: + +``` +dspacetest=# select distinct text_value from metadatavalue where metadata_field_id = (select metadata_field_id from metadatafieldregistry where element = 'contributor' and qualifier = 'author') AND resource_type_id = 2 AND resource_id IN (select item_id from collection2item where collection_id IN (select resource_id from handle where handle in ('10568/5472', '10568/5473'))); +``` ## 2016-09-30 diff --git a/content/post/2016-10.md b/content/post/2016-10.md new file mode 100644 index 000000000..6e7730d44 --- /dev/null +++ b/content/post/2016-10.md @@ -0,0 +1,26 @@ ++++ +date = "2016-10-03T15:53:00+03:00" +author = "Alan Orth" +title = "October, 2016" +tags = ["Notes"] + ++++ +## 2016-10-03 + +- Testing adding [ORCIDs to a CSV](https://wiki.duraspace.org/display/DSDOC5x/ORCID+Integration#ORCIDIntegration-EditingexistingitemsusingBatchCSVEditing) file for a single item to see if the author orders get messed up +- Need to test the following scenarios to see how author order is affected: + - ORCIDs only + - ORCIDs plus normal authors +- I exported a random item's metadata as CSV, deleted *all columns* except id and collection, and made a new coloum called `ORCID:dc.contributor.author` with the following random ORCIDs from the ORCID registry: + +``` +0000-0002-6115-0956||0000-0002-3812-8793||0000-0001-7462-405X +``` + +- Hmm, with the `dc.contributor.author` column removed, DSpace doesn't detect any changes +- With a blank `dc.contributor.author` column, DSpace wants to remove all non-ORCID authors and add the new ORCID authors +- I added the [disclaimer text](https://github.com/ilri/DSpace/issues/234) to the About page, then added a footer link to the disclaimer's ID, but there is a Bootstrap issue that causes the page content to disappear when using in-page anchors: https://github.com/twbs/bootstrap/issues/1768 + +![Bootstrap issue with in-page anchors](2016/10/bootstrap-issue.png) + +- Looks like we'll just have to add the text to the About page (without a link) or add a separate page diff --git a/public/2015-11/index.html b/public/2015-11/index.html index b77bf150e..b1d5e1eb8 100644 --- a/public/2015-11/index.html +++ b/public/2015-11/index.html @@ -35,7 +35,7 @@ - + @@ -82,9 +82,7 @@

- - -

2015-11-22

+

2015-11-22

- @@ -246,6 +245,8 @@ db.statementpool = true

Recent Posts

    +
  1. October, 2016
  2. +
  3. September, 2016
  4. August, 2016
  5. @@ -254,8 +255,6 @@ db.statementpool = true
  6. June, 2016
  7. -
  8. May, 2016
  9. -
diff --git a/public/2015-12/index.html b/public/2015-12/index.html index 83e32962b..6866605f4 100644 --- a/public/2015-12/index.html +++ b/public/2015-12/index.html @@ -35,7 +35,7 @@ - + @@ -82,9 +82,7 @@

- - -

2015-12-02

+

2015-12-02

+

Read more → -
-
-

May, 2016

- -
-

2016-05-01

- -
    -
  • Since yesterday there have been 10,000 REST errors and the site has been unstable again
  • -
  • I have blocked access to the API now
  • -
  • There are 3,000 IPs accessing the REST API in a 24-hour period!
  • -
- -
# awk '{print $1}' /var/log/nginx/rest.log  | uniq | wc -l
-3168
-
- - Read more → -
- - @@ -224,6 +217,8 @@ dspacetest=# select text_value from metadatavalue where metadata_field_id=3 and

Recent Posts

    +
  1. October, 2016
  2. +
  3. September, 2016
  4. August, 2016
  5. @@ -232,8 +227,6 @@ dspacetest=# select text_value from metadatavalue where metadata_field_id=3 and
  6. June, 2016
  7. -
  8. May, 2016
  9. -
diff --git a/public/index.xml b/public/index.xml index 227650658..9adfdec2c 100644 --- a/public/index.xml +++ b/public/index.xml @@ -2,22 +2,58 @@ CGSpace Notes - https://alanorth.github.io/cgspace-notes/ + https://alanorth.github.io/cgspace-notes/index.xml Recent content on CGSpace Notes Hugo -- gohugo.io en-us - Thu, 01 Sep 2016 15:53:00 +0300 + Mon, 03 Oct 2016 15:53:00 +0300 + + October, 2016 + https://alanorth.github.io/cgspace-notes/2016-10/ + Mon, 03 Oct 2016 15:53:00 +0300 + + https://alanorth.github.io/cgspace-notes/2016-10/ + + +<h2 id="2016-10-03">2016-10-03</h2> + +<ul> +<li>Testing adding <a href="https://wiki.duraspace.org/display/DSDOC5x/ORCID+Integration#ORCIDIntegration-EditingexistingitemsusingBatchCSVEditing">ORCIDs to a CSV</a> file for a single item to see if the author orders get messed up</li> +<li>Need to test the following scenarios to see how author order is affected: + +<ul> +<li>ORCIDs only</li> +<li>ORCIDs plus normal authors</li> +</ul></li> +<li>I exported a random item&rsquo;s metadata as CSV, deleted <em>all columns</em> except id and collection, and made a new coloum called <code>ORCID:dc.contributor.author</code> with the following random ORCIDs from the ORCID registry:</li> +</ul> + +<pre><code>0000-0002-6115-0956||0000-0002-3812-8793||0000-0001-7462-405X +</code></pre> + +<ul> +<li>Hmm, with the <code>dc.contributor.author</code> column removed, DSpace doesn&rsquo;t detect any changes</li> +<li>With a blank <code>dc.contributor.author</code> column, DSpace wants to remove all non-ORCID authors and add the new ORCID authors</li> +<li>I added the <a href="https://github.com/ilri/DSpace/issues/234">disclaimer text</a> to the About page, then added a footer link to the disclaimer&rsquo;s ID, but there is a Bootstrap issue that causes the page content to disappear when using in-page anchors: <a href="https://github.com/twbs/bootstrap/issues/1768">https://github.com/twbs/bootstrap/issues/1768</a></li> +</ul> + +<p><img src="2016/10/bootstrap-issue.png" alt="Bootstrap issue with in-page anchors" /></p> + +<ul> +<li>Looks like we&rsquo;ll just have to add the text to the About page (without a link) or add a separate page</li> +</ul> + + + September, 2016 https://alanorth.github.io/cgspace-notes/2016-09/ Thu, 01 Sep 2016 15:53:00 +0300 https://alanorth.github.io/cgspace-notes/2016-09/ - - -<h2 id="2016-09-01">2016-09-01</h2> + <h2 id="2016-09-01">2016-09-01</h2> <ul> <li>Discuss helping CCAFS with some batch tagging of ORCID IDs for their authors</li> @@ -29,6 +65,8 @@ <pre><code>$ ldapsearch -x -H ldaps://svcgroot2.cgiarad.org:3269/ -b &quot;dc=cgiarad,dc=org&quot; -D &quot;admigration1@cgiarad.org&quot; -W &quot;(sAMAccountName=admigration1)&quot; </code></pre> +<p></p> + <ul> <li>User who has been migrated to the root vs user still in the hierarchical structure:</li> </ul> @@ -637,15 +675,18 @@ $ ./delete-metadata-values.py -i ilrisubjects-delete-13.csv -f cg.subject.ilri - <li>Add <code>cg.identifier.ciatproject</code> to metadata registry in preparation for CIAT project tag</li> <li>Merge changes for CIAT project tag (<a href="https://github.com/ilri/DSpace/pull/282">#282</a>)</li> <li>DSpace Test (linode02) became unresponsive for some reason, I had to hard reboot it from the Linode console</li> +<li>People on DSpace mailing list gave me a query to get authors from certain collections:</li> </ul> +<pre><code>dspacetest=# select distinct text_value from metadatavalue where metadata_field_id = (select metadata_field_id from metadatafieldregistry where element = 'contributor' and qualifier = 'author') AND resource_type_id = 2 AND resource_id IN (select item_id from collection2item where collection_id IN (select resource_id from handle where handle in ('10568/5472', '10568/5473'))); +</code></pre> + <h2 id="2016-09-30">2016-09-30</h2> <ul> <li>Deny access to REST API&rsquo;s <code>find-by-metadata-field</code> endpoint to protect against an upstream security issue (DS-3250)</li> <li>There is a patch but it is only for 5.5 and doesn&rsquo;t apply cleanly to 5.1</li> -</ul> - +</ul> @@ -654,9 +695,7 @@ $ ./delete-metadata-values.py -i ilrisubjects-delete-13.csv -f cg.subject.ilri - Mon, 01 Aug 2016 15:53:00 +0300 https://alanorth.github.io/cgspace-notes/2016-08/ - - -<h2 id="2016-08-01">2016-08-01</h2> + <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> @@ -672,6 +711,8 @@ $ git reset --hard ilri/5_x-prod $ git rebase -i dspace-5.5 </code></pre> +<p></p> + <ul> <li>Lots of conflicts that don&rsquo;t make sense (ie, shouldn&rsquo;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> @@ -979,8 +1020,7 @@ $ JAVA_OPTS=&quot;-Dfile.encoding=UTF-8 -Xmx512m&quot; /home/cgspace.cgi <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> - +</ul> @@ -989,9 +1029,7 @@ $ JAVA_OPTS=&quot;-Dfile.encoding=UTF-8 -Xmx512m&quot; /home/cgspace.cgi Fri, 01 Jul 2016 10:53:00 +0300 https://alanorth.github.io/cgspace-notes/2016-07/ - - -<h2 id="2016-07-01">2016-07-01</h2> + <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> @@ -1010,6 +1048,8 @@ dspacetest=# select text_value from metadatavalue where metadata_field_id=3 and <li>In this case the select query was showing 95 results before the update</li> </ul> +<p></p> + <h2 id="2016-07-02">2016-07-02</h2> <ul> @@ -1235,8 +1275,7 @@ discovery.index.authority.ignore-variants=true <ul> <li>Work on removing Dryland Systems and Humidtropics subjects from Discovery sidebar and Browse by</li> <li>Also change &ldquo;Subjects&rdquo; to &ldquo;AGROVOC keywords&rdquo; in Discovery sidebar/search and Browse by (<a href="https://github.com/ilri/DSpace/issues/257">#257</a>)</li> -</ul> - +</ul> @@ -1245,9 +1284,7 @@ discovery.index.authority.ignore-variants=true Wed, 01 Jun 2016 10:53:00 +0300 https://alanorth.github.io/cgspace-notes/2016-06/ - - -<h2 id="2016-06-01">2016-06-01</h2> + <h2 id="2016-06-01">2016-06-01</h2> <ul> <li>Experimenting with IFPRI OAI (we want to harvest their publications)</li> @@ -1258,6 +1295,8 @@ discovery.index.authority.ignore-variants=true <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> +<p></p> + <pre><code>dspacetest=# update metadatavalue set metadata_field_id=130 where metadata_field_id=75 and (text_value like 'PN%' or text_value like 'PHASE%' or text_value = 'CBA' or text_value = 'IA'); UPDATE 497 dspacetest=# update metadatavalue set metadata_field_id=29 where metadata_field_id=75; @@ -1589,8 +1628,7 @@ $ ./delete-metadata-values.py -f dc.contributor.corporate -i Corporate-Authors-D </ul> <pre><code># update metadatavalue set text_value = regexp_replace(text_value, '(Poole, J),', '\1') where metadata_field_id=3 and text_value = 'Poole, J,'; -</code></pre> - +</code></pre> @@ -1599,9 +1637,7 @@ $ ./delete-metadata-values.py -f dc.contributor.corporate -i Corporate-Authors-D Sun, 01 May 2016 23:06:00 +0300 https://alanorth.github.io/cgspace-notes/2016-05/ - - -<h2 id="2016-05-01">2016-05-01</h2> + <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> @@ -1613,6 +1649,8 @@ $ ./delete-metadata-values.py -f dc.contributor.corporate -i Corporate-Authors-D 3168 </code></pre> +<p></p> + <ul> <li>The two most often requesters are in Ethiopia and Colombia: 213.55.99.121 and 181.118.144.29</li> <li>100% of the requests coming from Ethiopia are like this and result in an HTTP 500:</li> @@ -1896,8 +1934,7 @@ sys 0m20.540s <li>Manually mapped the authors of a few old CCAFS records to the new CCAFS authority UUID and re-indexed authority indexes to see if it helps correct those items.</li> <li>Re-sync DSpace Test data with CGSpace</li> <li>Clean up and import ~65 more CTA items into CGSpace</li> -</ul> - +</ul> @@ -1906,9 +1943,7 @@ sys 0m20.540s Mon, 04 Apr 2016 11:06:00 +0300 https://alanorth.github.io/cgspace-notes/2016-04/ - - -<h2 id="2016-04-04">2016-04-04</h2> + <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> @@ -1918,6 +1953,8 @@ sys 0m20.540s <li>Also, I noticed the <code>checker</code> log has some errors we should pay attention to:</li> </ul> +<p></p> + <pre><code>Run start time: 03/06/2016 04:00:22 Error retrieving bitstream ID 71274 from asset store. java.io.FileNotFoundException: /home/cgspace.cgiar.org/assetstore/64/29/06/64290601546459645925328536011917633626 (Too many open files) @@ -2357,8 +2394,7 @@ dspace.log.2016-04-27:7271 <ul> <li>I will check the logs again in a few days to look for patterns, see who is accessing it, etc</li> -</ul> - +</ul> @@ -2367,9 +2403,7 @@ dspace.log.2016-04-27:7271 Wed, 02 Mar 2016 16:50:00 +0300 https://alanorth.github.io/cgspace-notes/2016-03/ - - -<h2 id="2016-03-02">2016-03-02</h2> + <h2 id="2016-03-02">2016-03-02</h2> <ul> <li>Looking at issues with author authorities on CGSpace</li> @@ -2377,6 +2411,8 @@ dspace.log.2016-04-27:7271 <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> +<p></p> + <h2 id="2016-03-07">2016-03-07</h2> <ul> @@ -2605,8 +2641,7 @@ dspace.log.2016-04-27:7271 <li>We decided to proceed with some deletes first, then identify CGSpace-specific fields to clean/move to <code>cg.*</code>, and then worry about broader changes to DC</li> <li>Before we move or rename and fields we need to circulate a list of fields we intend to change to CCAFS, CWPF, etc who might be harvesting the fields</li> <li>After all of this we need to start implementing controlled vocabularies for fields, either with the Javascript lookup or like existing ILRI subjects</li> -</ul> - +</ul> @@ -2615,9 +2650,7 @@ dspace.log.2016-04-27:7271 Fri, 05 Feb 2016 13:18:00 +0300 https://alanorth.github.io/cgspace-notes/2016-02/ - - -<h2 id="2016-02-05">2016-02-05</h2> + <h2 id="2016-02-05">2016-02-05</h2> <ul> <li>Looking at some DAGRIS data for Abenet Yabowork</li> @@ -2632,6 +2665,8 @@ dspace.log.2016-04-27:7271 <li>Also, lots of things like &ldquo;COTE D`LVOIRE&rdquo; and &ldquo;COTE D IVOIRE&rdquo;</li> </ul> +<p></p> + <h2 id="2016-02-06">2016-02-06</h2> <ul> @@ -2939,8 +2974,7 @@ Bitstream: tést señora alimentación.pdf <ul> <li>Finally import the 1127 CIAT items into CGSpace: <a href="https://cgspace.cgiar.org/handle/10568/35710">https://cgspace.cgiar.org/handle/10568/35710</a></li> <li>Re-deploy CGSpace with the Google Scholar fix, but I&rsquo;m waiting on the Atmire fixes for now, as the branch history is ugly</li> -</ul> - +</ul> @@ -2949,9 +2983,7 @@ Bitstream: tést señora alimentación.pdf Wed, 13 Jan 2016 13:18:00 +0300 https://alanorth.github.io/cgspace-notes/2016-01/ - - -<h2 id="2016-01-13">2016-01-13</h2> + <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> @@ -2959,6 +2991,8 @@ Bitstream: tést señora alimentación.pdf <li>Update GitHub wiki for documentation of <a href="https://github.com/ilri/DSpace/wiki/Maintenance-Tasks">maintenance tasks</a>.</li> </ul> +<p></p> + <h2 id="2016-01-14">2016-01-14</h2> <ul> @@ -3034,8 +3068,7 @@ $ find SimpleArchiveForBio/ -iname &ldquo;*.pdf&rdquo; -exec basename {} <li>After:</li> </ul> -<p><img src="2016/01/xmlui-subjects-after.png" alt="XMLUI subjects after" /></p> - +<p><img src="2016/01/xmlui-subjects-after.png" alt="XMLUI subjects after" /></p> @@ -3044,9 +3077,7 @@ $ find SimpleArchiveForBio/ -iname &ldquo;*.pdf&rdquo; -exec basename {} Wed, 02 Dec 2015 13:18:00 +0300 https://alanorth.github.io/cgspace-notes/2015-12/ - - -<h2 id="2015-12-02">2015-12-02</h2> + <h2 id="2015-12-02">2015-12-02</h2> <ul> <li>Replace <code>lzop</code> with <code>xz</code> in log compression cron jobs on DSpace Test—it uses less space:</li> @@ -3059,6 +3090,8 @@ $ find SimpleArchiveForBio/ -iname &ldquo;*.pdf&rdquo; -exec basename {} -rw-rw-r-- 1 tomcat7 tomcat7 169K Nov 18 23:59 dspace.log.2015-11-18.xz </code></pre> +<p></p> + <ul> <li>I had used lrzip once, but it needs more memory and is harder to use as it requires the lrztar wrapper</li> <li>Need to remember to go check if everything is ok in a few days and then change CGSpace</li> @@ -3204,8 +3237,7 @@ $ curl -o /dev/null -s -w %{time_total}\\n https://cgspace.cgiar.org/rest/handle <ul> <li>Switch CGSpace log compression cron jobs from using lzop to xz—the compression isn&rsquo;t as good, but it&rsquo;s much faster and causes less IO/CPU load</li> <li>Since we figured out (and fixed) the cause of the performance issue, I reverted Google Bot&rsquo;s crawl rate to the &ldquo;Let Google optimize&rdquo; setting</li> -</ul> - +</ul> @@ -3214,9 +3246,7 @@ $ curl -o /dev/null -s -w %{time_total}\\n https://cgspace.cgiar.org/rest/handle Mon, 23 Nov 2015 17:00:57 +0300 https://alanorth.github.io/cgspace-notes/2015-11/ - - -<h2 id="2015-11-22">2015-11-22</h2> + <h2 id="2015-11-22">2015-11-22</h2> <ul> <li>CGSpace went down</li> @@ -3228,6 +3258,8 @@ $ curl -o /dev/null -s -w %{time_total}\\n https://cgspace.cgiar.org/rest/handle 78 </code></pre> +<p></p> + <ul> <li>For now I have increased the limit from 60 to 90, run updates, and rebooted the server</li> </ul> @@ -3359,8 +3391,7 @@ db.statementpool = true <li>Perhaps I need to start drastically increasing the connection limits—like to 300—to see if DSpace&rsquo;s thirst can ever be quenched</li> <li>On another note, SUNScholar&rsquo;s notes suggest adjusting some other postgres variables: <a href="http://wiki.lib.sun.ac.za/index.php/SUNScholar/Optimisations/Database">http://wiki.lib.sun.ac.za/index.php/SUNScholar/Optimisations/Database</a></li> <li>This might help with REST API speed (which I mentioned above and still need to do real tests)</li> -</ul> - +</ul> diff --git a/public/post/index.html b/public/post/index.html index 9562cadbe..e4f70b8c7 100644 --- a/public/post/index.html +++ b/public/post/index.html @@ -32,7 +32,7 @@ - + @@ -74,6 +74,20 @@ +
+
+

October, 2016

+ +
+ 2016-10-03 Testing adding ORCIDs to a CSV file for a single item to see if the author orders get messed up Need to test the following scenarios to see how author order is affected: ORCIDs only ORCIDs plus normal authors I exported a random item’s metadata as CSV, deleted all columns except id and collection, and made a new coloum called ORCID:dc.contributor.author with the following random ORCIDs from the ORCID registry: 0000-0002-6115-0956||0000-0002-3812-8793||0000-0001-7462-405X Hmm, with the dc. + Read more → +
+ +

September, 2016

@@ -95,6 +109,7 @@
$ ldapsearch -x -H ldaps://svcgroot2.cgiarad.org:3269/ -b "dc=cgiarad,dc=org" -D "admigration1@cgiarad.org" -W "(sAMAccountName=admigration1)"
 
+

Read more →
@@ -124,6 +139,7 @@ $ git reset --hard ilri/5_x-prod $ git rebase -i dspace-5.5 +

Read more → @@ -156,6 +172,7 @@ dspacetest=# select text_value from metadatavalue where metadata_field_id=3 and
  • In this case the select query was showing 95 results before the update
  • +

    Read more → @@ -180,35 +197,11 @@ dspacetest=# select text_value from metadatavalue where metadata_field_id=3 and
  • Working on second phase of metadata migration, looks like this will work for moving CPWF-specific data in dc.identifier.fund to cg.identifier.cpwfproject and then the rest to dc.description.sponsorship
  • +

    Read more → -
    -
    -

    May, 2016

    - -
    -

    2016-05-01

    - -
      -
    • Since yesterday there have been 10,000 REST errors and the site has been unstable again
    • -
    • I have blocked access to the API now
    • -
    • There are 3,000 IPs accessing the REST API in a 24-hour period!
    • -
    - -
    # awk '{print $1}' /var/log/nginx/rest.log  | uniq | wc -l
    -3168
    -
    - - Read more → -
    - - @@ -224,6 +217,8 @@ dspacetest=# select text_value from metadatavalue where metadata_field_id=3 and

    Recent Posts

      +
    1. October, 2016
    2. +
    3. September, 2016
    4. August, 2016
    5. @@ -232,8 +227,6 @@ dspacetest=# select text_value from metadatavalue where metadata_field_id=3 and
    6. June, 2016
    7. -
    8. May, 2016
    9. -
    diff --git a/public/post/index.xml b/public/post/index.xml index a5bbcabc7..19376a044 100644 --- a/public/post/index.xml +++ b/public/post/index.xml @@ -1,23 +1,59 @@ - Posts on CGSpace Notes - https://alanorth.github.io/cgspace-notes/post/ - Recent content in Posts on CGSpace Notes + Post-rsses on CGSpace Notes + https://alanorth.github.io/cgspace-notes/post/index.xml + Recent content in Post-rsses on CGSpace Notes Hugo -- gohugo.io en-us - Thu, 01 Sep 2016 15:53:00 +0300 + Mon, 03 Oct 2016 15:53:00 +0300 + + October, 2016 + https://alanorth.github.io/cgspace-notes/2016-10/ + Mon, 03 Oct 2016 15:53:00 +0300 + + https://alanorth.github.io/cgspace-notes/2016-10/ + + +<h2 id="2016-10-03">2016-10-03</h2> + +<ul> +<li>Testing adding <a href="https://wiki.duraspace.org/display/DSDOC5x/ORCID+Integration#ORCIDIntegration-EditingexistingitemsusingBatchCSVEditing">ORCIDs to a CSV</a> file for a single item to see if the author orders get messed up</li> +<li>Need to test the following scenarios to see how author order is affected: + +<ul> +<li>ORCIDs only</li> +<li>ORCIDs plus normal authors</li> +</ul></li> +<li>I exported a random item&rsquo;s metadata as CSV, deleted <em>all columns</em> except id and collection, and made a new coloum called <code>ORCID:dc.contributor.author</code> with the following random ORCIDs from the ORCID registry:</li> +</ul> + +<pre><code>0000-0002-6115-0956||0000-0002-3812-8793||0000-0001-7462-405X +</code></pre> + +<ul> +<li>Hmm, with the <code>dc.contributor.author</code> column removed, DSpace doesn&rsquo;t detect any changes</li> +<li>With a blank <code>dc.contributor.author</code> column, DSpace wants to remove all non-ORCID authors and add the new ORCID authors</li> +<li>I added the <a href="https://github.com/ilri/DSpace/issues/234">disclaimer text</a> to the About page, then added a footer link to the disclaimer&rsquo;s ID, but there is a Bootstrap issue that causes the page content to disappear when using in-page anchors: <a href="https://github.com/twbs/bootstrap/issues/1768">https://github.com/twbs/bootstrap/issues/1768</a></li> +</ul> + +<p><img src="2016/10/bootstrap-issue.png" alt="Bootstrap issue with in-page anchors" /></p> + +<ul> +<li>Looks like we&rsquo;ll just have to add the text to the About page (without a link) or add a separate page</li> +</ul> + + + September, 2016 https://alanorth.github.io/cgspace-notes/2016-09/ Thu, 01 Sep 2016 15:53:00 +0300 https://alanorth.github.io/cgspace-notes/2016-09/ - - -<h2 id="2016-09-01">2016-09-01</h2> + <h2 id="2016-09-01">2016-09-01</h2> <ul> <li>Discuss helping CCAFS with some batch tagging of ORCID IDs for their authors</li> @@ -29,6 +65,8 @@ <pre><code>$ ldapsearch -x -H ldaps://svcgroot2.cgiarad.org:3269/ -b &quot;dc=cgiarad,dc=org&quot; -D &quot;admigration1@cgiarad.org&quot; -W &quot;(sAMAccountName=admigration1)&quot; </code></pre> +<p></p> + <ul> <li>User who has been migrated to the root vs user still in the hierarchical structure:</li> </ul> @@ -637,15 +675,18 @@ $ ./delete-metadata-values.py -i ilrisubjects-delete-13.csv -f cg.subject.ilri - <li>Add <code>cg.identifier.ciatproject</code> to metadata registry in preparation for CIAT project tag</li> <li>Merge changes for CIAT project tag (<a href="https://github.com/ilri/DSpace/pull/282">#282</a>)</li> <li>DSpace Test (linode02) became unresponsive for some reason, I had to hard reboot it from the Linode console</li> +<li>People on DSpace mailing list gave me a query to get authors from certain collections:</li> </ul> +<pre><code>dspacetest=# select distinct text_value from metadatavalue where metadata_field_id = (select metadata_field_id from metadatafieldregistry where element = 'contributor' and qualifier = 'author') AND resource_type_id = 2 AND resource_id IN (select item_id from collection2item where collection_id IN (select resource_id from handle where handle in ('10568/5472', '10568/5473'))); +</code></pre> + <h2 id="2016-09-30">2016-09-30</h2> <ul> <li>Deny access to REST API&rsquo;s <code>find-by-metadata-field</code> endpoint to protect against an upstream security issue (DS-3250)</li> <li>There is a patch but it is only for 5.5 and doesn&rsquo;t apply cleanly to 5.1</li> -</ul> - +</ul> @@ -654,9 +695,7 @@ $ ./delete-metadata-values.py -i ilrisubjects-delete-13.csv -f cg.subject.ilri - Mon, 01 Aug 2016 15:53:00 +0300 https://alanorth.github.io/cgspace-notes/2016-08/ - - -<h2 id="2016-08-01">2016-08-01</h2> + <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> @@ -672,6 +711,8 @@ $ git reset --hard ilri/5_x-prod $ git rebase -i dspace-5.5 </code></pre> +<p></p> + <ul> <li>Lots of conflicts that don&rsquo;t make sense (ie, shouldn&rsquo;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> @@ -979,8 +1020,7 @@ $ JAVA_OPTS=&quot;-Dfile.encoding=UTF-8 -Xmx512m&quot; /home/cgspace.cgi <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> - +</ul> @@ -989,9 +1029,7 @@ $ JAVA_OPTS=&quot;-Dfile.encoding=UTF-8 -Xmx512m&quot; /home/cgspace.cgi Fri, 01 Jul 2016 10:53:00 +0300 https://alanorth.github.io/cgspace-notes/2016-07/ - - -<h2 id="2016-07-01">2016-07-01</h2> + <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> @@ -1010,6 +1048,8 @@ dspacetest=# select text_value from metadatavalue where metadata_field_id=3 and <li>In this case the select query was showing 95 results before the update</li> </ul> +<p></p> + <h2 id="2016-07-02">2016-07-02</h2> <ul> @@ -1235,8 +1275,7 @@ discovery.index.authority.ignore-variants=true <ul> <li>Work on removing Dryland Systems and Humidtropics subjects from Discovery sidebar and Browse by</li> <li>Also change &ldquo;Subjects&rdquo; to &ldquo;AGROVOC keywords&rdquo; in Discovery sidebar/search and Browse by (<a href="https://github.com/ilri/DSpace/issues/257">#257</a>)</li> -</ul> - +</ul> @@ -1245,9 +1284,7 @@ discovery.index.authority.ignore-variants=true Wed, 01 Jun 2016 10:53:00 +0300 https://alanorth.github.io/cgspace-notes/2016-06/ - - -<h2 id="2016-06-01">2016-06-01</h2> + <h2 id="2016-06-01">2016-06-01</h2> <ul> <li>Experimenting with IFPRI OAI (we want to harvest their publications)</li> @@ -1258,6 +1295,8 @@ discovery.index.authority.ignore-variants=true <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> +<p></p> + <pre><code>dspacetest=# update metadatavalue set metadata_field_id=130 where metadata_field_id=75 and (text_value like 'PN%' or text_value like 'PHASE%' or text_value = 'CBA' or text_value = 'IA'); UPDATE 497 dspacetest=# update metadatavalue set metadata_field_id=29 where metadata_field_id=75; @@ -1589,8 +1628,7 @@ $ ./delete-metadata-values.py -f dc.contributor.corporate -i Corporate-Authors-D </ul> <pre><code># update metadatavalue set text_value = regexp_replace(text_value, '(Poole, J),', '\1') where metadata_field_id=3 and text_value = 'Poole, J,'; -</code></pre> - +</code></pre> @@ -1599,9 +1637,7 @@ $ ./delete-metadata-values.py -f dc.contributor.corporate -i Corporate-Authors-D Sun, 01 May 2016 23:06:00 +0300 https://alanorth.github.io/cgspace-notes/2016-05/ - - -<h2 id="2016-05-01">2016-05-01</h2> + <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> @@ -1613,6 +1649,8 @@ $ ./delete-metadata-values.py -f dc.contributor.corporate -i Corporate-Authors-D 3168 </code></pre> +<p></p> + <ul> <li>The two most often requesters are in Ethiopia and Colombia: 213.55.99.121 and 181.118.144.29</li> <li>100% of the requests coming from Ethiopia are like this and result in an HTTP 500:</li> @@ -1896,8 +1934,7 @@ sys 0m20.540s <li>Manually mapped the authors of a few old CCAFS records to the new CCAFS authority UUID and re-indexed authority indexes to see if it helps correct those items.</li> <li>Re-sync DSpace Test data with CGSpace</li> <li>Clean up and import ~65 more CTA items into CGSpace</li> -</ul> - +</ul> @@ -1906,9 +1943,7 @@ sys 0m20.540s Mon, 04 Apr 2016 11:06:00 +0300 https://alanorth.github.io/cgspace-notes/2016-04/ - - -<h2 id="2016-04-04">2016-04-04</h2> + <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> @@ -1918,6 +1953,8 @@ sys 0m20.540s <li>Also, I noticed the <code>checker</code> log has some errors we should pay attention to:</li> </ul> +<p></p> + <pre><code>Run start time: 03/06/2016 04:00:22 Error retrieving bitstream ID 71274 from asset store. java.io.FileNotFoundException: /home/cgspace.cgiar.org/assetstore/64/29/06/64290601546459645925328536011917633626 (Too many open files) @@ -2357,8 +2394,7 @@ dspace.log.2016-04-27:7271 <ul> <li>I will check the logs again in a few days to look for patterns, see who is accessing it, etc</li> -</ul> - +</ul> @@ -2367,9 +2403,7 @@ dspace.log.2016-04-27:7271 Wed, 02 Mar 2016 16:50:00 +0300 https://alanorth.github.io/cgspace-notes/2016-03/ - - -<h2 id="2016-03-02">2016-03-02</h2> + <h2 id="2016-03-02">2016-03-02</h2> <ul> <li>Looking at issues with author authorities on CGSpace</li> @@ -2377,6 +2411,8 @@ dspace.log.2016-04-27:7271 <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> +<p></p> + <h2 id="2016-03-07">2016-03-07</h2> <ul> @@ -2605,8 +2641,7 @@ dspace.log.2016-04-27:7271 <li>We decided to proceed with some deletes first, then identify CGSpace-specific fields to clean/move to <code>cg.*</code>, and then worry about broader changes to DC</li> <li>Before we move or rename and fields we need to circulate a list of fields we intend to change to CCAFS, CWPF, etc who might be harvesting the fields</li> <li>After all of this we need to start implementing controlled vocabularies for fields, either with the Javascript lookup or like existing ILRI subjects</li> -</ul> - +</ul> @@ -2615,9 +2650,7 @@ dspace.log.2016-04-27:7271 Fri, 05 Feb 2016 13:18:00 +0300 https://alanorth.github.io/cgspace-notes/2016-02/ - - -<h2 id="2016-02-05">2016-02-05</h2> + <h2 id="2016-02-05">2016-02-05</h2> <ul> <li>Looking at some DAGRIS data for Abenet Yabowork</li> @@ -2632,6 +2665,8 @@ dspace.log.2016-04-27:7271 <li>Also, lots of things like &ldquo;COTE D`LVOIRE&rdquo; and &ldquo;COTE D IVOIRE&rdquo;</li> </ul> +<p></p> + <h2 id="2016-02-06">2016-02-06</h2> <ul> @@ -2939,8 +2974,7 @@ Bitstream: tést señora alimentación.pdf <ul> <li>Finally import the 1127 CIAT items into CGSpace: <a href="https://cgspace.cgiar.org/handle/10568/35710">https://cgspace.cgiar.org/handle/10568/35710</a></li> <li>Re-deploy CGSpace with the Google Scholar fix, but I&rsquo;m waiting on the Atmire fixes for now, as the branch history is ugly</li> -</ul> - +</ul> @@ -2949,9 +2983,7 @@ Bitstream: tést señora alimentación.pdf Wed, 13 Jan 2016 13:18:00 +0300 https://alanorth.github.io/cgspace-notes/2016-01/ - - -<h2 id="2016-01-13">2016-01-13</h2> + <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> @@ -2959,6 +2991,8 @@ Bitstream: tést señora alimentación.pdf <li>Update GitHub wiki for documentation of <a href="https://github.com/ilri/DSpace/wiki/Maintenance-Tasks">maintenance tasks</a>.</li> </ul> +<p></p> + <h2 id="2016-01-14">2016-01-14</h2> <ul> @@ -3034,8 +3068,7 @@ $ find SimpleArchiveForBio/ -iname &ldquo;*.pdf&rdquo; -exec basename {} <li>After:</li> </ul> -<p><img src="2016/01/xmlui-subjects-after.png" alt="XMLUI subjects after" /></p> - +<p><img src="2016/01/xmlui-subjects-after.png" alt="XMLUI subjects after" /></p> @@ -3044,9 +3077,7 @@ $ find SimpleArchiveForBio/ -iname &ldquo;*.pdf&rdquo; -exec basename {} Wed, 02 Dec 2015 13:18:00 +0300 https://alanorth.github.io/cgspace-notes/2015-12/ - - -<h2 id="2015-12-02">2015-12-02</h2> + <h2 id="2015-12-02">2015-12-02</h2> <ul> <li>Replace <code>lzop</code> with <code>xz</code> in log compression cron jobs on DSpace Test—it uses less space:</li> @@ -3059,6 +3090,8 @@ $ find SimpleArchiveForBio/ -iname &ldquo;*.pdf&rdquo; -exec basename {} -rw-rw-r-- 1 tomcat7 tomcat7 169K Nov 18 23:59 dspace.log.2015-11-18.xz </code></pre> +<p></p> + <ul> <li>I had used lrzip once, but it needs more memory and is harder to use as it requires the lrztar wrapper</li> <li>Need to remember to go check if everything is ok in a few days and then change CGSpace</li> @@ -3204,8 +3237,7 @@ $ curl -o /dev/null -s -w %{time_total}\\n https://cgspace.cgiar.org/rest/handle <ul> <li>Switch CGSpace log compression cron jobs from using lzop to xz—the compression isn&rsquo;t as good, but it&rsquo;s much faster and causes less IO/CPU load</li> <li>Since we figured out (and fixed) the cause of the performance issue, I reverted Google Bot&rsquo;s crawl rate to the &ldquo;Let Google optimize&rdquo; setting</li> -</ul> - +</ul> @@ -3214,9 +3246,7 @@ $ curl -o /dev/null -s -w %{time_total}\\n https://cgspace.cgiar.org/rest/handle Mon, 23 Nov 2015 17:00:57 +0300 https://alanorth.github.io/cgspace-notes/2015-11/ - - -<h2 id="2015-11-22">2015-11-22</h2> + <h2 id="2015-11-22">2015-11-22</h2> <ul> <li>CGSpace went down</li> @@ -3228,6 +3258,8 @@ $ curl -o /dev/null -s -w %{time_total}\\n https://cgspace.cgiar.org/rest/handle 78 </code></pre> +<p></p> + <ul> <li>For now I have increased the limit from 60 to 90, run updates, and rebooted the server</li> </ul> @@ -3359,8 +3391,7 @@ db.statementpool = true <li>Perhaps I need to start drastically increasing the connection limits—like to 300—to see if DSpace&rsquo;s thirst can ever be quenched</li> <li>On another note, SUNScholar&rsquo;s notes suggest adjusting some other postgres variables: <a href="http://wiki.lib.sun.ac.za/index.php/SUNScholar/Optimisations/Database">http://wiki.lib.sun.ac.za/index.php/SUNScholar/Optimisations/Database</a></li> <li>This might help with REST API speed (which I mentioned above and still need to do real tests)</li> -</ul> - +</ul> diff --git a/public/robots.txt b/public/robots.txt index ba8f32004..c80886374 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -1,6 +1,7 @@ User-agent: * +Disallow: /cgspace-notes/2016-10/ Disallow: /cgspace-notes/2016-09/ Disallow: /cgspace-notes/2016-08/ Disallow: /cgspace-notes/2016-07/ diff --git a/public/sitemap.xml b/public/sitemap.xml index 2718875af..10a32b7e9 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -3,7 +3,12 @@ https://alanorth.github.io/cgspace-notes/ - 2016-09-01T15:53:00+03:00 + 2016-10-03T15:53:00+03:00 + + + + https://alanorth.github.io/cgspace-notes/2016-10/ + 2016-10-03T15:53:00+03:00 diff --git a/public/tags/notes/index.html b/public/tags/notes/index.html index 7777774c2..11c6f0673 100644 --- a/public/tags/notes/index.html +++ b/public/tags/notes/index.html @@ -32,7 +32,7 @@ - + @@ -74,6 +74,20 @@ +
    +
    +

    October, 2016

    + +
    + 2016-10-03 Testing adding ORCIDs to a CSV file for a single item to see if the author orders get messed up Need to test the following scenarios to see how author order is affected: ORCIDs only ORCIDs plus normal authors I exported a random item’s metadata as CSV, deleted all columns except id and collection, and made a new coloum called ORCID:dc.contributor.author with the following random ORCIDs from the ORCID registry: 0000-0002-6115-0956||0000-0002-3812-8793||0000-0001-7462-405X Hmm, with the dc. + Read more → +
    + +

    September, 2016

    @@ -95,6 +109,7 @@
    $ ldapsearch -x -H ldaps://svcgroot2.cgiarad.org:3269/ -b "dc=cgiarad,dc=org" -D "admigration1@cgiarad.org" -W "(sAMAccountName=admigration1)"
     
    +

    Read more →
    @@ -124,6 +139,7 @@ $ git reset --hard ilri/5_x-prod $ git rebase -i dspace-5.5 +

    Read more → @@ -156,6 +172,7 @@ dspacetest=# select text_value from metadatavalue where metadata_field_id=3 and
  • In this case the select query was showing 95 results before the update
  • +

    Read more → @@ -180,35 +197,11 @@ dspacetest=# select text_value from metadatavalue where metadata_field_id=3 and
  • Working on second phase of metadata migration, looks like this will work for moving CPWF-specific data in dc.identifier.fund to cg.identifier.cpwfproject and then the rest to dc.description.sponsorship
  • +

    Read more → -
    -
    -

    May, 2016

    - -
    -

    2016-05-01

    - -
      -
    • Since yesterday there have been 10,000 REST errors and the site has been unstable again
    • -
    • I have blocked access to the API now
    • -
    • There are 3,000 IPs accessing the REST API in a 24-hour period!
    • -
    - -
    # awk '{print $1}' /var/log/nginx/rest.log  | uniq | wc -l
    -3168
    -
    - - Read more → -
    - - @@ -224,6 +217,8 @@ dspacetest=# select text_value from metadatavalue where metadata_field_id=3 and

    Recent Posts

      +
    1. October, 2016
    2. +
    3. September, 2016
    4. August, 2016
    5. @@ -232,8 +227,6 @@ dspacetest=# select text_value from metadatavalue where metadata_field_id=3 and
    6. June, 2016
    7. -
    8. May, 2016
    9. -
    diff --git a/public/tags/notes/index.xml b/public/tags/notes/index.xml index 58811cdca..d4dd3fd97 100644 --- a/public/tags/notes/index.xml +++ b/public/tags/notes/index.xml @@ -1,23 +1,58 @@ - Notes on CGSpace Notes - https://alanorth.github.io/cgspace-notes/tags/notes/ - Recent content in Notes on CGSpace Notes + CGSpace Notes + https://alanorth.github.io/cgspace-notes/tags/notes/index.xml + Recent content on CGSpace Notes Hugo -- gohugo.io en-us - Thu, 01 Sep 2016 15:53:00 +0300 + + October, 2016 + https://alanorth.github.io/cgspace-notes/2016-10/ + Mon, 03 Oct 2016 15:53:00 +0300 + + https://alanorth.github.io/cgspace-notes/2016-10/ + + +<h2 id="2016-10-03">2016-10-03</h2> + +<ul> +<li>Testing adding <a href="https://wiki.duraspace.org/display/DSDOC5x/ORCID+Integration#ORCIDIntegration-EditingexistingitemsusingBatchCSVEditing">ORCIDs to a CSV</a> file for a single item to see if the author orders get messed up</li> +<li>Need to test the following scenarios to see how author order is affected: + +<ul> +<li>ORCIDs only</li> +<li>ORCIDs plus normal authors</li> +</ul></li> +<li>I exported a random item&rsquo;s metadata as CSV, deleted <em>all columns</em> except id and collection, and made a new coloum called <code>ORCID:dc.contributor.author</code> with the following random ORCIDs from the ORCID registry:</li> +</ul> + +<pre><code>0000-0002-6115-0956||0000-0002-3812-8793||0000-0001-7462-405X +</code></pre> + +<ul> +<li>Hmm, with the <code>dc.contributor.author</code> column removed, DSpace doesn&rsquo;t detect any changes</li> +<li>With a blank <code>dc.contributor.author</code> column, DSpace wants to remove all non-ORCID authors and add the new ORCID authors</li> +<li>I added the <a href="https://github.com/ilri/DSpace/issues/234">disclaimer text</a> to the About page, then added a footer link to the disclaimer&rsquo;s ID, but there is a Bootstrap issue that causes the page content to disappear when using in-page anchors: <a href="https://github.com/twbs/bootstrap/issues/1768">https://github.com/twbs/bootstrap/issues/1768</a></li> +</ul> + +<p><img src="2016/10/bootstrap-issue.png" alt="Bootstrap issue with in-page anchors" /></p> + +<ul> +<li>Looks like we&rsquo;ll just have to add the text to the About page (without a link) or add a separate page</li> +</ul> + + + September, 2016 https://alanorth.github.io/cgspace-notes/2016-09/ Thu, 01 Sep 2016 15:53:00 +0300 https://alanorth.github.io/cgspace-notes/2016-09/ - - -<h2 id="2016-09-01">2016-09-01</h2> + <h2 id="2016-09-01">2016-09-01</h2> <ul> <li>Discuss helping CCAFS with some batch tagging of ORCID IDs for their authors</li> @@ -29,6 +64,8 @@ <pre><code>$ ldapsearch -x -H ldaps://svcgroot2.cgiarad.org:3269/ -b &quot;dc=cgiarad,dc=org&quot; -D &quot;admigration1@cgiarad.org&quot; -W &quot;(sAMAccountName=admigration1)&quot; </code></pre> +<p></p> + <ul> <li>User who has been migrated to the root vs user still in the hierarchical structure:</li> </ul> @@ -637,15 +674,18 @@ $ ./delete-metadata-values.py -i ilrisubjects-delete-13.csv -f cg.subject.ilri - <li>Add <code>cg.identifier.ciatproject</code> to metadata registry in preparation for CIAT project tag</li> <li>Merge changes for CIAT project tag (<a href="https://github.com/ilri/DSpace/pull/282">#282</a>)</li> <li>DSpace Test (linode02) became unresponsive for some reason, I had to hard reboot it from the Linode console</li> +<li>People on DSpace mailing list gave me a query to get authors from certain collections:</li> </ul> +<pre><code>dspacetest=# select distinct text_value from metadatavalue where metadata_field_id = (select metadata_field_id from metadatafieldregistry where element = 'contributor' and qualifier = 'author') AND resource_type_id = 2 AND resource_id IN (select item_id from collection2item where collection_id IN (select resource_id from handle where handle in ('10568/5472', '10568/5473'))); +</code></pre> + <h2 id="2016-09-30">2016-09-30</h2> <ul> <li>Deny access to REST API&rsquo;s <code>find-by-metadata-field</code> endpoint to protect against an upstream security issue (DS-3250)</li> <li>There is a patch but it is only for 5.5 and doesn&rsquo;t apply cleanly to 5.1</li> -</ul> - +</ul> @@ -654,9 +694,7 @@ $ ./delete-metadata-values.py -i ilrisubjects-delete-13.csv -f cg.subject.ilri - Mon, 01 Aug 2016 15:53:00 +0300 https://alanorth.github.io/cgspace-notes/2016-08/ - - -<h2 id="2016-08-01">2016-08-01</h2> + <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> @@ -672,6 +710,8 @@ $ git reset --hard ilri/5_x-prod $ git rebase -i dspace-5.5 </code></pre> +<p></p> + <ul> <li>Lots of conflicts that don&rsquo;t make sense (ie, shouldn&rsquo;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> @@ -979,8 +1019,7 @@ $ JAVA_OPTS=&quot;-Dfile.encoding=UTF-8 -Xmx512m&quot; /home/cgspace.cgi <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> - +</ul> @@ -989,9 +1028,7 @@ $ JAVA_OPTS=&quot;-Dfile.encoding=UTF-8 -Xmx512m&quot; /home/cgspace.cgi Fri, 01 Jul 2016 10:53:00 +0300 https://alanorth.github.io/cgspace-notes/2016-07/ - - -<h2 id="2016-07-01">2016-07-01</h2> + <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> @@ -1010,6 +1047,8 @@ dspacetest=# select text_value from metadatavalue where metadata_field_id=3 and <li>In this case the select query was showing 95 results before the update</li> </ul> +<p></p> + <h2 id="2016-07-02">2016-07-02</h2> <ul> @@ -1235,8 +1274,7 @@ discovery.index.authority.ignore-variants=true <ul> <li>Work on removing Dryland Systems and Humidtropics subjects from Discovery sidebar and Browse by</li> <li>Also change &ldquo;Subjects&rdquo; to &ldquo;AGROVOC keywords&rdquo; in Discovery sidebar/search and Browse by (<a href="https://github.com/ilri/DSpace/issues/257">#257</a>)</li> -</ul> - +</ul> @@ -1245,9 +1283,7 @@ discovery.index.authority.ignore-variants=true Wed, 01 Jun 2016 10:53:00 +0300 https://alanorth.github.io/cgspace-notes/2016-06/ - - -<h2 id="2016-06-01">2016-06-01</h2> + <h2 id="2016-06-01">2016-06-01</h2> <ul> <li>Experimenting with IFPRI OAI (we want to harvest their publications)</li> @@ -1258,6 +1294,8 @@ discovery.index.authority.ignore-variants=true <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> +<p></p> + <pre><code>dspacetest=# update metadatavalue set metadata_field_id=130 where metadata_field_id=75 and (text_value like 'PN%' or text_value like 'PHASE%' or text_value = 'CBA' or text_value = 'IA'); UPDATE 497 dspacetest=# update metadatavalue set metadata_field_id=29 where metadata_field_id=75; @@ -1589,8 +1627,7 @@ $ ./delete-metadata-values.py -f dc.contributor.corporate -i Corporate-Authors-D </ul> <pre><code># update metadatavalue set text_value = regexp_replace(text_value, '(Poole, J),', '\1') where metadata_field_id=3 and text_value = 'Poole, J,'; -</code></pre> - +</code></pre> @@ -1599,9 +1636,7 @@ $ ./delete-metadata-values.py -f dc.contributor.corporate -i Corporate-Authors-D Sun, 01 May 2016 23:06:00 +0300 https://alanorth.github.io/cgspace-notes/2016-05/ - - -<h2 id="2016-05-01">2016-05-01</h2> + <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> @@ -1613,6 +1648,8 @@ $ ./delete-metadata-values.py -f dc.contributor.corporate -i Corporate-Authors-D 3168 </code></pre> +<p></p> + <ul> <li>The two most often requesters are in Ethiopia and Colombia: 213.55.99.121 and 181.118.144.29</li> <li>100% of the requests coming from Ethiopia are like this and result in an HTTP 500:</li> @@ -1896,8 +1933,7 @@ sys 0m20.540s <li>Manually mapped the authors of a few old CCAFS records to the new CCAFS authority UUID and re-indexed authority indexes to see if it helps correct those items.</li> <li>Re-sync DSpace Test data with CGSpace</li> <li>Clean up and import ~65 more CTA items into CGSpace</li> -</ul> - +</ul> @@ -1906,9 +1942,7 @@ sys 0m20.540s Mon, 04 Apr 2016 11:06:00 +0300 https://alanorth.github.io/cgspace-notes/2016-04/ - - -<h2 id="2016-04-04">2016-04-04</h2> + <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> @@ -1918,6 +1952,8 @@ sys 0m20.540s <li>Also, I noticed the <code>checker</code> log has some errors we should pay attention to:</li> </ul> +<p></p> + <pre><code>Run start time: 03/06/2016 04:00:22 Error retrieving bitstream ID 71274 from asset store. java.io.FileNotFoundException: /home/cgspace.cgiar.org/assetstore/64/29/06/64290601546459645925328536011917633626 (Too many open files) @@ -2357,8 +2393,7 @@ dspace.log.2016-04-27:7271 <ul> <li>I will check the logs again in a few days to look for patterns, see who is accessing it, etc</li> -</ul> - +</ul> @@ -2367,9 +2402,7 @@ dspace.log.2016-04-27:7271 Wed, 02 Mar 2016 16:50:00 +0300 https://alanorth.github.io/cgspace-notes/2016-03/ - - -<h2 id="2016-03-02">2016-03-02</h2> + <h2 id="2016-03-02">2016-03-02</h2> <ul> <li>Looking at issues with author authorities on CGSpace</li> @@ -2377,6 +2410,8 @@ dspace.log.2016-04-27:7271 <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> +<p></p> + <h2 id="2016-03-07">2016-03-07</h2> <ul> @@ -2605,8 +2640,7 @@ dspace.log.2016-04-27:7271 <li>We decided to proceed with some deletes first, then identify CGSpace-specific fields to clean/move to <code>cg.*</code>, and then worry about broader changes to DC</li> <li>Before we move or rename and fields we need to circulate a list of fields we intend to change to CCAFS, CWPF, etc who might be harvesting the fields</li> <li>After all of this we need to start implementing controlled vocabularies for fields, either with the Javascript lookup or like existing ILRI subjects</li> -</ul> - +</ul> @@ -2615,9 +2649,7 @@ dspace.log.2016-04-27:7271 Fri, 05 Feb 2016 13:18:00 +0300 https://alanorth.github.io/cgspace-notes/2016-02/ - - -<h2 id="2016-02-05">2016-02-05</h2> + <h2 id="2016-02-05">2016-02-05</h2> <ul> <li>Looking at some DAGRIS data for Abenet Yabowork</li> @@ -2632,6 +2664,8 @@ dspace.log.2016-04-27:7271 <li>Also, lots of things like &ldquo;COTE D`LVOIRE&rdquo; and &ldquo;COTE D IVOIRE&rdquo;</li> </ul> +<p></p> + <h2 id="2016-02-06">2016-02-06</h2> <ul> @@ -2939,8 +2973,7 @@ Bitstream: tést señora alimentación.pdf <ul> <li>Finally import the 1127 CIAT items into CGSpace: <a href="https://cgspace.cgiar.org/handle/10568/35710">https://cgspace.cgiar.org/handle/10568/35710</a></li> <li>Re-deploy CGSpace with the Google Scholar fix, but I&rsquo;m waiting on the Atmire fixes for now, as the branch history is ugly</li> -</ul> - +</ul> @@ -2949,9 +2982,7 @@ Bitstream: tést señora alimentación.pdf Wed, 13 Jan 2016 13:18:00 +0300 https://alanorth.github.io/cgspace-notes/2016-01/ - - -<h2 id="2016-01-13">2016-01-13</h2> + <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> @@ -2959,6 +2990,8 @@ Bitstream: tést señora alimentación.pdf <li>Update GitHub wiki for documentation of <a href="https://github.com/ilri/DSpace/wiki/Maintenance-Tasks">maintenance tasks</a>.</li> </ul> +<p></p> + <h2 id="2016-01-14">2016-01-14</h2> <ul> @@ -3034,8 +3067,7 @@ $ find SimpleArchiveForBio/ -iname &ldquo;*.pdf&rdquo; -exec basename {} <li>After:</li> </ul> -<p><img src="2016/01/xmlui-subjects-after.png" alt="XMLUI subjects after" /></p> - +<p><img src="2016/01/xmlui-subjects-after.png" alt="XMLUI subjects after" /></p> @@ -3044,9 +3076,7 @@ $ find SimpleArchiveForBio/ -iname &ldquo;*.pdf&rdquo; -exec basename {} Wed, 02 Dec 2015 13:18:00 +0300 https://alanorth.github.io/cgspace-notes/2015-12/ - - -<h2 id="2015-12-02">2015-12-02</h2> + <h2 id="2015-12-02">2015-12-02</h2> <ul> <li>Replace <code>lzop</code> with <code>xz</code> in log compression cron jobs on DSpace Test—it uses less space:</li> @@ -3059,6 +3089,8 @@ $ find SimpleArchiveForBio/ -iname &ldquo;*.pdf&rdquo; -exec basename {} -rw-rw-r-- 1 tomcat7 tomcat7 169K Nov 18 23:59 dspace.log.2015-11-18.xz </code></pre> +<p></p> + <ul> <li>I had used lrzip once, but it needs more memory and is harder to use as it requires the lrztar wrapper</li> <li>Need to remember to go check if everything is ok in a few days and then change CGSpace</li> @@ -3204,8 +3236,7 @@ $ curl -o /dev/null -s -w %{time_total}\\n https://cgspace.cgiar.org/rest/handle <ul> <li>Switch CGSpace log compression cron jobs from using lzop to xz—the compression isn&rsquo;t as good, but it&rsquo;s much faster and causes less IO/CPU load</li> <li>Since we figured out (and fixed) the cause of the performance issue, I reverted Google Bot&rsquo;s crawl rate to the &ldquo;Let Google optimize&rdquo; setting</li> -</ul> - +</ul> @@ -3214,9 +3245,7 @@ $ curl -o /dev/null -s -w %{time_total}\\n https://cgspace.cgiar.org/rest/handle Mon, 23 Nov 2015 17:00:57 +0300 https://alanorth.github.io/cgspace-notes/2015-11/ - - -<h2 id="2015-11-22">2015-11-22</h2> + <h2 id="2015-11-22">2015-11-22</h2> <ul> <li>CGSpace went down</li> @@ -3228,6 +3257,8 @@ $ curl -o /dev/null -s -w %{time_total}\\n https://cgspace.cgiar.org/rest/handle 78 </code></pre> +<p></p> + <ul> <li>For now I have increased the limit from 60 to 90, run updates, and rebooted the server</li> </ul> @@ -3359,8 +3390,7 @@ db.statementpool = true <li>Perhaps I need to start drastically increasing the connection limits—like to 300—to see if DSpace&rsquo;s thirst can ever be quenched</li> <li>On another note, SUNScholar&rsquo;s notes suggest adjusting some other postgres variables: <a href="http://wiki.lib.sun.ac.za/index.php/SUNScholar/Optimisations/Database">http://wiki.lib.sun.ac.za/index.php/SUNScholar/Optimisations/Database</a></li> <li>This might help with REST API speed (which I mentioned above and still need to do real tests)</li> -</ul> - +</ul> diff --git a/static/2016/10/bootstrap-issue.png b/static/2016/10/bootstrap-issue.png new file mode 100644 index 0000000000000000000000000000000000000000..bf8c73b642afe40fb54a546e56bb3d70e5a66c4b GIT binary patch literal 69703 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

    ``(M$uoq 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