Contribute to the DSpace Development Fund

The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.

Date

Angular meeting

Attendees

Notes

Slack Logs (times are all CDT)

Tim Donohue [9:44 AM]
@here: Reminder that our DSpace 7 Working Group meeting is at the top of the hour in Slack. For the first 1/2 hour we'll be in #angular-ui talking Angular updates. The second 1/2 hour we'll be in #rest-api talking REST API updates. All are welcome to join us, or catch up later. As always, more info & all past mtg notes are at: https://wiki.duraspace.org/display/DSPACE/DSpace+7+UI+Working+Group

Tim Donohue [10:01 AM]
@here: It's time for our weekly checking on DSpace 7 progress. As always, we'll start with Angular UI updates in this channel. @art-lowel, would you like to take the lead?

Art Lowel [10:01 AM]
Sure

[10:01]
These are the PRs that have been merged since our last meeting:

[10:01]
The collection home page:

[10:01]
https://github.com/DSpace/dspace-angular/issues/63

[10:01]
The full item page:

[10:01]
https://github.com/DSpace/dspace-angular/pull/100

[10:01]
Test and docs for the item page:

[10:01]
https://github.com/DSpace/dspace-angular/pull/96

[10:02]
The addition of types to rest resources:

[10:02]
https://github.com/DSpace/dspace-angular/pull/97

[10:02]
And the changes to travis builds to prevent timeouts during tests:

[10:02]
https://github.com/DSpace/dspace-angular/issues/101

[10:02]
That’s a lot more than average, so good work everyone :y:


Tim Donohue [10:03 AM]
Yes, excellent progress this week! Thanks to @lotte, @rivaldi8, @art-lowel and @wwelling

Art Lowel [10:03 AM]
Lotte is making progress with the DSO list task, I expect there to be a PR early next week

[10:04]
Afterwards we can create the collection and community browse pages which are the final large pieces of the puzzle still missing for browse

Tim Donohue [10:05 AM]
Awesome to hear! Yes, I'd love to see the hierarchical browse make it in by OR2017, if it's still possible. I realize though we are now only a few weeks away though

