Date: Fri, 29 Mar 2024 02:17:13 -0400 (EDT) Message-ID: <1250866791.29854.1711693033351@lyrasis1-roc-mp1> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_29853_1827016341.1711693033351" ------=_Part_29853_1827016341.1711693033351 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Meeting was held in the #angular-ui Slack channel. Anyone could read= along
Art Lowel [5:03 PM]
@here alright, let=E2=80=99s get started
[5:03]
Tim is travelling this week, and said he likely won=E2=80=99t be joining u=
s
[5:03]
Let=E2=80=99s start with the PRs
[5:03]
did anybody get a chance to look at them?
[5:04]
Rest relationships: https://github.com/DSpace/d=
space-angular/pull/87
[5:04]
Item Page: https://github.com/DSpace/dspace-ang=
ular/pull/88
[5:04]
Then, as discussed last time, I=E2=80=99ll merge the relationships PR afte=
r this meeting
[5:05]
I=E2=80=99ll leave the Item Page PR open a while longer, as it was opened =
later than expected
[5:05]
it should also be easier to grasp, so I encourage you to take a look at it=
[5:06]
I had a look at the Rest API demo instance and it turns out the HTTP acces=
s control (CORS) settings aren=E2=80=99t configured yet
[5:06]
As a consequence, a browser will refuse to fetch data from that server usi=
ng javascript
[5:07]
HTTP access control is a security mechanism built in to browsers to ensure=
that you have explicit permission before you can access a server on a diff=
erent domain using javascript
[5:07]
For a rest api you generally want to allow access to everyone
[5:07]
I informed @bollini on slack, and created a Jira ticket for the issue:
[5:07]
https://jira.duraspace.org/browse/DS-3588=
[5:08]
We _could_ bypass the issue with a proxy server, which is what we did with=
the prototype
[5:08]
but as we have enough other things to do, and this shouldn=E2=80=99t be to=
o hard to fix, I haven=E2=80=99t spent time on workarounds
Andrea Bollini [5:08 PM]
it will be fixed by the start of next week
Art Lowel [5:08 PM]
great
[5:09]
I did notice that the rest responses on the demo don=E2=80=99t contain UUI=
Ds, is that on purpose?
[5:10]
If not, could they be added, we rely on those for a number of things in th=
e current UI code
[5:11]
I=E2=80=99ll bring it up again during the rest meeting later
[5:11]
Currently I=E2=80=99m working on including support for communities in the =
rest services
[5:12]
That isn=E2=80=99t a lot of work, I expect to have a PR ready by tomorrow<=
/p>
Andrea Bollini [5:12 PM]
it is by design
Art Lowel [5:12 PM]
could you explain the reasoning behind it?
Andrea Bollini [5:13 PM]
I was looking to find an issue where we have already some notes
[5:13]
anyway, the self link should be all you need
[5:13]
the uuid is just redundant
[5:14]
BTW, include it is as easy as remove a jsonignore annotation
Art Lowel [5:14 PM]
not really, I can=E2=80=99t use the entire self link in the URL e.g. https://ui.url.com/items/https://rest.ur=
l.com/items/some-uuid
[5:14]
so then we=E2=80=99d have to start parsing it
[5:14]
it =3D the self link
[5:15]
I=E2=80=99d rather avoid that if possible
[5:15]
So if redundancy is the only objection, I=E2=80=99d prefer if you put it b=
ack in
Andrea Bollini [5:15 PM]
oh I see (edited)
[5:16]
you need the uuid to build the URL of "your" page, not to follow a link ri=
ght? (edited)
Art Lowel [5:16 PM]
among other things yes
[5:17]
UUIDs are also used to refer to objects at the moment
[5:17]
but I agree that that could be replaced by self links
Andrea Bollini [5:17 PM]
ok
[5:18]
I'm going to create an issue to include the UUID in the json representatio=
n to avoid to forget about that
Art Lowel [5:18 PM]
Thank you
[5:19]
I also created a few additional tasks
[5:19]
I=E2=80=99ll ask lotte to work on one of those as well
[5:19]
Those were my updates
[5:19]
Does anybody else have something they=E2=80=99d like to discuss?
[5:20]
Ok, see you all next time!
Andrea Bollini [5:21 PM]
I have some questions that are cross rest-ui
[5:21]
if you stay around we can discuss in the rest channel in few minutes
Art Lowel [5:21 PM]
I will
Andrea Bollini [5:30 PM]
Hi all
Terry Brady [5:30 PM]
I have another meeting today, so I cannot attend. Unfortunately, I have be=
en focused on 6x this week and have not made any progress on 7.
Andrea Bollini [5:31 PM]
ok @terrywbrady , do you plan to spend more time on dspace 7 in the next w=
eeks?
Terry Brady [5:32 PM]
I imagine it will take a couple of weeks to finish what I am working on
Andrea Bollini [5:32 PM]
ok, thanks for your work on dspace 6
[5:32]
it is not easy to have two big task going on in parallel
[5:33]
Unfortunately I need to say that I haven't done much progress since last w=
eek too
[5:33]
I was at the annual coar meeting this week so...
[5:34]
so what is going on is
[5:35]
- browse endpoints: I have almost completed the implementation, so we shou=
ld have a PR really soon
[5:36]
- generic search endpoints for resource filtering: I'm spending some time =
learning the low implementation done in the spring-data-rest project and th=
e springmvc project
[5:36]
so some time could be necessary before to have a good generic solution in =
place
[5:37]
- cors header: as said in the angular meeting we need to support CORS. We =
look lucky as spring boot make that very easy, we will have that in place b=
y the start of next week
[5:38]
- discovery search: I loss contact with @luizsan, so I don't know exactly =
if he makes any progress on that
[5:39]
I haven't other high level update to share. Anyone have comments, update t=
o share?
[5:41]
I want to start the discussion around a general issue that we have about t=
he UI and the REST API
[5:42]
the REST API in some way is a different representation of the UI
[5:43]
it should be needed to link a rest api endpoint with a UI URL or viceversa=
[5:43]
for the UI it should be "easy" or at least possible to know about the REST=
endpoint, but the opposite is not necessary true
[5:44]
for instance the handle need to be resolved to an UI URL so the API needs =
to know about the UI URL structure
Art Lowel [5:45 PM]
does it? I didn=E2=80=99t think the rest api would resolve that for us
[5:46]
and putting information specificly about this UI in the rest api doesn=E2=
=80=99t seem like a good separation of concerns
[5:47]
unless it=E2=80=99s on an endpoint designed for sharing UI settings for ex=
ample
Andrea Bollini [5:47 PM]
I agree but I worry that we have some needs in this direction
[5:48]
the current dspace-api know about the URL structure, as the handleresolver=
is in the dspace-api
Art Lowel [5:49 PM]
either in the angular prototype, or in the ember prototype I wrote a way t=
o resolve handles from the UI, and that wasn=E2=80=99t too difficult
[5:49]
besides, if we have a handle endpoint on the rest api, that will make it e=
ven easier
Andrea Bollini [5:49 PM]
other than the handle resolution, I'm also thinking about the implementati=
on of content-negotiation principle
Art Lowel [5:49 PM]
we just ask the handle endpoint for the self link
Andrea Bollini [5:50 PM]
it will be nice if one requesting an UI URL with format json will be redir=
ected on the REST API
[5:50]
and viceversa... if you ask for a html representation of a REST API endpoi=
nt
Art Lowel [5:50 PM]
I don=E2=80=99t know if that will always be possible
[5:51]
even with embedded objects there will be UI pages that consist of a combin=
ation of multiple rest resources
Andrea Bollini [5:52 PM]
yes but we could imagine a mapping for the "main pages"... I guess
Art Lowel [5:52 PM]
we could
[5:52]
but I also like the idea of having something like the current hal browser,=
as the HTML version of the rest endpoints
[5:53]
I think it=E2=80=99s more useful if you=E2=80=99re trying to make some oth=
er app against our rest api
Andrea Bollini [5:53 PM]
it is not a html representation of the rest endpoint
[5:53]
it is only a client
[5:54]
useful for testing and documentation, but it doesn't provide html for rest=
endpoint (it is actually a javascript)
Art Lowel [5:54 PM]
I did say something like :wink:
[5:55]
what does e.g. spring-data-rest do if you ask a rest endpoint for html? (e=
dited)
Andrea Bollini [5:55 PM]
nothing out-of-box
[5:56]
but my concerns come from the implementation of the signposting patterns f=
or instance https://jira.duraspace.org/browse/DS-3589=
a>
[5:56]
where we should implement these kind of functionalities? in the UI or in t=
he REST API?
Art Lowel [5:57 PM]
I=E2=80=99ll have to do some reading first, I hadn=E2=80=99t heard of that=
Andrea Bollini [5:58 PM]
essentially it requires that when you serve an item page you add some HTTP=
header to link to specific content in the page
[5:58]
the URL of the author (on ORCID), the URL to download the bitstreams
[5:59]
it is useful to provide an easy path for harvester to access your reposito=
ry without the need to parse the html
Art Lowel [5:59 PM]
So that=E2=80=99s quite similar to what we=E2=80=99re doing for google sch=
olar then?
Andrea Bollini [5:59 PM]
yes but as HTTP Header insted of metatags
Art Lowel [5:59 PM]
I see
Andrea Bollini [6:00 PM]
but also google scholar is a good example of my concerns
[6:00]
where we should implement the functionality?
Art Lowel [6:00 PM]
I had also assumed that that would be the UI
Andrea Bollini [6:01 PM]
I have just realized that the UI is more than a view layer on top of the R=
EST API
[6:02]
not necessary a bad thing... just it wasn't evident to me
Art Lowel [6:02 PM]
I think it could be, but then the Rest API would have to become very large=
and contain lots of redundant ways to show the same info, and I don=E2=80=
=99t think that would be a good thing
Andrea Bollini [6:04 PM]
ok... as said I just need to think on that from a different perspective bu=
t it is something that we should keep in mind. It will be useful to repost =
similar question on each feature that is "borderline"
Art Lowel [6:04 PM]
I agree
Andrea Bollini [6:05 PM]
ok, we are out our meeting time. Are there anything else that you want to =
discuss?
Art Lowel [6:05 PM]
not at the moment
Andrea Bollini [6:06 PM]
I guess that we can close the meeting. See all of you on hangout next week=
Art Lowel [6:06 PM]
Bye