Date: Thu, 28 Mar 2024 13:42:39 -0400 (EDT)
Message-ID: <1550933194.28490.1711647759160@lyrasis1-roc-mp1>
Subject: Exported From Confluence
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_Part_28489_692253200.1711647759160"
------=_Part_28489_692253200.1711647759160
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Content-Location: file:///C:/exported.html
2016-06-13 - Open Repositories Tech Meeting
2016-06-13 - Open Repositories Tech Meeting
What/Wh=
en
Open Repositories Fedora committers/tech-folk meeting:
Monday, 13/Jun/2016:
Remote access
Th=
ose Who Expect to Attend
Agenda topic=
s
- Introductions (all)=20
- What is your current Fedora status?
- If you are not on F4, what are your migration/installation plans? What =
are your barriers?
- Clarify distinction between NonRdfSource and its Description as one rep=
ository resource or two LDP resources=20
- Example, what are the implications of event messaging from actions on e=
ither "resource"?
- Fedora API Specific=
ation
- Seeking initial agreement, followed by alignment of implementation to s=
pecification
- ModeShape5, backend databases, and mig=
rations
- Atomicity in the Java kernel API
- Which methods on services and resource types are atomic and / or synchr=
onous? This is going to matter to reimplementations that reuse the Java ker=
nel API.)
- Local implementations and/or implementation ideas, issues? priorities? =
(open forum)=20
- ...
- <add topic here>
Minutes
API Spec=
ification
- Acceptance process. Should we finish CRUD, as others depend on it=
?=20
- Not ready for acceptance process yet. Get CRUD and versioning to =
shape where acceptance can begin
Versioning
- When looking at a version that is a version of an original, is there a =
link to the original version? Yes
- Most important thing is that a client understands if it a versioned res=
ource or nor
- In the current implementation, if you look at a versioned resources, al=
l links are to the snapshot version=20
- Can be crawled by an LDP client that has no awareness of versioning mec=
hanism
- Links to resources in the version snapshot tree will be this way
- Links to resources outside the versioned snapshot tree=
are to non-snapshot URI=20
- So a client that is LDP-only client that is unaware of versioning seman=
tics can escape the snapshot tree and not be aware of it
- The most consistent approach would be to link to canonical (current ver=
sion URIs) always, have memento-aware client look for versions.=20
- Could implement this using JCR in place currently
- Representation of versioned resources and snapshots would be different<=
/li>
- Esme: I thought there was some way to set versioning policy=20
- Mike: That was thrown out a year ago
- 7.2.2 is the default behavior in Fedora right now
- 7.3.3 would be the least challenging to implement right now
- Andrew: How important are versioning to people right now
- Diego: We need them right now, everything is incremental
- Sometimes versions can be in application logic, leave it as a separate =
concern from the repository. May be dubious value to rely on reposito=
ry versioning
- Different applications are going to have different notions of versionin=
g. Some use cases may consider different versions to be different res=
ources entirely.
- Definitely some strong use cases for versioning as it is currently impl=
emented now (and proposed in the spec),
- "I need the ontology (resource in the repository) that matches its stat=
e at X time in history"
- If one deletes the original version of a versioned resource, what happe=
ns to the version history?
- Currently, If you version binary directly and delete it, you'll delete =
all versions. If you if you have a binary in a container and version =
the container, deleting the binary will not delete the link to the binary f=
or versions of the binary that are linked by versions of the container (som=
ebody please fact check and/or state this)
Batch Atomic<=
/h3>
- Basic idea is to start a transaction, perform requests, COMMIT or rollb=
ack. There had been some talk about timeouts
- Use case for "timeout all transactions" e.g. scheduling a reboot=
=20
- One idea: Just say "Implementation may choose to cancel transacti=
ons for any reason" in spec, don't specify how to do it
- Use case - ability checkpointing/continuations. Complex process i=
n atomic batch. Would like to define incremental points that can be r=
olled back and continued.
- Continuations/checkpointing is probably a concern not for the core
- Dan: At a general level, maybe batch atomic should not be a core =
concern of the repository at all. Definitely have use case for "every=
thing, or nothing",
- Adam: Probably should be in core, because broader Fedora communit=
y has asked for it and paid for it
Authorizati=
on
- Assumption is that requests are pre-authenticated, Fedora is enforcing =
authorization=20
- Resource points to policy "I'm protected by this". Policy points =
to resource or class of resources that are protected by it.
- Mike Lynch couldn't figure out how to pass user attributes to Fedora in=
order to enact policy=20
- user principal, on-behalf-of header should be in request, it's con=
figurable (but needs to be defined at build time). The task is for so=
mething to populate these headers.
- In an unreleased version, users can be strings or URIs. It will b=
e in 4.6.
Fixity Che=
cking
- On ingest, or on-demand via REST request. Can store fixity events=
in repository.
- How does it extend to other checksum algorithms? =20
- SHA-1 supported because we get it "for free"
- How do we specify how to specify a checksum?=20
- Ingest- a header. On-demand, in POST
- For huge files (video files) there is no spec for finer-grained checksu=
ms
- In the EU, checksums and signatures are indicated in an XML format, che=
cked by external tools. Not sure if it's XML signature spec per se, b=
ut it's expressed in XML. The tool is called Checklex: https://checklex.publications.europa.eu/faces/AboutCheckLex.xhtml;jses=
sionid=3D1757FE945F9B55308A09C3E05723171D?lang=3Den (specs available un=
der request)=20
- Will/should fixity generate events picked up by audit?
- Use case: Fixity against entire collections (trees of resources)
- Is there a method of fixity checking for external sources. Is the=
re a standard, e.g. like s3 buckets, swift?
- Not aware of a standard, but maybe s3, swift indicate a defacto standar=
d?
- Can we say in the spec that we expect an external application to includ=
e a certain header?
- Are external resources in the spec at all?
- There is a note, this will make it into the spec at some point
- Storing fixity of such resources seems to be reasonable for Fedora to d=
o=20
- Some desire just to defer to external system
- .. but repository can't/shouldn't necessarily trust these external sour=
ces.
- Maybe it's possible to have user specify checksum when creating externa=
l resource, or have repository pull in the external source's notion of fixi=
ty.
- In a clustered scenario, do we consider fixity to be a consensus?=20
- Self-healing needs to be hidden, or storage needs to be transparent
- There used to be code related to this, there was a pattern
Pro=
jection/Federation
- Core spec "this is what it means to do Fedora". We got federation=
"for free" from Modeshape, but it it's an implementation detail=20
- Recognized that projection is not a core capability, but will be extrac=
ted from core code base, made into an optional feature that depends on the =
modeshape impl of Fedora.
- It has been an intriguing, but mysterious feature. Not clear to u=
sers if they can/should use it
- Mike: It was too good to be true, but never really worked. =
For example, you could not create links from federated resources; federatio=
n breaks if two files share the same checksum=20
- Will document the issues, since people seem interested
------=_Part_28489_692253200.1711647759160--