[10:05]
(So, admittedly, I don't know if that timeline is doable...thoughts?)

Art Lowel [10:06 AM]
apologies, my slack froze there for a minute

[10:06]
I think browse should be doable by OR yes

[10:06]
the hard part was the list element

[10:06]
when that’s done, it’s basically configuring it for the specific pages

[10:07]
that’ll be simply browse by title at first

[10:07]
don’t know if we’ll get anything else done

Tim Donohue [10:07 AM]
Sounds great then. I think we still need Community Home page too, of course (thought hopefully that's very similar to Collection homepages)

Art Lowel [10:07 AM]
Yes it should be

[10:08]
I left it unclaimed for now to see if @rivaldi8 wanted to claim it :slightly_smiling_face:

[10:08]
but if not I’ll ask lotte to work on that when she’s done with the dso lists

Tim Donohue [10:08 AM]
(Note: I think rivaldi8 isn't in Slack yet...we may want to ping him via GitHub and/or invite him to join us in Slack)

Art Lowel [10:09 AM]
He _was_ on slack

[10:09]
the fact that his name no longer autocompletes may mean he’s closed his account (edited)

[10:09]
or that he’s changed it

Tim Donohue [10:10 AM]
huh, maybe he did. Well, we can ping him via GitHub I guess. I'm not seeing his name here in the list anymore either way

[10:10]
So, were there other updates to add in here, @art-lowel ?

Art Lowel [10:10 AM]
yeah

[10:10]
I saw you reviewed that PR of mine that adds support for embedded resources

[10:10]
https://github.com/DSpace/dspace-angular/pull/99

[10:11]
did you get a chance to test it again after I added instructions on how to?

Tim Donohue [10:11 AM]
(Sidenote: Oh wait, my apologies, rivaldi8 *is* here in Slack. He's @alexm in here) (edited)

Art Lowel [10:12 AM]
Good news :slightly_smiling_face:

Tim Donohue [10:12 AM]
I have not had a chance to re-test PR#99. Honestly though, It looks good codewise, so if it's holding anything up, I'd say merge it. I may not get back to testing it until tomorrow at the earliest

Art Lowel [10:12 AM]
I see there are merge conflicts on that PR now

[10:12]
I’ll fix them ASAP

Tim Donohue [10:12 AM]
thanks

Art Lowel [10:13 AM]
is there a way to get notified of them automatically?

Tim Donohue [10:13 AM]
Not to my knowledge. That'd be a nice feature of GitHub though

Art Lowel [10:13 AM]
yeah

[10:14]
So I’ll fix the conflicst verify that the AoT build and the tests still work, and merge it

Tim Donohue [10:14 AM]
Sounds good to me


Art Lowel [10:14 AM]
because it is a prerequistie for the switch to the live rest backend I’m working on atm

Tim Donohue [10:15 AM]
Yes, I don't want to hold that up :wink:

Art Lowel [10:15 AM]
Here you can find a branch that’s mostly working:

[10:15]
https://github.com/artlowel/dspace-angular/tree/live-rest-backend

Andrea Bollini [10:15 AM]
:slightly_smiling_face: you have anticipated my question

Art Lowel [10:15 AM]
However bitstreams on item pages don’t work yet

[10:15]
because bitstreams are currently a property of an Item, they’re not considere realted resources by the rest api

[10:15]
e.g. if you look here:

[10:15]
http://dspace7.4science.it/dspace-spring-rest/#/dspace-spring-rest/api/core/items/9f3288b2-f2ad-454f-9f4c-70325646dcee

[10:16]
You’ll see that bitstreams are not in the `_links` and `_embedded` sections but, like metadata, bitstreams is a direct property of an item

Andrea Bollini [10:16 AM]
ohh I haven't noted yet!

Art Lowel [10:17 AM]
so that wasn’t purposfully done that way?

Andrea Bollini [10:17 AM]
no by me :slightly_smiling_face:

Tim Donohue [10:17 AM]
Sounds like a bug then :wink:

Art Lowel [10:18 AM]
Good, because it would save me some issues if I didn’t have to account for that :slightly_smiling_face:

Andrea Bollini [10:18 AM]
absolutely

[10:18]
we need to agree about the relation

[10:18]
item -> bitstreams ? or item -> bundles -> bitstreams ?

Art Lowel [10:19 AM]
yeah, we discussed bundles briefly last week

Andrea Bollini [10:19 AM]
we can also change later, but for OR we need to decide one of the two

Art Lowel [10:19 AM]
I also added a comment to the Jira ticket about that

[10:19]
https://jira.duraspace.org/browse/DS-3490

[10:19]
to recap: I don’t mind that bundles are now a field on bitstreams

[10:20]
but we have to ensure that we don’t lose features in the process

[10:20]
such as the primaryBitstream property

Andrea Bollini [10:20 AM]
I know that most out of there are in favor to remove bundle... but I'm a fan of them

[10:21]
so, for me it makes perfect sense to keep them in place as first citizen, this should mean to have bundles inside the item and not directly the bitstreams

Art Lowel [10:22 AM]
I have adapted the UI to the fact that they’re gone now, but it wouldn’t be hard to change back

Tim Donohue [10:22 AM]
That's fine by me for now. I wasn't meaning to imply we should remove them now. Perhaps this is a decision we should wait on (i.e. leave them in place as a first class citizen until we are sure we have a better plan) (edited)

Art Lowel [10:23 AM]
yeah, because I like the idea @mdiggory added to that ticket

[10:23]
to consider bundlenames to be something like s3 buckets

Tim Donohue [10:23 AM]
And that seems to be how the mockups treat Bundles here: https://github.com/DSpace/dspace-angular/blob/master/src/backend/items.ts

Art Lowel [10:23 AM]
but that would probably lead us too far right now

Andrea Bollini [10:23 AM]
(I haven't noted the comment... unfortunately I was not watching the ticket... my fault)

Tim Donohue [10:24 AM]
So, my simple question here is... is this something we can "solve" quickly (in some way) prior to OR2017?

[10:24]
I'd really like to have bitstreams "working" at least at some level

Art Lowel [10:24 AM]
The quickest way to solve it right now (for me anyway) is to leave bundles out

[10:25]
but we do have to add bitstreams as a relation, not a property

Andrea Bollini [10:25 AM]
on the rest side it will take the same time and yes, we will definitively have a relation (_link) in place here

Art Lowel [10:25 AM]
great

[10:26]
and then I’d just leave that ticket open, or another place to discuss the issue so it gets handled properly eventually

Tim Donohue [10:27 AM]
So, what should be our plan for OR2017 then? Just create a new ticket about the relation (_link, etc) bug, and get that resolved ASAP? And then leave bundles to post-OR2017?

Art Lowel [10:27 AM]
That’s what I proposed yes


Tim Donohue [10:28 AM]
Does that sound reasonable to you @bollini? Is the relation bug solvable quickly? Or do you need to look at it more?

Andrea Bollini [10:28 AM]
ok. Just a note my intent was to use the rest-api half hour to plan for OR

Tim Donohue [10:28 AM]
Ok, well, we are almost into that 1/2 hour anyhow :wink: So, we could move this discussion over to #rest-api, if you wish

Andrea Bollini [10:29 AM]
yes, just in case other want to check

Tim Donohue [10:29 AM]
Ok, let's do that. Moving over to #rest-api now. I'll let #dev know as well

Andrea Bollini [10:29 AM]
oh sorry, @atarix83 probably want to say something about his tickets

Giuseppe Digilio [10:30 AM]
only one thing, I think to start working on https://github.com/DSpace/dspace-angular/issues/103 maybe early next week

Tim Donohue [10:31 AM]
@atarix83 : thanks for the update on that. Sorry to cut you off


[10:31]
@art-lowel : see above final update

Art Lowel [10:31 AM]
:white_check_mark:


REST meeting

Attendees

Notes:

Slack Logs (times are all CDT)

Terry Brady [10:08 AM]
I will be unable to attend today. I have been working on DSpace 6 issues exclusively this week.

Art Lowel [10:29 AM]
There are a few other missing relations I noticed while connecting the UI to the backend (edited)

Tim Donohue [10:31 AM]
@here: Ok, we're moving into the REST API portion of the meeting now

[10:31]
@bollini, did you want to kick off this portion of the discussion?

Andrea Bollini [10:32 AM]
Sorry to have missed last meeting but I'm in a 2-weeks in line conferences period

Tim Donohue [10:32 AM]
Yes, it's a busy conference period :wink:

Andrea Bollini [10:32 AM]
(BTW very exciting staff at euroCRIS and IIIF)

[10:33]
that said, I should be able to have a working implementation of the browse endpoint late this night or tomorrow


[10:34]
it works but I'm not completely happy with it... it introduces the concept about link repository that are explained in the wiki

[10:34]
https://wiki.duraspace.org/display/DSPACE/DSpace+7+REST%3A+Coding+DSpace+Objects

[10:35]
the issue here is that it uses reflection and can be improved a lot with "smart" behaviour

[10:35]
I'm just worry about implementing something to much in advance...

[10:36]
I want to propose to give to it a fast look, create issues about what we want to achieve but put the code in the master so to have the additional endpoints soon

Tim Donohue [10:37 AM]
I share the worry of "over designing" something before we have a good sense of the entire picture. So, this sounds good to me. If we find a way to improve it later (via refactor or similar) we can do so then

Andrea Bollini [10:37 AM]
more endpoints we will go to define more clear will be our needs (I think / hope)


[10:38]
ok, so the plan is to have the browse endpoint (based on the Browse API/ SOLR) out of here this week

Tim Donohue [10:38 AM]
excellent!

Andrea Bollini [10:39 AM]
after that we can immediately start to add new relation, following the discussion in #angular-ui the top priority are the bitstreams


[10:39]
it should be ready in a couple of days, so before next meeting

Tim Donohue [10:40 AM]
I notice that @art-lowel mentioned "other missing relations" (above)... @art-lowel did you want to briefly mention those and/or create tickets for them (so they can be tackled after bitstreams)?

Art Lowel [10:40 AM]
sure

[10:40]
Just a thought I had on bitstreams first: is it already possible to download them via the new rest api?

[10:41]
so our thumbnails can work for example

Andrea Bollini [10:41 AM]
not yet but it can be put on the list

Art Lowel [10:41 AM]
ok

Tim Donohue [10:41 AM]
So, do we want to take a quick step back and talk OR2017 timelines / goals?

[10:42]
As that might help in prioritizing these

Andrea Bollini [10:42 AM]
@art-lowel have other missing relations to list I think

Tim Donohue [10:43 AM]
Ok, if you want to list them quickly, Art. We can do OR2017 goals next

Art Lowel [10:43 AM]
ok so:
the collection logo relation

[10:43]
items only seem to have an owningCollection, not a complete list of mapped collections

[10:44]
I also don’t see a community relation on collections ← but I’m not 100% sure about that one, because I merged in the collection homepage minutes before this meeting started, I may have simply missed a collection that had parent communities

[10:45]
Those are the relations that _do_ something in the UI atm and would be useful to have

Andrea Bollini [10:45 AM]
ok. You are right, all are missing

[10:46]
they depends on the concept that I'm introducing with the browse

[10:46]
as they are something that I want to retrieve querying instead to get immediately from the object

[10:47]
to have a more "lazy" approach

Art Lowel [10:47 AM]
but then we’d have to retrieve them to show an item or comm/coll homepage for example

[10:48]
if we get the option to ask for them, and they’re not included by default, I’m fine with it

Andrea Bollini [10:48 AM]
yes, this is the intent to have a projection parameter

Art Lowel [10:49 AM]
is that working on the demo already?

Andrea Bollini [10:49 AM]
no, it can be implemented only after to have the link repository concept in place

Tim Donohue [10:50 AM]
These are the projections you are talking about, right? https://github.com/DSpace/Rest7Contract/blob/master/projections.md

Andrea Bollini [10:50 AM]
is it necessary for OR or should you deal with separate request?

[10:51]
@tdonohue yes, this is the skeleton of the idea

Art Lowel [10:51 AM]
before OR we need some way to get those related resources


[10:51]
adding a projection to the URL shouldn’t be too much of a problem

[10:52]
but if you’re unsure projections can be finished before OR, adding them as hardcoded relations is also fine


Andrea Bollini [10:53 AM]
what do you mean by hardcoded? can you hardcode the endpoint without the need to have them exposed in the _links section?

Art Lowel [10:54 AM]
no, I mean to add them to the default set of fields/relations you get without specifying a projection

Andrea Bollini [10:54 AM]
mmm... this could be complex on my side. Essentially it will mean to have the projection support in place

Tim Donohue [10:55 AM]
There's no easier way to simply add in the relations as _links, without fully implementing projection?

Andrea Bollini [10:56 AM]
yes but they will no go in the _embedded

Art Lowel [10:56 AM]
that’s not an issue

[10:56]
it would be nice

[10:56]
but it’ll work without it

Andrea Bollini [10:57 AM]
ok, so this is our safe solution for OR


[10:57]
I assume that the mapped collections are not a crucial relation here

Art Lowel [10:57 AM]
correct


Andrea Bollini [10:58 AM]
ok so I try to summarize with a list of task

Tim Donohue [10:58 AM]
go for it

Pinned by Art Lowel
June 8th at 11:03 AM Pinned by Art Lowel
Andrea Bollini [10:59 AM]
1. browse (support for linked relations)
2. bistreams linked from the item
3. bitstream download
4. more real-like demo database
5. community from the collection
6. logo from community and collection

Art Lowel [11:00 AM]
I’d bump logo up to position 4

Tim Donohue [11:01 AM]
I was going to say the opposite. Logos to me are optional. They'd be nice, but if they are "working yet", we can put in a placeholder image (instead of a broken one) and say they are coming soon

[11:01]
But, I think we need real-like data...and community references from collections (for a breadcrumb)

Art Lowel [11:01 AM]
ok, but currenly it’s a broken image, that issue isn’t fixed yet :wink:

Tim Donohue [11:01 AM]
Yes, I'm just saying there's an easy workaround for logos, if it comes to it

Art Lowel [11:01 AM]
true

Tim Donohue [11:02 AM]
So, I say :+1: to @bollini's list & ordering of it

Andrea Bollini [11:03 AM]
how can we pinup the message so that we have it in evidence?

Tim Donohue [11:03 AM]
And as we are now "over time", to quickly note what I'd *like* to see by OR2017 (we can touch on this again next week):

Art Lowel [11:03 AM]
uploaded this image: Pasted image at 2017-06-08, 6:03 PM
Add Comment

Tim Donohue [11:03 AM]
1. It'd be nice to have a hierarchical browse (communities to collections to items)

Andrea Bollini [11:03 AM]
@art-lowel thanks!

Tim Donohue [11:04 AM]
2. It'd be nice to be able to download bitstreams in that browse

[11:04]
3. If possible, displaying logos & thumbnails would be nice...but not required by any means (can explain around it)

[11:04]
That's pretty much it at this point. I think it's all about getting hierarchical browse "functional" enough to demo

[11:05]
So, that's where my expectations/hopes are for OR2017. We can touch base next week though on progress. I think the lists we have for REST API & Angular next steps move us towards those goals

Andrea Bollini [11:05 AM]
ok, last question: do you think that is appropriate to update the demo with code from PR to show the new endpoints soon?

Tim Donohue [11:06 AM]
I don't see why we don't simply merge the PR into master & update the demo. But, either way, yes updating the demo is fine, as long as @art-lowel is aware it's coming

Andrea Bollini [11:07 AM]
I'm thinking at it as a temporary solution to work faster on the OR goals

Art Lowel [11:07 AM]
are there any changes that break backwards compatibility?

Tim Donohue [11:07 AM]
(Oh, and I forgot in my list for OR2017... implied in that list is that the Angular UI will be "hooked up" to the demo REST API)

Andrea Bollini [11:08 AM]
nothing except the bugs that will come in just after have said that

Art Lowel [11:08 AM]
ok, then I guess it will be fine

Andrea Bollini [11:09 AM]
@art-lowel the fix for the CORS headers work for you right? (edited)

Art Lowel [11:09 AM]
yes, thank you

Tim Donohue [11:10 AM]
Ok, are there any last thoughts/questions here? Any concerns over what to try to achieve this week?

Art Lowel [11:10 AM]
Not from me, and I have to run to a different meeting, so I’ll say goodbye


Andrea Bollini [11:11 AM]
ok for me too

Tim Donohue [11:12 AM]
Thanks all! Please ping me if you need my help/feedback (and I'll try and help test Angular PRs as they come in, as best I can)

Andrea Bollini [11:13 AM]
ok keep in touch here on the progress