Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This meeting is a hybrid teleconference and IRC slack chat. Anyone is welcome to join...here's the info:

Attendees

...

Agenda

  1. Sign up for Sprint 2 on the  API Alignment Sprint pagethe upcoming Alignment Sprint
  2. Review Ben Pennell's exposition of options for implementing mementos of binaries and their descriptions
  3. Documentation mini sprint
    1. Who is interested? 
    2. Timeframe
    3. Objective
    4. Next steps
    Review Ben Pennell's documentation of options for Binary Memento Creation
  4. Low hanging tickets that could be worked in a "pre"Pre-sprint"  work that can be done
    1. Reading work? 
    2. Low-hanging JIRA tickets:
      1. ?
  5. Shall we consider using Duraspace checkstyle rules?
    1. Checkstyle Analysis
    2. Repo
    3. There are three rules in the fedora checkstyle rules that are not in the Duraspace checkstyle rules: 
      1. requiring @author in javadoc
      2. "final" required for parameter variables
      3. "final" required for local variables

Sprint tickets 

Jira
serverDuraSpace JIRA
jqlQueryfilter=14401
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5

...

  1. Please squash a bug!

    Expand

    Jira
    serverDuraSpace JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    maximumIssues20
    jqlQueryfilter=13122
    serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5


  2. Tickets resolved this week:

    Expand

    Jira
    serverDuraSpace JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    maximumIssues20
    jqlQueryfilter=13111
    serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5


  3. Tickets created this week:

    Expand

    Jira
    serverDuraSpace JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    maximumIssues20
    jqlQueryfilter=13029
    serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5


