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.

Developers Meeting on Weds, September 12, 2018

 

Today's Meeting Times

Our IRC logging bot has been blocked from Freenode (as of July 27).

Discussion logs are no longer available at http://irclogs.duraspace.org/. As our current IRC log bot (based on PircBot) is unmaintained and doesn't align with Freenode policies (around requiring SASL authentication), Tim has reached out to https://botbot.me/ to see if they could log our #duraspace IRC channel. In the meantime, full logs of meeting discussions will be copied into the Wiki notes below.

Agenda

Quick Reminders

Friendly reminders of upcoming meetings, discussions etc

Discussion Topics

If you have a topic you'd like to have added to the agenda, please just add it.

  1. (Ongoing Topic) DSpace 7 Status Updates for this week (from DSpace 7 Working Group (2016-2023))

    1. DSpace 7 Development Status spreadsheet
  2. (Ongoing Topic) DSpace 6.x Status Updates for this week

    1. 6.4 will surely happen at some point, but no definitive plan or schedule at this time.  Please continue to help move forward / merge PRs into the dspace-6.x branch, and we can continue to monitor when a 6.4 release makes sense.
  3. DSpace Release 5.10 Status
  4. Brainstorms / ideas (Any quick updates to report?)
    1. Bulk Operations Support Enhancements (from Mark H. Wood)
    2. Curation System Needs (from Terrence W Brady )
      1. PR 2181 implements per-run task parameters.  Ready for review.
      2. PR 2180 improves reporting.  Needs a little more testing.
    3. (No updates to report) How to encourage / credit folks who do Code Reviews? (Tim Donohue)
      1. No major updates this week.  Investigating GitHub GraphQL to query for "PR Creators", "PR Reviewers", etc.  and then parsing/compiling those JSON results into "Top 10" lists (currently playing with "jq", a json command-line parser).  Final display of results yet to be determined.
      2. Good promise here, but nothing fully "working" yet (haven't had as much time as hoped to dig into this). Should (hopefully) have code/queries to share by next week?
  5. Tickets, Pull Requests or Email threads/discussions requiring more attention? (Please feel free to add any you wish to discuss under this topic)
    1. Quick Win PRs: https://github.com/DSpace/DSpace/pulls?q=is%3Aopen+review%3Aapproved+label%3A%22quick+win%22

Tabled Topics

These topics are ones we've touched on in the past and likely need to revisit (with other interested parties). If a topic below is of interest to you, say something and we'll promote it to an agenda topic!

  1. Management of database connections for DSpace going forward (7.0 and beyond). What behavior is ideal? Also see notes at DSpace Database Access
    1. In DSpace 5, each "Context" established a new DB connection. Context then committed or aborted the connection after it was done (based on results of that request).  Context could also be shared between methods if a single transaction needed to perform actions across multiple methods.
    2. In DSpace 6, Hibernate manages the DB connection pool.  Each thread grabs a Connection from the pool. This means two Context objects could use the same Connection (if they are in the same thread). In other words, code can no longer assume each new Context() is treated as a new database transaction.
      1. Should we be making use of SessionFactory.openSession() for READ-ONLY Contexts (or any change of Context state) to ensure we are creating a new Connection (and not simply modifying the state of an existing one)?  Currently we always use SessionFactory.getCurrentSession() in HibernateDBConnection, which doesn't guarantee a new connection: https://github.com/DSpace/DSpace/blob/dspace-6_x/dspace-api/src/main/java/org/dspace/core/HibernateDBConnection.java


Ticket Summaries

  1. Help us test / code review! These are tickets needing code review/testing and flagged for a future release (ordered by release & priority)

    key summary type created updated assignee reporter priority status fixversions

    Unable to locate Jira server for this macro. It may be due to Application Link configuration.

  2. Newly created tickets this week:

    key summary type created assignee reporter priority status

    Unable to locate Jira server for this macro. It may be due to Application Link configuration.

  3. Old, unresolved tickets with activity this week:

    key summary type created updated assignee reporter priority status

    Unable to locate Jira server for this macro. It may be due to Application Link configuration.

  4. Tickets resolved this week:

    key summary type created assignee reporter priority status resolution

    Unable to locate Jira server for this macro. It may be due to Application Link configuration.

  5. Tickets requiring review. This is the JIRA Backlog of "Received" tickets: 

    key summary type created updated assignee reporter priority

    Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Meeting Notes

Meeting Transcript (IRC Bot is not working)

Log from #dev-mtg Slack (All times are CDT)
Tim Donohue [3:01 PM]
@here: it's DSpace DevMtg time. As noted in #dev, the agenda is at: https://wiki.duraspace.org/display/DSPACE/DevMtg+2018-09-12
Let's do a quick roll call to see who is able to join us today

Mark Wood [3:02 PM]
Hi

Tim Donohue [3:03 PM]
Hi Mark, welcome.  Hmm...we may be a small group today.  Well, I'll do a quick few announcements and we'll see who else joins along the way
First, and perhaps *most importantly*, reminder that our next DSpace 7 Community Sprint is coming up Oct 1-12.  Signup here: https://wiki.duraspace.org/display/DSPACE/DSpace+7+Community+Sprints
DSpace 7 Entities had its second meeting yesterday. Video Recording is at: https://wiki.duraspace.org/display/DSPACE/2018-09-11+DSpace+7+Entities+WG+Meeting
That's pretty much it for DSpace 7 updates at this time. (Though next Dspace 7 weekly meeting is obviously tomorrow at 14UTC)
No 6.x updates
So, that's basically the first two agenda items :slightly_smiling_face:
We do have an upcoming 5.10 release (code is all merged on `dspace-5_x` branch, but being tested).  @terrywbrady is the release manager, but isn't able to be here today
More info on that is at https://wiki.duraspace.org/display/DSPACE/DSpace+Release+5.10+Status
And if anyone here would like to see 5.10 happen *sooner*, get in touch with Terry to see how we can get this out the door quickly.
I'm guessing it's still just you and me, @mwood.  Anything else you want to discuss here?

Mark Wood [3:09 PM]
I added a bit to discussion topic 4b:  curation system.  There are a couple of PRs to look at, if anyone is interested.  Terry has commented on one.
Thanks to a wet weekend when I couldn't do yard work....

Tim Donohue [3:10 PM]
Aha, yes, I see those now.  Are these PRs connected in any way (does one depend on other)?

Mark Wood [3:11 PM]
They are mostly independent.  One line will have to be fixed in one when the other is merged.

Tim Donohue [3:11 PM]
Also, it might be good to note how to test these (tips/hints).  I'm assuming it'll be semi-obvious on reviewing code, but it always helps testers to know exactly what to do.

Mark Wood [3:12 PM]
I'll see what I can add, on that.  There are automated tests included.

Tim Donohue [3:13 PM]
RE: PR#2181 , do we actually have any curation tasks that are updated to *use* properties, or is this just establishing the code to allow (future) tasks to use properties?

Mark Wood [3:13 PM]
I'll do a little manual testing of the workflow-linked task reporting, since that one's really hard to automate.

Tim Donohue [3:13 PM]
https://github.com/DSpace/DSpace/pull/2181

Mark Wood [3:14 PM]
Task properties are a nice idea that never really got taken up.  I don't recall whether any stock tasks use them.  There is a test task included in the patch, which does.

Tim Donohue [3:15 PM]
err..by "properties", I guess I mean "parameters"....  Is there a way to test this using existing curation tasks, and simply pass it new parameters (to see behavior change)?
Documentation could clear this up a bit more.

Mark Wood [3:16 PM]
I just did a quick grep through org.dspace.ctask.general and didn't find any use of properties, alas.
Yes, I should work over the curation documentation.  For one thing, it's *all* under developer stuff in the Official Doco.  It should be split into development and use.

Tim Donohue [3:18 PM]
I'm not sure if I have my lingo mixed up here, or if we're talking about two different things.  I guess I'm asking for more docs on what this feature "adds".  Does `-p` option mean you can override configuration settings? Does it only add to configuration settings?  Is it only usable if a curation tasks specifically "looks for" params?
I'm just trying to understand this new feature -- it sounds interesting, but there's no info in the PR or ticket on what `-p` is (edited)

Mark Wood [3:20 PM]
From a task's point of view, there are only task properties.  From the user's point of view, there are properties (which are set in the DSpace configuration) and run parameters (which are set by -p).  Curator effectively merges the two groups.
Good point, I'll explain more thoroughly in the PR.

Tim Donohue [3:20 PM]
Which one "wins" if you have a configuration & run parameter of the same name?
Thanks, yes, I think a PR explanation (even just a few examples or sentences) would make this a lot clearer

Mark Wood [3:21 PM]
Run parameters are consulted first, so they override configured properties.

DSpaceSlackBot (IRC) APP [3:21 PM]
*karias* has quit the IRC channel

Mark Wood [3:21 PM]
None of this makes any difference to a task that doesn't ask its Curator for property values.
That's unchanged from before.

Tim Donohue [3:22 PM]
Ok, makes sense. I'm just trying to figure out how to help get this tested...and how to better document it.  So, it sounds like adding an explanation of this feature to the PR would be nice...any testing hints/tips would be nice.

Mark Wood [3:23 PM]
My understanding is that task properties were introduced to make it possible for a given CurationTask class to run differently when invoked under different names.  Run parameters just piggyback on this.
I will update the PR.
(There's a mapping from fully qualified class names to short "taskIDs" in dspace.cfg, so you can map multiple names to one class.)

Tim Donohue [3:25 PM]
FWIW, there is an example of using Task Properties for "thumbnail settings" in the official documentation: https://wiki.duraspace.org/display/DSDOC6x/Curation+System#CurationSystem-TaskProperties

Not sure if that's helpful in documenting or testing this feature, but it may be

Mark Wood [3:26 PM]
OK, thanks.

Tim Donohue [3:26 PM]
Thanks though...glad to see these moving along.  I'll also try to take a closer look at the code here when I get a chance

Mark Wood [3:26 PM]
Appreciated.
There is some discussion in the other PR about just which part of curation controls the reporting.

Tim Donohue [3:27 PM]
I honestly don't have anything else to discuss today...and it seems to be just two of us. Shall we close up the meeting?  Or did you have other things you wanted feedback on?

Mark Wood [3:27 PM]
That's all I have right now.

Tim Donohue [3:28 PM]
I hadn't looked at the other PR (2180) either yet...but will try to do so soon. (edited)

Mark Wood [3:28 PM]
Thanks!

Tim Donohue [3:28 PM]
Ok, let's close up the meeting & leave it to a quick ~30 mins.  Have a good rest of your day!

Mark Wood [3:29 PM]
Good day!