CGSpace Notes

Documenting day-to-day work on the CGSpace repository.

August, 2019

2019-08-03

  • Look at Bioversity’s latest migration CSV and now I see that Francesco has cleaned up the extra columns and the newline at the end of the file, but many of the column headers have an extra space in the name…

2019-08-04

  • Deploy ORCID identifier updates requested by Bioversity to CGSpace
  • Run system updates on CGSpace (linode18) and reboot it
    • Before updating it I checked Solr and verified that all statistics cores were loaded properly…
    • After rebooting, all statistics cores were loaded… wow, that’s lucky.
  • Run system updates on DSpace Test (linode19) and reboot it

2019-08-05

2019-08-06

  • Francesca responded to address my feedback yesterday
    • I made some changes to the CSV based on her feedback (remove two duplicates, change one PDF file name, change two titles)
    • Then I found some items that have PDFs in multiple languages that only list one language in dc.language.iso so I changed them
    • Strangley, one item was referring to a 7zip file…
    • After removing the two duplicates there are now 1427 records
    • Fix one invalid ISSN: 1020-2002→1020-3362

2019-08-07

  • Daniel Haile-Michael asked about using a logical OR with the DSpace OpenSearch, but I looked in the DSpace manual and it does not seem to be possible

2019-08-08

  • Moayad noticed that the HTTPS certificate expired on the AReS dev server (linode20)

    • The first problem was that there is a Docker container listening on port 80, so it conflicts with the ACME http-01 validation
    • The second problem was that we only allow access to port 80 from localhost
    • I adjusted the renew-letsencrypt systemd service so it stops/starts the Docker container and firewall:

      # /opt/certbot-auto renew --standalone --pre-hook "/usr/bin/docker stop angular_nginx; /bin/systemctl stop firewalld" --post-hook "/bin/systemctl start firewalld; /usr/bin/docker start angular_nginx"
      
  • It is important that the firewall starts back up before the Docker container or else Docker will complain about missing iptables chains

  • Also, I updated to the latest TLS Intermediate settings as appropriate for Ubuntu 18.04’s OpenSSL 1.1.0g with nginx 1.16.0

  • Run all system updates on AReS dev server (linode20) and reboot it

  • Get a list of all PDFs from the Bioversity migration that fail to download and save them so I can try again with a different path in the URL:

    $ ./generate-thumbnails.py -i /tmp/2019-08-05-Bioversity-Migration.csv -w --url-field-name url -d | tee /tmp/2019-08-08-download-pdfs.txt
    $ grep -B1 "Download failed" /tmp/2019-08-08-download-pdfs.txt | grep "Downloading" | sed -e 's/> Downloading //' -e 's/\.\.\.//' | sed -r 's/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g' | csvcut -H -c 1,1 > /tmp/user-upload.csv
    $ ./generate-thumbnails.py -i /tmp/user-upload.csv -w --url-field-name url -d | tee /tmp/2019-08-08-download-pdfs2.txt
    $ grep -B1 "Download failed" /tmp/2019-08-08-download-pdfs2.txt | grep "Downloading" | sed -e 's/> Downloading //' -e 's/\.\.\.//' | sed -r 's/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g' | csvcut -H -c 1,1 > /tmp/user-upload2.csv
    $ ./generate-thumbnails.py -i /tmp/user-upload2.csv -w --url-field-name url -d | tee /tmp/2019-08-08-download-pdfs3.txt
    
  • (the weird sed regex removes color codes, because my generate-thumbnails script prints pretty colors)

  • Some PDFs are uploaded in different paths so I have to try a few times to get them all:

    • /fileadmin/_migrated/uploads/tx_news/
    • /fileadmin/user_upload/online_library/publications/pdfs/
    • /fileadmin/user_upload/
  • Even so, there are still 52 items with incorrect filenames, so I can’t derive their PDF URLs…

  • I will proceed with a metadata-only upload first and then let them know about the missing PDFs