Minutes

  1. Welcome to new Fedora Committer: Peter Eichman
  2. Sign up for Sprint Alignment
    1. Alignment with Specification - 2018 Spring Sprints
  3. Alignment Sprint Retrospective
    1. Issues: https://jira.duraspace.org/issues/?filter=14401
    2. Danny: very productive sprint, lots of issues closed, major milestones
      1. memento functionality mostly implemented
      2. team very engaged, plus lots of contribution from Jared Whiklo even though he wasn't offically on the sprint
    3. Yinlin: one suggestion: would appreciate documentation for command-line usage for creating ACLs
    4. Randall: early in the sprint, some PRs got merged while I was still testing them — maybe we should signal what we are reviewing/testing?
      1. Danny: you can specify the reviewer on the PR or JIRA ticket (including self-assigning), which might help make it clearer who's reviewing what
      2. Ben: we can have multiple reviewers on PRs
      3. Danny: if you're not comfortable merging a PR, you can review/test and request a second pair of eyes
      4. Joe: asking on Slack before merging is another good way to make sure we're all on the same page
    5. Ben: a documentation mini-sprint before the next sprint might be good
    6. Major features and themes for next sprint
      1. DateTime negotiation
      2. ACL append, including possibly moving ACL enforcement out of Modeshape
  4. Moving ACLs out of the modeshape layer.
    1. https://fcrepo.github.io/fcrepo-specification/#append-ldprs
    2. 5.7.3 LDP-NR - Patching Binaries (LDP-NR) - do we plan to support - if so what should it look like?
    3. Ben: seems worth investigating, since it would be a better long-term approach
    4. Danny: Exactly, would make it easier to switch to a non-Modeshape backend
    5. Aaron: There's a mismatch between Mode and WebAC permission modes
    6. Ben: hard to do on a sprint, since a major refactor like that would block other work
    7. Peter: fine with deferring append support to 5.1 release, but want to make sure nobody is waiting for it
    8. Danny: we could work on the other tickets without duplicating effort with ACL append implementation
  5. Binary description mementos
    1. Jira
      serverDuraSpace JIRA
      serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
      keyFCREPO-2709
    2. Ben: with binary mementos, you have both the binary and the description, which would require two updates to modify them
      1. But mementos are supposed to be immutable, so how would you create the binary and the description?
      2. Do we want to make the binary and description mementos separate from each other to avoid this?
    3. Esmé: Could we do a three-step process:
      1. create binary memento (auto-creating description memento)
      2. delete binary description memento
      3. create desired binary description memento
    4. Ben: what would the state be after you deleted the description memento? It could fall back to the current state of the description
      1. Seems like it could work, but also seems like more requests than needed
    5. Danny: This seems it is effectively allowing the binary description to be modified
    6. Jared: Almost any way you do this would allow inconsistent state, unless you separate them
    7. Ben: My PR separates the binary and description mementos, so I think that's feasible, it's really just a matter of deciding how we want them to behave
      1. It would be good to have a wiki page documenting how we want this to work
  6. Feedback on Peter Eichman's writeup on the use of userAgent and groupAgent base URI's and their relationship to WebAC in order to clarify whether or not what if anything needs improvement/clarification/alignment
    1. Danny: looks good to me — other folks can comment on the document
  7. the upcoming Alignment Sprint
  8. Review Ben Pennell's exposition of options for implementing mementos of binaries and their descriptions
    1. Document has been shared on chat and listserv.  Includes ideas from Esme and Ben.  There have been many suggestions on different ways to create and retrieve binary mementos.
    2. What kind of link headers should be provided by Fedora?  Should Fedora determine if a binary and description memento are related?
    3. Three possible implementations noted:
      1. Create mementos one by one.  Two requests would be needed.
      2. Similar to 1. above, except on retrieval Fedora would provide a "described by" link to the original resource instead of attempting negotiation.
      3. A single request would create both a binary and description memento, when importing a historical memento.  The description memento would then effectively be a newly created node.
    4. Historical mementos are primarily for importing from another Fedora, but could also be used to create additional versions from scratch.
    5. Bethany prefers an approach where a single post creates both.  Jared prefers the second approach because it alleviates the server from having to handle negotiation.
    6. The group has previously agreed to replace references between resources with literals.  Should we handle headers the same way?
    7. Possibly, we are stretching the Memento spec.  When requesting a Memento object, how sould we respond in order to still be compliant with LDP?
    8. Deletions
      1. If the canonical object is deleted, the versions are also deleted.  Perhaps split binaries and descriptions into seaprate objects?  Seems not worthwhile.
      2. Should Fedora keep versions of items that have been deleted, so that these could be restored?  Memento is capable of doing so if we desire.  Makes sense in a Disaster Recovery scenario.  To do so, we'd have to move the timemaps out into a separate location in the repo.
      3. Conceptually, is versioning for items only currently in the repo, or all items that have ever been in repo?
    9. Outstanding questions:
      1. Should we have LDP responses for mementos?Does a memento object act as a full LDP object, particularly with respect to headers?
      2. Are the edge things (such as headers) important for our users' workflows?  Should we handle these?
      3. Is versioning for items only currently in the repo, or all items that have ever been in repo?
      4. Should Fedora keep versions of items that have been deleted?
  9. Documentation mini sprint
    1. Issues with documentation on the wiki were noted.  Is the documentation correct and sufficient?
    2. To be discussed in the tech call next week.
  10. "Pre-sprint" work that can be done
    1. It would be helpful to finish work from the last sprint - creating mementos of resources - before the next sprint begins, to avoid questions and merge conflicts in next sprint.  This work is defined in an existing ticket describing the creation of binary mementos.  To aid this process, it would be helpful to make decisions on binary mementos now.
    2. The next sprint will focus on mementos and ACLs.
    3. Peter promised an investigation into moving WebAC from ModeShape to the web layer.

    4. The WebAC tickets fall into a few categories: 
      1. Fixing headers, aligning with WebAC spec.
      2. Dealing with ACL append mode. Tricky / impossible to do at Modeshape layer.
      3. Implementing support for default ACLs. Separate from ACL append issues?
    5. Regarding binary versions, we could use input from the community and Fedora leaders before the next Sprint.  Jared will send an email to Fedora leaders to get input.  David recommends presenting a summary in the email including use cases and benefits, with technical details attached.  Fedora leaders will include input from the Islandora and Samvera communities.
    6. Also worthwhile to obtain feedback from Fedora leaders on the deletion issue (true deletes or keep a copy to be restored), since this is a broad issue regarding expectations of a repository.
    7. All of the above should be discussed at the next sprint planning meeting.
  11. Duraspace checkstyle rules - Danny to bring up next week.James: Texas A&M has been looking at a lot of different platforms, including Hydra/Islandora, existing DSpaceGenerating IIIF manifests, Spotlight exhibits, going into production very soon
  12. Actions