-
-
Notifications
You must be signed in to change notification settings - Fork 13
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
Feature Request - "catalog record" API? #4337
Comments
Who would use this, and how? Could it be useful for ALMNH in the short
term, as proof of concept?
…On Thu, Feb 17, 2022 at 12:10 PM dustymc ***@***.***> wrote:
* [EXTERNAL]*
*Is your feature request related to a problem? Please describe.*
The current API is (mostly, probably) capable of building a replica of the
catalog record detail page by specifying appropriate "columns." That of
course relies on the user having some idea of what we consider to be
"catalog record details."
Good:
- There's one 'catalog record stuff' API call, no way to get lost
- Our idea of what constitutes a catalog record is not the only valid
viewpoint, the current approach allows/encourages users to build what they
want how they want.
- The current approach only uses the resources that are requested;
it's generally cheaper than the alternative.
Not-so-good:
- Users have to sort through the documentation (which is available in
the API) to figure out what they want
- We have no way of suggesting what they use or how those things
interact with each other.
*Describe what you're trying to accomplish*
Should we offer a compiled "catalog record stuff" API call? That would
provide a very easy way to get everything on the catalog record detail
page, and would provide us an opportunity to organize things - eg #2450
<#2450> could be delivered as
one unavoidable object...
rights {
license: whatever,
copyright_holder: agent-object,
whatever: morestuff
}
rather than scattering those kinds of data across multiple "columns." This
would probably add some expense to most API calls, but would also allow us
to predict what's going to be requested and build a cache.
*Describe the solution you'd like*
First, discussion - is this useful?
*Describe alternatives you've considered*
Don't.
*Additional context*
ArctosDB/internal#51 <ArctosDB/internal#51> is
very related - it's difficult to build tools without knowing what sort of
usage we want to allow.
If we move forward with this, the /guid/ pages in Arctos should be
rebuilt to use it. This would also address the "mostly, probably" above -
we don't use the current API to build those pages, so I don't know if it's
actually fully capable or not.
*Priority*
??
—
Reply to this email directly, view it on GitHub
<#4337>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADQ7JBE4VYD2KNG3AYKC67DU3VB2ZANCNFSM5OVTAFAA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
I don't know. I would, if we build it, but that's a little circular. I want to think that easier access (even with slightly more complex organization) would lead to more use, but who knows....
I think so, but that's a question for them - they seem a bit overwhelmed by the options in the current API, but I'm not sure that's actually true and I'm even less sure that they're a "typical" user (or even that there is any such thing).
That's a point for discussion too - I'm not sure what this would take to build, or really even how it should be built, but I doubt it would be particularly quick to build. If I follow the normal path it would also make some more things available to search and search results, which seems pretty good, and make the giant cache even giant-ier and slower to rebuild, which isn't so great. I could get a partial view up pretty quickly, but I'm not sure how far that would get anyone - certainly wouldn't fully support the /guid/ pages in Arctos. At some level I'm probably being a little Bezos-ish with this; the only way to know you've built a good API is to use your own APIs, and we keep talking about that so maybe we should just DO it and see if anyone follows. Of course Bezos gave that sermon from atop his giant mountain of cash...... |
So, if I make the call for a record I can build whatever page I want, but won't that page have a different url than the GUID? |
Yep, and that's a conversation worth having if we ever get there. I don't think I'd have any problem with "Arctos GUIDs" not referring to Arctos, but we'd probably also want some sort of safety net (signed agreement w can wave around, whatever) so it doesn't look like Arctos is broken when you forget to renew your registration or something. (ARKs/DOIs/etc. - something persistent that can be redirected - would be an elegant technical solution, but that would obviously take some resources to build and maintain.) |
I'm going to force this Issue. "GUID pages" need rebuilt to be responsive and functional on mobile (along with https://github.com/ArctosDB/internal/issues/211 and #2745). Should that be done as part of a transition to an API-based framework, or should we add a layer of duct tape to the current page? If "API" then do we need something dedicated, or should the normal API be expanded as necessary? Lacking feedback, I'll do something random whenever this floats to the top of my pile.... |
This needs discussion by some dedicated users. Either we start with @ArctosDB/arctos-working-group-officers as part of a meeting agenda or we set up a special meeting to discuss. |
I don't think users (=people who get data from Arctos) would notice/have any reason to care. Someone wanting to build their own UI around Arctos data would definitely notice. I think it's more of an administrative discussion - and one that would be easier to have if we had some idea of what we wanted to allow/support/require/etc. via API, https://github.com/ArctosDB/internal/issues/51. You can mess with my milestones if you feel you must, but I'm still going to be forced into doing something relatively soon. |
Then this needs some sort of urgent call for discussion. @ArctosDB/arctos-working-group-officers |
I can be available today, but need some background. Do we need to bring in @jcabbott72 ? |
I was asked to summarize the recent flurry of activity, this seems as good a place as any. We have a very expensive (in terms of CPU) and very crappy (in terms of usability) "mobile" site. This has been involved in, perhaps caused, recent outages; we have to do something. (Not supporting mobile at all has been mentioned, this seems like sustainability suicide to me.) The technology is now in such a state that libraries and tools aren't really necessary, as demonstrated by #4349 (place search) - a single site that works on various devices can be developed in plain CSS. Getting away from the huge kludgy thing that's working on overgrowing our infrastructure is now possible; there is a real pathway out of the weeds! #2745 will go to production tonight, but as a second way of searching catalog records. It will replace the current UI "soon" (after constructive feedback has been implemented would be nice, but I'll do what I must). https://github.com/ArctosDB/internal/issues/211 needs addressed; the current header is not responsive (and uses very old and not-so-great technology which will eventually find a way to make problems if its own). That will leave the primarily "guid pages" which need made responsive in some way. Whether we go to an API or not should not have any effect whatsoever on the current pages, nor is it likely to in any future in which there's one Arctos page. NOT moving to an API would be easier in most every way. NOT moving to an API would make things like the goofy little summary.... ... much more approachable. Moving to an API would make it easier for someone to develop alternative views. I suppose that all adds up to me not moving towards an API unless ya'll tell me to.
Not doing this still somehow feels like a lost opportunity. |
Happy to help with this however I can. I see the new UI is available to try. I have only just glanced at it, but note things like choosing an institution is much more difficult now (in that the acronyms are spelled out that I see). I’m actually having a zoom meeting today with the Capstone faculty member that has been leading the UI work we have been doing. That will start up again this spring.
Cheers,
John
John C. Abbott, Ph.D.
Chief Curator & Director of Museum Research and Collections
University of Alabama Museums
The University of Alabama<https://www.ua.edu/>
357 Mary Harmon Bryant Hall
Box 870340
Tuscaloosa, AL 35487
Phone 205-348-0534<tel:205-348-0534> | Fax 205-348-9292<tel:205-348-9292>
***@***.******@***.***> | http://collections.museums.ua.edu<http://collections.museums.ua.edu/>
[The University of Alabama stacked logo with box A]<https://www.ua.edu/>
Twitter<https://twitter.com/UAMNH> | Facebook<https://www.facebook.com/ALMNH/> | YouTube<https://www.youtube.com/uamuseums> | Instagram<https://www.instagram.com/uamnh/>
Managing Editor, International Journal of Odonatology
Associate Editor, Odonatologica
Author of Common Insects of Texas<https://utpress.utexas.edu/books/abbott-common-insects-of-texas-and-surrounding-states> (NEW), Dragonflies of Texas<https://utpress.utexas.edu/books/abbott-dragonflies>, Damselflies of Texas<https://utpress.utexas.edu/books/abbdap>, & Dragonflies and Damselflies of the South-central U.S.<https://press.princeton.edu/books/paperback/9780691113647/dragonflies-and-damselflies-of-texas-and-the-south-central-united>
On Nov 29, 2022, at 5:11 PM, dustymc ***@***.******@***.***>> wrote:
I was asked to summarize the recent flurry of activity, this seems as good a place as any.
We have a very expensive (in terms of CPU) and very crappy (in terms of usability) "mobile" site. This has been involved in, perhaps caused, recent outages; we have to do something. (Not supporting mobile at all has been mentioned, this seems like sustainability suicide to me.)
The technology is now in such a state that libraries and tools aren't really necessary, as demonstrated by #4349<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.luolix.top%2FArctosDB%2Farctos%2Fissues%2F4349&data=05%7C01%7Cjabbott1%40ua.edu%7C68e1cff6ad8649290c2108dad25f13a2%7C2a00728ef0d040b4a4e8ce433f3fbca7%7C0%7C0%7C638053603046545453%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=jWpnl3GZVFRwINx3X1w5Tpi%2FriJEdgvFvEanGyvfwvc%3D&reserved=0> (place search) - a single site that works on various devices can be developed in plain CSS. Getting away from the huge kludgy thing that's working on overgrowing our infrastructure is now possible; there is a real pathway out of the weeds!
#2745<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.luolix.top%2FArctosDB%2Farctos%2Fissues%2F2745&data=05%7C01%7Cjabbott1%40ua.edu%7C68e1cff6ad8649290c2108dad25f13a2%7C2a00728ef0d040b4a4e8ce433f3fbca7%7C0%7C0%7C638053603046545453%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ld%2BvTecBpZfUdlMIS3HbeGqo8UdQtGvWJF1s0VIVH00%3D&reserved=0> will go to production tonight, but as a second way of searching catalog records. It will replace the current UI "soon" (after constructive feedback has been implemented would be nice, but I'll do what I must).
ArctosDB/internal#211<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.luolix.top%2FArctosDB%2Finternal%2Fissues%2F211&data=05%7C01%7Cjabbott1%40ua.edu%7C68e1cff6ad8649290c2108dad25f13a2%7C2a00728ef0d040b4a4e8ce433f3fbca7%7C0%7C0%7C638053603046545453%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=OaRNqtioyBrAXEnehi2aYHpD%2BDCiDxCXnpScfYRojbU%3D&reserved=0> needs addressed; the current header is not responsive (and uses very old and not-so-great technology which will eventually find a way to make problems if its own).
That will leave the primarily "guid pages" which need made responsive in some way. Whether we go to an API or not should not have any effect whatsoever on the current pages, nor is it likely to in any future in which there's one Arctos page.
NOT moving to an API would be easier in most every way.
NOT moving to an API would make things like the goofy little summary....
[Screenshot 2022-11-29 at 2 45 39 PM]<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F5720791%2F204664936-864796e4-a187-43c6-a77f-dea0edfcbcae.png&data=05%7C01%7Cjabbott1%40ua.edu%7C68e1cff6ad8649290c2108dad25f13a2%7C2a00728ef0d040b4a4e8ce433f3fbca7%7C0%7C0%7C638053603046545453%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=iZpP%2FsLKxLj5j0V91HBOHFZvwUpbWucalt%2B%2BN%2B6FY6s%3D&reserved=0>
... much more approachable.
Moving to an API would make it easier for someone to develop alternative views.
I suppose that all adds up to me not moving towards an API unless ya'll tell me to.
* The benefits all seem very theoretical
* We have very finite resources
* As above, the current API will almost-ish-probably support GUID-pages
* As above, maybe one path to all record-related data is better than two
Not doing this still somehow feels like a lost opportunity.
—
Reply to this email directly, view it on GitHub<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.luolix.top%2FArctosDB%2Farctos%2Fissues%2F4337%23issuecomment-1331437196&data=05%7C01%7Cjabbott1%40ua.edu%7C68e1cff6ad8649290c2108dad25f13a2%7C2a00728ef0d040b4a4e8ce433f3fbca7%7C0%7C0%7C638053603046545453%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=QOZ3bIJqllDNL3M9z9yTsDTJH29nO5SN6dNDTC6DAG0%3D&reserved=0>, or unsubscribe<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.luolix.top%2Fnotifications%2Funsubscribe-auth%2FAKRS5GNZB74C4TZSHH7GQ2TWK2ESZANCNFSM5OVTAFAA&data=05%7C01%7Cjabbott1%40ua.edu%7C68e1cff6ad8649290c2108dad25f13a2%7C2a00728ef0d040b4a4e8ce433f3fbca7%7C0%7C0%7C638053603046545453%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=hrU6UEpKwtdZscUcRdIUvVFXhFMCs%2BQ18BP5k257AnI%3D&reserved=0>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
FYI that is 100% the cat record API. This issue might lead to a new endpoint, which I'd envision being useful only for a single-record detail page.
Please elaborate (maybe in #2745). |
After my first glance I also thought
but then I finally hit the 'choose' button and found the Check all... [Institution Acronym] option. |
See also #5313 |
Abandoning this for now; #5333 will focus on the UI stuff mentioned above. |
I'm dredging this up again, it needs reprioritized and recategorized (or possibly killed off again).
It might be possible/reasonable to just cache more stuff in FLAT (and filtered flat - honoring encumbrances is also very expensive) and use that to build /guid/ pages (or most of them), rather than some new thing. That would allow paying most of the cost when something changes, rather than when a page is requested, and sorta accidentally make it possible to re-create /guid/ pages from the API. That doesn't address one of the initial concerns (users need to understand a deep API), but: meh, there's documentation. |
yea let's discuss when I'm back-- also probably should be relevant to proposed arctosr Rpackage |
@mkoo put something on the calendar!
Yes, and I think even API access agreements in general. To recycle an initial example, we currently have...
I don't think that's sufficient, those data should AT LEAST be capable of building.... ![]() and AFAIK there's no requirements in the API agreements to do ANYTHING - I think 'rights' (along with things like GUID - which is embarrassingly "local flavored" in FLAT at the moment) should be inseparable from the other data (and I'm pretty confident that I can do all that in FLAT as JSON, then use that to make our /guid/ pages less expensive to build, along with feeding the API). #7348 is also related - things that get shared via DWC generally need to go through FLAT - so maybe invite those folks to any meeting. |
I added some stuff to FLAT, will let it refresh and then go from there. Please let me know ASAP if there's any reason to adjust any of this. I don't think this is quite everything I use to build GUID pages, but it may be all that should be included in this API. For example, I don't think I can add projects and loans here, but that could be it's own thing (or it could be something that's just not available except in Arctos Proper).
|
Adding collectors would be handy for record pull, and in general. |
"collector_agents" format:
|
This is mostly caught up, I'll add the new stuff to the API soonish. I pulled all results data to https://docs.google.com/spreadsheets/d/17tO8Uw-XWgKe0KaZLfX2PMsTMiiLqNOVheDFGgWBHu4/edit#gid=1980202044 and added these to the bottom, just request access/ping me if you want to adjust anything while this is available. I'll push it back to the DB whenever I get around to it. |
Is your feature request related to a problem? Please describe.
The current API is (mostly, probably) capable of building a replica of the catalog record detail page by specifying appropriate "columns." That of course relies on the user having some idea of what we consider to be "catalog record details."
Good:
Not-so-good:
Describe what you're trying to accomplish
Should we offer a compiled "catalog record stuff" API call? That would provide a very easy way to get everything on the catalog record detail page, and would provide us an opportunity to organize things - eg #2450 could be delivered as one unavoidable object...
rather than scattering those kinds of data across multiple "columns." This would probably add some expense to most API calls, but would also allow us to predict what's going to be requested and build a cache.
Describe the solution you'd like
First, discussion - is this useful?
Describe alternatives you've considered
Don't.
Additional context
https://github.com/ArctosDB/internal/issues/51 is very related - it's difficult to build tools without knowing what sort of usage we want to allow.
If we move forward with this, the
/guid/
pages in Arctos should be rebuilt to use it. This would also address the "mostly, probably" above - we don't use the current API to build those pages, so I don't know if it's actually fully capable or not.Priority
??
The text was updated successfully, but these errors were encountered: