IntegrationStagingProduction
websitehttps://exhibits-int.library.cornell.eduhttps://exhibits-stg.library.cornell.edu/https://exhibits.library.cornell.edu
server

AWS Elastic Beanstalk

elasticbeanstalk-environment-name: exhibits-int-ruby3

AWS Elastic Beanstalk

elasticbeanstalk-environment-name: exhibits-stg-ruby3

AWS Elastic Beanstalk

elasticbeanstalk-environment-name: exhibits-prod-ruby3

solr

http://aws-108-172.internal.library.cornell.edu:8983/solr/#/

Core: exhibits-int

http://aws-108-172.internal.library.cornell.edu:8983/solr/#/

Core: exhibits-staging

http://aws-108-078.internal.library.cornell.edu:8983/solr/#/

Core: exhibits

mysqlHostname and credentials in LastPass ("Exhibits int RDS admin")Hostname and credentials in LastPass ("Exhibits int RDS admin")Hostname and credentials in LastPass ("Exhibits prod RDS admin")

Server

CUL-IT Library Systems docs about AWS Elastic Beanstalk: Elastic Beanstalk (USDA-ESMIS, exhibits, studentworkers, ld4l-qa) 

Logs

  1. Log in to AWS
  2. Go to Elastic Beanstalk console > Application name = exhibits
  3. Choose relevant "Environment name", e.g. exhibits-int-ruby3, exhibits-stg-ruby3, exhibits-prod-ruby3
  4. Select "Logs" in menu on left

SSH access

Requirements:

  • cul-admin.pem certificate
    1. Find CUL-Admin.pem in the "shared-exhibits" folder on LastPass
    2. Copy the contents of the Private Key field into a file on your workstation and name it cul-admin.pem
    3. Change permissions to 600: chmod 600 cul-admin.pem 

Steps:

  1. Get the private IP address of the relevant elastic beanstalk instance. EB instances can be replaced, so the IP address needed for ssh access is not constant.
    • Option 1: Grab from EC2 console
      1. Log in to AWS
      2. Go to the EC2 console > Instances
      3. Choose or search for relevant "Name", e.g. exhibits-int-ruby3, exhibits-stg-ruby3, exhibits-prod-ruby3
      4. Copy private IP address, e.g. "10.92.111.183"
    • Option 2: Query the AWS CLI: 

      aws ec2 describe-instances --filters "Name=tag:elasticbeanstalk:environment-name,Values=exhibits-int-ruby3" --query 'Reservations[*].Instances[].PrivateIpAddress' 

  2. Connect via ssh: ssh -i cul-admin.pem ec2-user@10.92.111.183
    • Replace IP with address from step 1

Location of app: /var/app/current 

MySQL

Connecting to RDS

Hostname, user, and password are stored in LastPass. You can also find these in the environment variables for each instance in the Elastic Beanstalk console.

To connect via command line: mysql -h HOSTNAME -u USER -p 

More info in AWS RDS Docs: Connecting to a DB instance running the MySQL database engine

DB Schema

https://github.com/cul-it/exhibits-library-cornell-edu/blob/dev/db/schema.rb

Solr

Solr Schema

You can review the managed-schema and solrconfig in the Solr Admin UI and use these to set up your own local Solr instance. solrconfig.xml, managed-schema

Example Solr Document

These are fields that are stored since they are being returned.  There may be more fields required to populate a document.

{
  "id":"6-129",
  "exhibit_summers-yield_public_bsi":true,
  "full_title_tesim":["The Mapping Mandeville Project"],
  "spotlight_upload_description_tesim":["John Wyatt Greenlee is a PhD candidate in Cornell's Medieval Studies Program and was a Digital Humanities Summer Fellow in 2015. \r\n\r\nGreenlee says the following of his project and experience working in the Summer Fellowship Program:\r\n\r\nFor this project, I have taken sections of text from the 14th century book, John Mandeville's The Travels, and used them to annotate an interactive copy of the 13th century Hereford map.  On their own, the book and the map can be difficult for students to approach.  Students often attempt (and fail) to overlay the world that Mandeville describes onto a GIS-style map.  The text does not describe a geography that accords with modern cartographic principles.  Similarly, mappaemundi like the Hereford map can be intimidating.  Not only is the language and the script difficult, but they are oriented differently than modern maps, and are less interested in accuracy than in issues of history and symbolic scale.  My project proposes that the book and the map are better understood together.  Clicking on icons on the map brings up relevant selections from the text, and so allows viewers to both understand Mandeville's book within its proper framework, and to explore the foreign geographies of the map with a guide.\r\n\r\nThe Summer Digital Humanities Fellowship provided me with the impetus to begin this project, and the tools to complete it.  The program introduced me to a wide range of platforms and approaches for digital scholarship and pedagogy.  The later has been especially useful to me; introducing students to medieval worldviews can be a difficult proposition.  Using projects like this one allows me to engage my students in multiple modes of learning, and to use medieval artifacts to help explain medieval perspectives.\r\n"],
  "spotlight_upload_attribution_tesim":["John Wyatt Greenlee"],
  "spotlight_exhibit_slug_hannah-test_bsi":true,
  "spotlight_exhibit_slugs_ssim":["summers-yield"],
  "spotlight_resource_id_ssim":["gid://exhibits/Spotlight::Resources::Upload/129"],
  "spotlight_resource_type_ssim":["spotlight/resources/uploads"],
  "spotlight_full_image_width_ssm":["1902"],
  "spotlight_full_image_height_ssm":["962"],
  "thumbnail_url_ssm":["/images/134/full/!400,400/0/default.jpg"],
  "iiif_manifest_url_ssi":"/summers-yield/catalog/6-129/manifest",
  "_version_":1700401701753716736,
  "timestamp":"2021-05-21T20:37:10.535Z",
  "score":1.0
}
  • No labels