persistent_url_resolver

This repository contains a new version of Caltech Library's Persistent URL Resolver, based on AWS S3.

https://github.com/caltechlibrary/persistent_url_resolver

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.9%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

This repository contains a new version of Caltech Library's Persistent URL Resolver, based on AWS S3.

Basic Info
  • Host: GitHub
  • Owner: caltechlibrary
  • License: other
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 3.56 MB
Statistics
  • Stars: 3
  • Watchers: 6
  • Forks: 0
  • Open Issues: 3
  • Releases: 0
Created over 8 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Code of conduct Codemeta

README.md

Persistent URL Resolver

Resolve existing Persistent URLs in Eprints and Caltech Library DOIs using AWS S3

Setup

Create a S3 bucket using the AWS console, say resolver.library.caltech.edu. You can turn on logging if you like. For now turn off all public access restrictions (we don't care if people can read bucket contents). Then go to bucket properties and turn on static website hosting (use index.html as the document root and error.html as the error location).
Then under permissions add public access for "List objects".

Go to AWS IAM and select policies. Create a new policy that allows S3 access to only the resolver.library.caltech.edu bucket and any object.
Set up a user in AWS AIM (I created a new user "resolver"), and provide it only programmatic access (no need for it to have a password). Select "Attach existing policies dierectly", and select the policy you just created. Create the user and you'll get credentials. Edit ~/.aws/credentials and add

[resolver]   
aws_secret_access_key = 
aws_access_key_id =   

resolver is the profile we'll use to hold these credentials. You should have in ~/.aws/config

[default] region = us-west-2

or whatever AWS region you're using.

Copy error.html, logos, and css.css to the S3 bucket.

In order to get https, we need to set up a cloudfront distribution. First go to S3 settings under static website hosting and copy the domain name - it will be something like "resolver.library.caltech.edu.s3-website-us-west-2.amazonaws.com". Now go to cloudfront in AWS and create a Web distribution. Paste the S3 url as Origin Domain Name- do not use the default S3 autocomplete.
For now allow both HTTP and HTTPS. All the defaults should be fine. Note that it may take awhile to deploy your site if you have many objects.

Operation

If you need to manually add a resolver link, you can use the resolver_link.py script. You provide the resolver name, the url, and a message for the log. python change_resolver_link.py CaltechBOOK:1984.001 https://authors.library.caltech.edu/25061/ "Capitalization"

The resolver.py script automates setting up the resolver. python resolver.py will find resolver links in Eprints repositories and upload them to S3. Normally only new links are added, but if you want to update all the links add the -update flag. This will take many hours. If you want to update DOI links, add the -dois flag.

Owner

  • Name: Caltech Library
  • Login: caltechlibrary
  • Kind: organization
  • Email: helpdesk@library.caltech.edu
  • Location: Pasadena, CA 91125

We manage the physical and digital holdings of the California Institute of Technology, provide services and training, and develop open-source software.

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 3
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • rsdoiel (3)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels