Log of the #duraspace-ff channel on chat.freenode.net

Using timezone: Eastern Standard Time
* nbanks joins00:38
* kaarefc joins00:56
* kaarefc leaves00:59
<bljenkins>Project fcrepo-kitchen-sink build #252: FAILURE in 7 hr 20 min: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/252/01:15
Yippie, build fixed!01:25
Project fcrepo-kitchen-sink build #253: FIXED in 9 min 35 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/253/
* kaarefc joins02:06
* kaarefc leaves02:49
* kaarefc joins03:01
* fasseg joins04:48
* github-ff joins05:36
[fcrepo4] fasseg created tx-sessions (+1 new commit): http://git.io/IYMw_w
fcrepo4/tx-sessions e0b8d34 fasseg: added skeleton and unit tests for transaction api
* github-ff leaves
<fasseg>cbeer, eddies: shall I persist transactions as a JCR node or use some kind of distributed hashmap like hazelcast on the cost of an additional dependency, in order to make Transactions object available on all nodes05:38
?
atm im just using a static concurrenthashmap (=1 node only)05:39
<eddies>fasseg: i don't know. i guess i would need you to help me understand what the consequences are of either choice05:49
<fasseg>In my mind JCR nodes would be a bit slowe, but readily available w/o any further configuration work. a Distributed hashmap woul dbe faster but involve more work....but I guess for a strawman impl I'll take the easy way: jcr nodes05:51
<bljenkins>Project fcrepo-kitchen-sink build #254: SUCCESS in 6 min 31 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/254/06:07
* github-ff joins06:27
[fcrepo4] fasseg pushed 1 new commit to tx-sessions: http://git.io/E2BqPA
fcrepo4/tx-sessions 09c942c fasseg: added tx integration test skeleton
* github-ff leaves
* github-ff joins06:48
[fcrepo4] fasseg pushed 1 new commit to tx-sessions: http://git.io/ku5rnw
fcrepo4/tx-sessions 5558e04 fasseg: using jackson's Objectmapper in the integration tests
* github-ff leaves
* github-ff joins06:50
[fcrepo4] fasseg pushed 1 new commit to tx-sessions: http://git.io/IBaPSg
fcrepo4/tx-sessions c8aad59 fasseg: little cleanup
* github-ff leaves
<bljenkins>Project fcrepo-kitchen-sink build #255: SUCCESS in 7 min 30 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/255/06:55
* github-ff joins07:11
[fcrepo4] fasseg pushed 1 new commit to tx-sessions: http://git.io/64gkgg
fcrepo4/tx-sessions f95b2ff fasseg: added simple create object method within tx bounds
* github-ff leaves
* github-ff joins07:14
[fcrepo4] fasseg pushed 1 new commit to tx-sessions: http://git.io/3INRwA
fcrepo4/tx-sessions 760cae5 fasseg: changed state to DIRTY when an object is created in tx bounds
* github-ff leaves
* nbanks_ joins07:22
* nbanks leaves07:24
* eddies leaves07:36
* nbanks joins07:50
* nbanks_ leaves07:51
<bljenkins>Project fcrepo4 build #548: UNSTABLE in 31 min: http://ci.projectblacklight.org/jenkins/job/fcrepo4/548/08:05
* nbanks_ joins08:10
* nbanks leaves08:12
* kaarefc leaves09:04
* ajs6f joins09:14
* awoods_ joins09:16
<pivotal-bot>A. "Bupholutac" Soroka started "Inject authenticated sessions into the JAX-RS resources" https://www.pivotaltracker.com/story/show/4920564909:30
* ajs6f leaves09:31
* kaarefc joins09:32
* ajs6f joins09:34
<cbeer>fasseg: "in order to make Transactions object available on all nodes"09:44
fasseg: my understanding was modeshape took care of that for you
is that not the case?
oh, or do you mean the key => session map?
<fasseg>not if were just wrapping a Session ourselves... and expose them to the user as a json object09:45
yes..
atm i created a Transaction object which wraps a Session and therefore is kind of the key...
<cbeer>i vote JCR. if that turns out to be too heavy weight, we can fall back to ISPN09:46
<fasseg>i think adam was very strongly opposed to XA Transactions, and after the last time I tried that i have to agree that they are not easy to handle
* kaarefc leaves09:47
* kaarefc joins09:48
* kaarefc leaves10:04
* github-ff joins10:10
[fcrepo4] ajs6f pushed 1 new commit to master: http://git.io/2wmqeg
fcrepo4/master 6342cee ajs6f: Cleaning unused imports
* github-ff leaves
* kaarefc joins10:12
* kaarefc leaves10:14
* github-ff joins
[fcrepo4] ajs6f pushed 1 new commit to master: http://git.io/kwE8PA
fcrepo4/master 89f3a22 ajs6f: Small code cleanups
* github-ff leaves
* github-ff joins
[fcrepo4] ajs6f pushed 1 new commit to master: http://git.io/kwE8PA
fcrepo4/master 89f3a22 ajs6f: Small code cleanups
* github-ff leaves
<ajs6f>It seems to me that XA is the wrong tool for the job at the moment. It's meant to provide transactions incorporating several different resources. We really only have one: the JCR.10:16
<pivotal-bot>A. "Bupholutac" Soroka finished "Propose a straw-man relationship management API" https://www.pivotaltracker.com/story/show/4906084510:24
* github-ff joins10:31
[fcrepo4] ajs6f pushed 1 new commit to master: http://git.io/2lGYwA
fcrepo4/master d14cb8a ajs6f: More minor cleanup
* github-ff leaves
* travis-ci joins
[travis-ci] futures/fcrepo4#481 (master - 6342cee : ajs6f): The build passed.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/5c4bfe230ff9...6342cee8a626
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/6990647
* travis-ci leaves
* github-ff joins10:32
[fcrepo4] cbeer pushed 1 new commit to master: http://git.io/hN1r8w
fcrepo4/master 87ab40a Chris Beer: make sure creating objects with fcr:new creates the object at the right path level.
* github-ff leaves
* travis-ci joins10:33
[travis-ci] futures/fcrepo4#482 (master - 89f3a22 : ajs6f): The build passed.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/6342cee8a626...89f3a2234db6
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/6990842
* travis-ci leaves
* eddies joins10:36
* eddies leaves
* eddies joins
<bljenkins>Yippie, build fixed!10:40
Project fcrepo4 build #549: FIXED in 29 min: http://ci.projectblacklight.org/jenkins/job/fcrepo4/549/
A. Soroka: Cleaning unused imports
* travis-ci joins10:53
[travis-ci] futures/fcrepo4#483 (master - d14cb8a : ajs6f): The build passed.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/89f3a2234db6...d14cb8ab9b2d
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/6991261
* travis-ci leaves
<pivotal-bot>Chris Beer started "Figure out ISPN low level cache entries" https://www.pivotaltracker.com/story/show/4942688511:00
* barmintor joins11:01
I'm fumbling around trying to get my mic setup- I changed desks yesterday.
<eddies>barmintor: are you joining us on standup today?
ok
<barmintor>but am trying to get on standup.11:02
<ajs6f>https://www.pivotaltracker.com/story/show/49205649
<pivotal-bot>feature: Inject authenticated sessions into the JAX-RS resources (started) / owner: A. "Bupholutac" Soroka
* travis-ci joins11:03
[travis-ci] futures/fcrepo4#484 (master - 87ab40a : Chris Beer): The build passed.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/d14cb8ab9b2d...87ab40a4b266
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/6991323
* travis-ci leaves
<cbeer>https://www.pivotaltracker.com/story/show/4901238911:04
<pivotal-bot>feature: Ensure REST API supports workspace identifier prefixes by adding tests (started) / owner: Nigel Banks
<cbeer>for my sanity: https://github.com/futures/fcrepo4/pull/56/files11:09
* github-ff joins
[fcrepo4] cbeer opened pull request #56: Tx sessions (master...tx-sessions) http://git.io/VjklFA
* github-ff leaves
<cbeer>https://github.com/futures/fcrepo4/pull/56/files#L0L-1
* eddies leaves11:11
* eddies joins11:12
* eddies leaves
* eddies joins
<cbeer>aawoods: i think FedoraNodes might be a good candidate as well.. at least as a place to expose last-modified data in a standard way11:15
https://github.com/futures/fcrepo4/pull/54#discussion_r413469711:18
<pivotal-bot>Edwin Shin added comment: "https://github.com/futures/fcrepo4/pull/54" https://www.pivotaltracker.com/story/show/4941946511:19
<cbeer>barmintor: maybe i'll revert the fcr:graph stuff and add a failing test for you..11:23
once i figure out what's going on in this mock...11:24
<barmintor>cbeer: but fcr:graph is supposed to also be in the api, yes?11:26
<cbeer>barmintor: is it?
<barmintor>IE, either the Accept header *or* fcr:graph gets you the graph?
ajs6f ^^
<cbeer>hm. i thought we walked that back to just the Accept header
<barmintor>that's how I read the spec page, but w/e
<ajs6f>I didn't know we chose just the Accept header. How will we return other RDF formats that don't have their own MIMEtypes?11:27
(I dont really care, just want to keep our flexibility.)
<cbeer>ajs6f: i think most of them do.. or do now11:28
i saw they were revising the n-triples spec (?) to stop using text/plain
<ajs6f>Oh, okay.
As I say, I don't care— happy to take fcr:graph out.11:29
<barmintor>Well, let's calm down
<cbeer>https://www.pivotaltracker.com/story/show/4935152911:33
<pivotal-bot>chore: run transactions idea by rhauch (accepted) / owner: Chris Beer11:34
<cbeer>barmintor: this is disgusting: https://github.com/futures/fcrepo4/blob/master/fcrepo-kernel/src/test/java/org/fcrepo/services/LowLevelStorageServiceTest.java#L27111:41
<barmintor>cbeer: I hear writing unit tests can encourage you to refactor...11:42
<cbeer>:)
<barmintor>(yes, it's totally disgusting)
It would be pretty easy to calve some of that stuff off into independently testable static methods
I think it would, anyway. Famous last words.11:43
<cbeer>bleh.11:47
or, i guess, if we move the runFixityAndFixProblems method into its own service11:48
then we can mock the lowlevelstorageservice methods
although i guess all those getLowLevelStorageEntries methods could be static anyway11:49
<fasseg>see you guys on monday!
* fasseg leaves
<cbeer>ah, i get what went wrong.. i'll just add some more mocks!11:51
* kaarefc joins11:52
<pivotal-bot>Chris Beer added "Refactor runFixityAndFixProblems to be testable/less of a disaster." https://www.pivotaltracker.com/story/show/4951555311:53
<nbanks>see ya11:56
<pivotal-bot>Chris Beer added "Make fixity aware of in memory values" https://www.pivotaltracker.com/story/show/4951595111:57
<cbeer>bleh.12:10
ok, about to make this commit (once the tests run..) and then i'll switch over to the graph stuff12:11
i think we agreed to merge it as-is and fix it from there
so i'll do the merge and then put the branch in the state we want it, but with broken tests12:12
* github-ff joins12:17
[fcrepo4] cbeer pushed 1 new commit to master: http://git.io/s2KmzA
fcrepo4/master 8a49bd6 Chris Beer: exclude ISPN cache stores that don't contain our key..
* github-ff leaves
<cbeer>barmintor++ # good post to ff-tech. better than what i was trying to write12:19
<barmintor>thanks!12:20
<cbeer>it seemed strange to make such major changes without some outrage.12:21
<nbanks>Does anyone have an example of what they think the workspace prefixed urls should look like>12:31
<cbeer>./rest/ws:my-workspace/objects/path/to/an/object/12:36
* github-ff joins12:38
[fcrepo4] cbeer pushed 2 new commits to master: http://git.io/l1aLbQ
fcrepo4/master 3334645 Chris Beer: poke object graph through the REST API
fcrepo4/master 4277229 Chris Beer: use the default min binary size.
* github-ff leaves
<nbanks>cool
thanks
<ajs6f>This is more interesting that I thought. Changing the injected Session from parameter injection to filed injection has thrown me head-first into Spring scopes. It's seems that most or all of our JAX-RS resources have been running as singletons, but in order to use field injection, they will have to become request-scoped.12:40
<barmintor>ajs6f: If that's the case, how does Context injection work?12:44
like uriInfo, or servletRequest?
<ajs6f>That is a very good question.
<barmintor>are the values of the @Produces supposed to be a subset of the MediaType variants?12:59
I'm assuming this owes to the thing about missing content types ajs6f and cbeer were discussing.13:00
<ajs6f>Missing content types?
<barmintor>something about text/plain13:01
* travis-ci joins13:02
[travis-ci] futures/fcrepo4#486 (master - 8a49bd6 : Chris Beer): The build passed.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/87ab40a4b266...8a49bd67ae41
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/6994235
* travis-ci leaves
<cbeer>barmintor: ok, now i'm really confused. i was trying to get things back into a broken state for you13:03
and it looks like the tests are passing
<barmintor>hurray!13:04
<cbeer>so maybe i was smarter this time or sometyhing
i guess it's possible order matters somehow
* barmintor shifts uncomfortably13:05
<cbeer>if the tests pass, ship it!
right. and when i merge into master, it fails.13:07
awesome
* github-ff joins13:09
[fcrepo4] cbeer created rdf-all-the-things-fixme (+1 new commit): http://git.io/I4dUVQ
fcrepo4/rdf-all-the-things-fixme 23c53a4 Chris Beer: merge fcr:graph back into the FedoraNodes
* github-ff leaves
<cbeer>barmintor: so, that's broken in the way i expected it to be before13:10
e.g. https://gist.github.com/cbeer/a0af69359b47e55cd66d
<ajs6f>cbeer: DId you ever see this:13:11
https://gist.github.com/ajs6f/5541941
while pulling the serialization stuff into core?
I'm getting it now, for some reason...
<cbeer>new to me13:12
<ajs6f>{sigh}
<cbeer>i guess i could add the right accept headers on those tests13:13
and ignore the proble
* travis-ci joins13:16
[travis-ci] futures/fcrepo4#487 (master - 4277229 : Chris Beer): The build passed.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/8a49bd67ae41...4277229c0b8a
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/6994697
* travis-ci leaves
* github-ff joins13:22
[fcrepo4] ajs6f created 49205649 (+1 new commit): http://git.io/5PMokQ
fcrepo4/49205649 76574a7 ajs6f: Changed FedoraChildren to use injected Session
* github-ff leaves
<pivotal-bot>Chris Beer finished "Figure out ISPN low level cache entries" https://www.pivotaltracker.com/story/show/4942688513:38
* github-ff joins
[fcrepo4] cbeer pushed 1 new commit to master: http://git.io/yKtw7A
fcrepo4/master ab10923 Chris Beer: merge fcr:graph back into the FedoraNodes
* github-ff leaves
<cbeer>hm: http://pivotalbooster.com/13:41
* ajs6f leaves
* ajs6f joins13:44
<bljenkins>Project fcrepo4 build #553: UNSTABLE in 23 min: http://ci.projectblacklight.org/jenkins/job/fcrepo4/553/13:45
<ajs6f>This just came across Boing Boing:13:49
http://life.time.com/curiosities/bizarre-bikes-built-by-chicagoans-in-the-1940s/#1
I think these guys are the spiritual progenitors of the fcrepo3 codebase.
<bljenkins>Project fcrepo-kitchen-sink build #256: FAILURE in 2 hr 41 min: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/256/13:54
* gregjansen joins13:59
* github-ff joins14:00
[fcrepo4] ajs6f pushed 1 new commit to 49205649: http://git.io/3plaFg
fcrepo4/49205649 e78fca8 ajs6f: Changed FedoraContent to use injected Session
* github-ff leaves
* github-ff joins14:04
[fcrepo4] ajs6f pushed 1 new commit to 49205649: http://git.io/M_yw-A
fcrepo4/49205649 46bdbf9 ajs6f: Changed FedoraDatastreams to use injected Session
* github-ff leaves
* github-ff joins14:07
[fcrepo4] ajs6f pushed 1 new commit to 49205649: http://git.io/YpeykQ
fcrepo4/49205649 de54a45 ajs6f: Changed FedoraExport to use injected Session
* github-ff leaves
* github-ff joins14:09
[fcrepo4] ajs6f pushed 1 new commit to 49205649: http://git.io/RLUMsw
fcrepo4/49205649 3101b9f ajs6f: Changed FedoraFieldSearch to use injected Session
* github-ff leaves
* github-ff joins14:11
[fcrepo4] ajs6f pushed 1 new commit to 49205649: http://git.io/FvNh1w
fcrepo4/49205649 2302412 ajs6f: Changed FedoraFixity to use injected Session
* github-ff leaves
* nbanks leaves14:14
* github-ff joins
[fcrepo4] ajs6f pushed 1 new commit to 49205649: http://git.io/8D95zA
fcrepo4/49205649 bdb8d36 ajs6f: Changed FedoraNamespaces to use injected Session
* github-ff leaves
<bljenkins>Yippie, build fixed!14:23
Project fcrepo4 build #555: FIXED in 20 min: http://ci.projectblacklight.org/jenkins/job/fcrepo4/555/
Yippie, build fixed!14:33
Project fcrepo-kitchen-sink build #257: FIXED in 7 min 16 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/257/
* ajs6f leaves14:35
<cbeer>yeah, i have no idea how jax-rs works.14:37
http://fcrepo4.fcrepo.org/fcrepo/rest/objects is rdf in my browser
even though the browser sends accept: ... application/xml14:38
* ajs6f joins
<cbeer>oh. we don't Provides application/xml
hm
ajs6f: at least until my tests run and it deploys, here's a question for you..14:39
http://fcrepo4.fcrepo.org/fcrepo/rest/objects
so there's some triples
i think the jcr people screwed up minting their namespace:14:40
@prefix jcr: <http://www.jcp.org/jcr/1.0> .
which leaves us with predicates like http://www.jcp.org/jcr/1.0baseVersion
(i don't know why those don't get prefixed either.. probably related?)
i see some people (like stanbol, i think?) use a different namespace for JCR with a trailing slash14:41
* nbanks joins
<cbeer>and IKS uses http://www.jcp.org/jcr/1.0#14:42
<bljenkins>Project fcrepo4 build #556: UNSTABLE in 18 min: http://ci.projectblacklight.org/jenkins/job/fcrepo4/556/
* github-ff joins14:43
[fcrepo4] cbeer pushed 1 new commit to master: http://git.io/dsc-4w
fcrepo4/master e74e96b Chris Beer: add application/xml as an appropriate format for the describe response
* github-ff leaves
<ajs6f>I think we should ask the MODE people.14:45
Might be a simple pull request they ant.
want
<cbeer>ajs6f: it's defined in the JCR spec.
<ajs6f>Well, we can't override it without changing MODE, right?14:46
<cbeer>ajs6f: we could map it at our level.
or we just accept that it sucks and stop caring
it's not like many of those are user-modifiable anyway
<ajs6f>I'd rather not fi their mistake in our code.14:48
<cbeer>no disagreement there.
hm. i wonder if jena could help us14:49
<barmintor>cbeer: probably no coincidence that JCR actually uses the reserved prefix 'jcr', eh?14:56
<cbeer>hm. i was able to change the UUID property of an object15:00
i guess we could/should protect the whole jcr namespace15:01
and fedora:*?
<bljenkins>Yippie, build fixed!15:03
Project fcrepo4 build #557: FIXED in 20 min: http://ci.projectblacklight.org/jenkins/job/fcrepo4/557/
Chris Beer: add application/xml as an appropriate format for the describe response
<cbeer>yes. "fixed".
<ajs6f>Yeah, I can't think of why we would want anyone tinkering with those at run time.15:04
<cbeer>ajs6f: oh, i found a problem in my "we'll just throw an exception" logic.
apparently the interface for these listeners doesn't allow us to throw exceptions15:05
so i guess we'll have to log "problems" and check for them ,huh?
<ajs6f>Which listeners?15:06
<cbeer>https://jena.apache.org/documentation/javadoc/jena/com/hp/hpl/jena/rdf/model/ModelChangedListener.html
<bljenkins>Project fcrepo-kitchen-sink build #258: SUCCESS in 6 min 19 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/258/15:11
* github-ff joins15:12
[fcrepo4] ajs6f pushed 1 new commit to 49205649: http://git.io/UgKtuQ
fcrepo4/49205649 9599ec0 ajs6f: Changed FedoraNodes and FedoraUnnamedObjects to use injected Session
* github-ff leaves
<ajs6f>Oh, this is you trying to validate our subset of allowable RDF updates?
<cbeer>ajs6f: right.
on our call, i claimed we could just throw exceptions. and we can't.15:13
<ajs6f>Urg.
<cbeer>so i'll just track a list of problems and if the list is non-empty after processing, break
i think i've seen modeshape do that too
it has one advantage, at least..
we can validate all the changes
<ajs6f>Yeah. Wrap the "exceptions" in a List<Problem> kind of deal.
<cbeer>not just the first one
<ajs6f>List.notEmpty => blow up!15:14
* github-ff joins15:17
[fcrepo4] ajs6f pushed 1 new commit to 49205649: http://git.io/Cjc0xg
fcrepo4/49205649 0177e1c ajs6f: Changed FedoraRepository to use injected Session
* github-ff leaves
<barmintor>oof. that's going to be a big rebase15:21
* github-ff joins
[fcrepo4] ajs6f pushed 1 new commit to 49205649: http://git.io/L1H9KA
fcrepo4/49205649 794140a ajs6f: Changed FedoraSitemap to use injected Session
* github-ff leaves
<cbeer>99 problems, but AbstractProblems isn't one.
<ajs6f>What is?15:24
* travis-ci joins
[travis-ci] futures/fcrepo4#489 (master - e74e96b : Chris Beer): The build passed.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/ab10923ecfa3...e74e96b61944
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/6998433
* travis-ci leaves
<barmintor>cbeer: Should I still be working on that RDF thing?
<cbeer>barmintor: i think i've got it working well enough now
<barmintor>oh. ok.
<cbeer>it seems super fragile
but the next person to break it can fix it :)15:25
<barmintor>cbeer: so that stuff is in master now?
<cbeer>yes
* github-ff joins15:31
[fcrepo4] ajs6f pushed 1 new commit to 49205649: http://git.io/K2uJJQ
fcrepo4/49205649 56cc303 ajs6f: Changed FedoraVersions to use injected Session
* github-ff leaves
<cbeer>aw, boo. Problems#writeTo only takes the modeshape logger
<ajs6f>We can do a simple List<Exception>.
Or maybe it would just be easier to throw RuntimeException and catch it in the JAX-RS.15:32
You can wrap a semantically-meaningful exception in RuntimeException and unpack it to report.15:33
<pivotal-bot>A. "Bupholutac" Soroka added comment: "https://github.com/futures/fcrepo4/commit/56cc30328f242cac181c2c768c450ef27954262f" https://www.pivotaltracker.com/story/show/49205649
A. "Bupholutac" Soroka added comment: "https://github.com/futures/fcrepo4/branches/49205649" https://www.pivotaltracker.com/story/show/4920564915:34
* nbanks leaves
<barmintor>cbeer: was the ordering issue you observed that the first method defined always picked up the request if there was no matching Accept header?
* nbanks joins15:35
* bljenkins leaves15:39
* bljenkins joins15:40
<cbeer>barmintor: no, i couldn't tell how they were picked up. it didn't seem consistent across builds.15:42
<barmintor>cbeer: just wondering if adding the wildcard type to the non-rdf describe would fix it. About t try it out.
<ajs6f>It's supposed to be deterministic. A JAX-RS impl is supposed to throw an exception if it can't determine a unique method to fulfill a request.
(Not using ordering)
* barmintor shrugs15:43
<cbeer>ok. you should be able to remove any of those accept headers and if it still works, i guess you fixed it
<ajs6f>Shrugging is a non-deterministic behavior.
* barmintor shrugs
cbeer: I think I'm going to try just adding it- "Accept: */*" is a legit header value (and apparenty what is assumed if you don't specify a @Produces annotation)15:45
<cbeer>is 403 a good error code for trying to change properties we don't want you to change?15:46
<barmintor>"Accept: text/plain;q=0.9, text/html"
<ajs6f>Yes.
In fact, what else might we use?
<barmintor>That seems like exactly what 403 should be for
<cbeer>good.15:47
<barmintor>"Authorization will not help"
Fedora 4!
<cbeer>it might be a 5xx error. sure, what you told us makes sense, but we're not interested in supporting it.15:48
<barmintor>I prefer to use 5xx for saying "Shit. We didn't expect whatever just happened. It's not you! It's me."15:49
Or we could return 601: How does it feel when it happens to YOU?15:50
<cbeer>500 - developer couldn't be bothered to come up with a better response15:51
<ajs6f>Unsupported op isn't a 500, is it? I thought there was something more specific for that...15:52
<barmintor>501 is not implemented15:53
<ajs6f>There ya go. BUt we want "Not implemented, and we're not going to, so don't waste our time."
<barmintor>405 is method not allowed, but that's fot HTTP methods
"The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated."15:54
slam dunk.
<ajs6f>That's for 405?15:55
<barmintor>403
<ajs6f>Perfect.
"Your puny, feeble authorization is of no use to you here."
<barmintor>I do love that part.
<ajs6f>"Fedora does not care about your so-called authorization!"
Can we accompany that with an audible sneer somehow?15:56
<barmintor>surely you can send an entity back with a 40315:57
<cbeer>yes
<ajs6f>How about: http://nonstopkarate.files.wordpress.com/2011/06/dick-cheyneys-sneer.jpg?w=788
* jonathangee leaves16:00
* nbanks leaves
<pivotal-bot>Chris Beer added "i18n-ify our error strings" https://www.pivotaltracker.com/story/show/4953607516:02
<ajs6f>Using the Modeshape gear, or something more widely used?16:03
<cbeer>i don't know. i see modeshape doing it
and it seems pretty straightforward
yeah, looks like modeshape gear
<bljenkins>Project fcrepo4 build #560: UNSTABLE in 15 min: http://ci.projectblacklight.org/jenkins/job/fcrepo4/560/
<ajs6f>Yeah. But I'm pretty sure there's an Apache library that's more widely used. And some of the Modeshape API is kind of weird-looking to me, at first glance.16:04
Let me see if I can find the Apache library I'm thining of, or
maybe I'm remembering something that doesn't exist.
Never mind:16:05
http://commons.apache.org/sandbox/commons-i18n/
It never made it out of snadox.
sandbox
* github-ff joins
[fcrepo4] cbeer pushed 1 new commit to master: http://git.io/Dc2fUA
fcrepo4/master 25751d4 Chris Beer: protect our jcr: and fedora: properties from modification via sparql-update
* github-ff leaves
<cbeer>ok, so. that's properties.16:07
i guess we need to inject some of the implicit properties next
<ajs6f>Like size and checksum?
<cbeer>i think those are properties already16:08
i was thinking datastream membership
<ajs6f>Structural stuff?
<cbeer>yeah
i'm not sure what else falls in that bucket
<ajs6f>Those are properties too, I think , in some kind of system workspace.
But I don't think we want to go fooling with that.
<pivotal-bot>Chris Beer finished "Implement fcr:graph management API " https://www.pivotaltracker.com/story/show/49419465
<cbeer>yeah
i think we can just expose them through our graph
and parse them back out the same way16:09
<ajs6f>Do you want to put a link for every child? For some nodes, that could be really expensive at serialiation.
<cbeer>at least a link for where to get the children
HATEAOS style
and for datastreams, we can do fcr:content easily enough16:10
<ajs6f>You mean a link to the content.
?
<cbeer>yes16:12
<ajs6f>Right on.
<cbeer>hm. and we are storing the checksum info in a property... but it's on the content node16:13
<ajs6f>COntent nodes probably should not get their own descriptions, to my mind. So maybe promote it?16:15
* kaarefc leaves16:16
<pivotal-bot>Chris Beer added comment: "We weren't checking to make sure an ISPN cache loader contained our binary.. we just assumed it would." https://www.pivotaltracker.com/story/show/4942688516:17
Chris Beer accepted "Figure out ISPN low level cache entries" https://www.pivotaltracker.com/story/show/49426885
Chris Beer added "Figure out how to handle low-level cache entries in a distributed scenario (where our cache loader may not have all th..." https://www.pivotaltracker.com/story/show/4953735116:18
<bljenkins>Yippie, build fixed!16:24
Project fcrepo4 build #561: FIXED in 18 min: http://ci.projectblacklight.org/jenkins/job/fcrepo4/561/
Chris Beer: protect our jcr: and fedora: properties from modification via sparql-update
* travis-ci joins16:25
[travis-ci] futures/fcrepo4#490 (master - 25751d4 : Chris Beer): The build passed.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/e74e96b61944...25751d4d1090
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/7000521
* travis-ci leaves
<bljenkins>Project fcrepo-kitchen-sink build #259: SUCCESS in 9 min 44 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/259/16:35
* nbanks joins16:38
* gregjansen leaves16:40
* nbanks leaves16:49
* ajs6f leaves17:02
<barmintor>cbeer: I'm having your problem: null values. I think this is Jersey adhering to the spec in one sense that's really a bug17:54
http://jsr311.java.net/nonav/releases/1.1/spec/spec3.html#x3-360003.7.217:55
"a method that explicitly consumes the request media type or produces one of the requested media types is sorted before a method that consumes or produces */*."
which I think Jersey thinks means: "If it produces wildcard, put it at the bottom of the list even if nothing matches"17:56
so if I hack a @GET defaultDescribe that only @Produces("*/*")
and have it call describe
things seem to work17:57
cbeer: I hope that makes sense.
<cbeer>barmintor: sure.. doesn't explain why null values would match one and not the other19:40
* github-ff joins20:57
[fcrepo4] cbeer pushed 1 new commit to master: http://git.io/4iZjIw
fcrepo4/master 9f132e0 Chris Beer: fix up http response codes to match spec
* github-ff leaves
<bljenkins>Project fcrepo-kitchen-sink build #260: SUCCESS in 8 min 42 sec: http://ci.projectblacklight.org/jenkins/job/fcrepo-kitchen-sink/260/21:41
* travis-ci joins21:48
[travis-ci] futures/fcrepo4#491 (master - 9f132e0 : Chris Beer): The build has errored.
[travis-ci] Change view : https://github.com/futures/fcrepo4/compare/25751d4d1090...9f132e0c447e
[travis-ci] Build details : http://travis-ci.org/futures/fcrepo4/builds/7007226
* travis-ci leaves