Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bring Save and Nominate together #13

Open
6 of 11 tasks
Tracked by #21
anjackson opened this issue Jan 9, 2021 · 3 comments
Open
6 of 11 tasks
Tracked by #21

Bring Save and Nominate together #13

anjackson opened this issue Jan 9, 2021 · 3 comments

Comments

@anjackson
Copy link
Contributor

anjackson commented Jan 9, 2021

Change or extend the API to be the Nominations API as well as Save An URL.

i.e. record all submitted URLs, optionally as nominations, where nominations have fields:

  • *Title
  • *URL
  • *Name
  • Email
  • Additional Information

Back-end should store all these in a proper DB table for analysis, e.g. tracking out-of-scope submissions. The existing page could also be ported over to it, where the * fields are required.

Ideas:

  • Follow an established async request pattern - this should also prevent trivial resubmissions by redirecting to a nomination status summary.
  • Fill out RSS feed items for Nominations.
  • Email (detailed?) nominations to the archivist account.
  • Update the Nominations table with outcomes (Out Of Scope, Crawled At, etc.).
  • Use simple file locking to safely start up when using multiple workers and an SQLite DB.
  • Use dbmate to manage schema.
  • Consider adding a sigil or tags - one or more public tags that allow users to subscribe to a feed and get updates.
  • Consider an iOS Shortcut (is there Android equivalent? Tasker?) that integrates with the Save/Nominate API.
  • Consider supporting a webhook field, posting outcome events when the URL is processed.
  • Consider bulk submission and response?
  • Consider extending the API to allow bulk lookup of URL status (for Google Sheets style plugin etc.)
@anjackson
Copy link
Contributor Author

I'm going to descope some of the more speculative parts of this, so it's possible to get something out the door.

@anjackson
Copy link
Contributor Author

The fastapi branch includes an initial Nominations API, supporting tags and so forth. I've also made a basic iOS Shortcut that interacts with the Nomination API (or at least it's previous /api/save/ form), so that can work, but officially distributing something like that is a pain to set up, so I'm leaving that be for now.

@anjackson
Copy link
Contributor Author

The basic CRUD part works now, what's missing is the status, and detalis from the RSS feed.

Should scope and status be separate? Or is it just:

  • nominated (initial status)
  • out-of-scope (if that's the case)
  • crawl-requested (if there's no recent copy and it's been sent straight to FC.)
  • crawled (if the item appears to have been crawled, but is not yet available)
  • available-in-reading-rooms or available-open-access (if there's a recent copy of that URL)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant