Versions Compared

Key

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

...

  1. Announcements

  2. Sprint 2 Progress
  3. Open questions: 

    1. Shall we stop rejecting PUT requests that only contain SMTs in addition to your chosen triples? (Jared Whiklo )?
      1. Current situation:  to replace non-server managed triples in RDF you must
        1. GET with `-H"Prefer: return=representation; omit=\"http://fedora.info/definitions/v4/repository#ServerManaged\""`  and PUT with  `-H"Prefer: handling=lenient; received=minimal"`
        2. Does the above conflict with https://fcrepo.github.io/fcrepo-specification/#http-put-ldprs
        3. Also seems to make complicated what should be a simple thing for the user to accomplish.
      2. Documentation of SMTs:
        1. https://docs.google.com/document/d/1xmuzYwMn0r3p5Dgch7GX3DACftL-3nr5ImSqt_KpUbk/edit?usp=sharing
      3. Related questions:
        1. What are our SMTs? What is the impact of allowing them to be modified?
        2. What is an acceptable workflow for changing interaction models? Does the presence of a matching rdf:type in the RDF matter?
        3. What is an acceptable workflow for updating the properties of a resource?
        4. What is an acceptable workflow for restoring a version? (either from a memento or from a local export)
    2. Should GET ONLY return SMTs when specifically requested?
      1. Essentially, reverse the current behavior by requiring an "include" header instead of an "omit"
      2. Should PreferContainment header be considered a subset of SMTs i.e. should they be suppressed on omit SMT? (Not relevant if we going to reverse the current behavior?)
    3. Shall we make all resources versionable by default? 
        1. Follow-on question:  Should it be possible to make resources non-versionable?  In other words, are we saying, everything is versionable, period?
        2. Implications:  
          1. Remove DELETE LDPCv
          2. Remove "Enable Versioning" from HTML UI
  4. <your agenda item here>

  5. 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


  6. 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


  7. 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


...


3. Open questions.

  • Properly suppressing Server Managed Triples, how do we deal with ldp:contains.
    • Meta-conversation about what are Fedora's SMTs and the workflow.
    • Updating a properties of a resource requires a special header to GET and to PUT. Do we reverse the behaviour and get back the non-SMTs by default. But you are lacking some of the useful triples (lastModified).
    • We expect that READ is a more common action than write.
    • ldp:contains should be a SMTs, which makes (for Jared) suppressing SMTs by default a less enjoyable process.
    • Having Fedora ignore SMTs included in a PUT does not seem to be a breaking change and could be done post-5.0.0 release.
    • Should be able to update SMTs if you need to.
  • How do you restore a Memento?
    • Currently need to GET a Memento, set Fedora to relaxed mode, then restart and PUT with Prefer: handling=lenient; received=minimal
    • Need to have relaxed mode on a per-request
    • Is this an authZ question? Should only certain people be able to restore versions?
    • What is the result of a restore? Do you get all the previous triples whether they are SMTs or not? That seems to be the consensus.
    • Consensus is to use a new Prefer header to allow per request overwriting the entire resource including any SMTs.
    • Will restoring a Memento result in restoring an older ACL? Consensus is NO, the Memento is separate. The link to the ACL is a static link added by the server and because the resource is not removed/re-added the current ACL will remain.
    • Discussion to occur in Slack
  • Changing interaction models?
    • Currently there is no way to change between interaction models.
    • Currently you can add types in the ldp: namespace, this should not be allowed.
  • Make all resources versionable by default?
    • Yes. Danny to create a JIRA to enable versioning. Also create JIRA to tag code that is used for enabling versioning for future review.
  • Reviewing list of SMTs that Ben created
    • Is the list full and complete?
    • What is the expected behaviour in interacting with SMTs.
    • "Anything that is created by the server" as the rule for SMTs?
    • Anything created by the server, where if they did not exist the interaction would be indetermined.
    • Any triples added to the resource as they are being generated on request. `ldp:contains` and some fixity ones. Also with RDF serialization.
    • Also make sure that on the testing side we ensure the correct behaviour of SMTs.