Log of the #fcrepo channel on chat.freenode.net

Using timezone: Eastern Standard Time
* thomz leaves04:11
* thomz joins04:12
* tpendragon joins04:34
* tpendragon leaves06:36
* coblej joins08:04
* manez joins08:21
* dwilcox joins08:27
* whikloj joins08:51
* dhlamb joins
* thomz leaves08:55
* ajs6f joins09:09
* github-ff joins09:15
[fcrepo-camel-toolbox] whikloj pushed 2 new commits to gh-pages: https://git.io/vibUP
fcrepo-camel-toolbox/gh-pages b4ed68d Aaron Coburn: update released versions
fcrepo-camel-toolbox/gh-pages a858f55 Jared Whiklo: Merge pull request #111 from acoburn/update_doc_version...
* github-ff leaves
* acoburn joins09:19
<ajs6f>whikloj: You know how some Linux distros give their releases funny names, like Audacious Aardvark or whatever?
whikloj: and Mac OS X used to use the names of cats?
<whikloj>ajs6f: yes
<ajs6f>whikloj: Based on the facts that you are release manager and awoods is trapped in a pleasant meeting room in Beltsville, Maryland, I think we should give this release a name.09:20
whikloj: One that will make people giggle every time awoods says it.
<acoburn>ajs6f: do you have a name in mind?
<whikloj>ajs6f: hahaha, and you're recommendation
<ajs6f>whikloj: "Hurricane Andrew"? "Extremicus Rex"?09:21
<whikloj>"Fiery Philistine"
<ajs6f>whikloj: "Flatulant Melon"
"Bobby Sue"09:22
"Frank Speech"
So many choices.09:23
<acoburn>ruebot: did you want to merge this: https://github.com/fcrepo4-exts/fcrepo-java-client/pull/2209:26
<whikloj>ruebot: Can we build that vagrant-base-box now?
* github-ff joins
[fcrepo4-vagrant] whikloj closed pull request #58: Disable fcrepo-camel-toolbox in vagrant (master...fcrepo-2232) https://git.io/vi9er
* github-ff leaves
<ruebot>acoburn: yep!09:28
whikloj: yep. as soon as i'm done with CLAW 375 build
<whikloj>ruebot: I guess I can't build it for you, eh?
* github-ff joins
[fcrepo-java-client] ruebot pushed 1 new commit to master: https://git.io/vibkR
fcrepo-java-client/master 6b476c9 Aaron Coburn: Update README (#22)
* github-ff leaves
* travis-ci joins09:32
fcrepo4-exts/fcrepo-java-client#80 (master - 6b476c9 : Aaron Coburn): The build passed.
Change view : https://github.com/fcrepo4-exts/fcrepo-java-client/compare/fd4514410f37...6b476c9a60fd
Build details : https://travis-ci.org/fcrepo4-exts/fcrepo-java-client/builds/162198552
* travis-ci leaves
* acoburn1 joins09:37
* acoburn leaves09:39
* github-ff joins09:45
[fcrepo-java-client] acoburn tagged fcrepo-java-client-0.2.1 at 07b0458: https://git.io/vibLK
fcrepo-java-client/fcrepo-java-client-0.2.1 bfe6227 Aaron Coburn: [maven-release-plugin] prepare release fcrepo-java-client-0.2.1
* github-ff leaves
* travis-ci joins09:49
fcrepo4-exts/fcrepo-java-client#81 (fcrepo-java-client-0.2.1 - bfe6227 : Aaron Coburn): The build passed.
Change view : https://github.com/fcrepo4-exts/fcrepo-java-client/commit/bfe6227931cb
Build details : https://travis-ci.org/fcrepo4-exts/fcrepo-java-client/builds/162203315
* travis-ci leaves
* coblej leaves09:54
<ruebot>whikloj: starting the basebox release process09:55
ruebot: Once that is done, could you merge https://github.com/fcrepo4-exts/fcrepo4-vagrant/pull/5909:56
<ruebot>whikloj: sure thing!
* github-ff joins09:57
[fcrepo-java-client] acoburn pushed 1 new commit to gh-pages: https://git.io/vibq3
fcrepo-java-client/gh-pages 289236d Aaron Coburn: Creating site for fcrepo-java-client, 0.2.1
* github-ff leaves
* github-ff joins09:58
[fcrepo-java-client] acoburn pushed 2 new commits to master: https://git.io/vibql
fcrepo-java-client/master bfe6227 Aaron Coburn: [maven-release-plugin] prepare release fcrepo-java-client-0.2.1
fcrepo-java-client/master ca1ee8e Aaron Coburn: [maven-release-plugin] prepare for next development iteration
* github-ff leaves
* travis-ci joins10:02
fcrepo4-exts/fcrepo-java-client#82 (master - ca1ee8e : Aaron Coburn): The build passed.
Change view : https://github.com/fcrepo4-exts/fcrepo-java-client/compare/6b476c9a60fd...ca1ee8ecedcf
Build details : https://travis-ci.org/fcrepo4-exts/fcrepo-java-client/builds/162206736
* travis-ci leaves
<whikloj>ajs6f: I think the release name needs to include the word "Jibber-jabber"10:05
<ajs6f>whikloj: https://www.youtube.com/watch?v=Eisa5AZ20W010:06
<ajs6f>whiikloj: Just "Jibber-jabber" works for me.
4.7.0 Jibber-jabber10:08
4.8.0 Killer Klown
* coblej joins
<ajs6f>4.9.0 Luscious Leprosy
<whikloj>ajs6f: Ahh the hurricane naming strategy10:12
* dwilcox leaves
<ajs6f>whikloj: Who's going to take a hurricane named Jibber-jabber seriously?10:13
<whikloj>ajs6f: Oh you'll respect the Jibber-jabber when it gets all up in your face10:20
* github-ff joins10:21
[fcrepo-import-export] acoburn opened pull request #43: Update java-client version (master...update_java_client_version) https://git.io/vibOF
* github-ff leaves
<ajs6f>whikloj: https://www.youtube.com/watch?v=Dz2szNKnsXo
<whikloj>lol, that's hilarious. never heard of them10:23
<ajs6f>whikloj: Holy moly— you haven't seen the Mighty Boosh?
<whikloj>ajs6f: apparently not
<ajs6f>whikloj: Stop doing the release and binge watch all of their seasons, right now.
<whikloj>ajs6f: done10:24
* bseeger joins10:25
<ajs6f>whikloj: This looks like a good place to start: https://www.youtube.com/channel/UCqbSus_XrYD_eB4dAJULCTQ
<acoburn1>ruebot: the fcrepo-java-client release is done — I'll send out an announcement soon (giving time for maven central to catch up)10:28
* github-ff joins10:30
[fcrepo-import-export] ruebot closed pull request #43: Update java-client version (master...update_java_client_version) https://git.io/vibOF
* github-ff leaves
* github-ff joins10:31
[fcrepo-import-export] ruebot deleted placeholders at c525364: https://git.io/vibs1
* github-ff leaves
* ajs6f leaves10:32
* dwilcox joins10:37
<ruebot>ajs6f++ #tuque mention on the list10:41
whikloj: uploading to hashicorp10:43
* ajs6f joins10:44
* acoburn1 leaves10:45
* acoburn joins10:46
<ruebot>whikloj: https://atlas.hashicorp.com/fcrepo/boxes/fcrepo4-base/versions/0.1.4 -- released!
whikloj: now to test https://github.com/fcrepo4-exts/fcrepo4-vagrant/pull/5910:47
<whikloj>ruebot: awesome
<acoburn>ajs6f: is a Jena graph contained entirely in memory?10:56
ajs6f: ie. Model::getGraph
<ajs6f>acoburn: Depends entirely on how you got it / made it.10:58
acoburn: Could be an independent in-memory construction, could be a view over some dataset.
acoburn: If the latter, depends on the dataset. Could be in-mem, could be on-disk, could be anything else.
acoburn: What's the context?10:59
<acoburn>ajs6f: this is the context: https://git.io/vibCZ
ajs6f: I'd like to replace the use of Sesame RDF with Jena
<ajs6f>acoburn: Incidentally, you want to think about Model and Graph the other way, I think. Model is a higher level abstraction than Graph.
<acoburn>ajs6f: we don't need multiple rdf frameworks in the HTTP layers
<ajs6f>acoburn: No, we don't. I thought we got rid of that a long time ago!11:00
acoburn: Are you just trying to write RDF to an OutputStream?
<acoburn>ajs6f: yes
ajs6f: model -> outputstream
<ajs6f>acoburn: https://jena.apache.org/documentation/javadoc/arq/org/apache/jena/riot/RDFDataMgr.html
e.g. https://jena.apache.org/documentation/javadoc/arq/org/apache/jena/riot/RDFDataMgr.html#write-java.io.OutputStream-org.apache.jena.rdf.model.Model-org.apache.jena.riot.Lang-11:01
<acoburn>ajs6f: thanks, I was looking at https://jena.apache.org/documentation/javadoc/arq/org/apache/jena/riot/system/StreamRDFWriter.html
<ajs6f>acoburn: Lower-level than you need.
acoburn: You're fine with RDFDataMgr.
<acoburn>ajs6f: thanks! I figured you'd know :-)
<ajs6f>acoburn: Even better, I know who to ask.
<acoburn>ajs6f: actually, I expressed that incorrectly. It's a Stream<Triple> -> OutputStream11:32
* awoods joins11:33
<ajs6f>acoburn: Is it RdfStream?
<acoburn>ajs6f: yes
ajs6f: RDFDataMgr has a method for Iterator<Triple>, which works for N-Triples output
<ajs6f>acoburn: Sure, that's a streaming op.
<acoburn>ajs6f: but for, e.g. other serializations, would we need to collect the data into a model first?11:34
ajs6f: TTL and JSON-LD requires analysis before output
<ajs6f>acoburn: Yep. That's not Jena's fault. If you are dealing with XML or Turtle, yeah, you have to build up state.
<acoburn>ajs6f: right
<ajs6f>acoburn: Yeah, or JSON.
acoburn: There are some in-betweeners.
hang on
<acoburn>ajs6f: I'm just thinking about the code and how it should be written11:35
acoburn: Jena can do XML with minimal state buildup. It's just crappy unhumanreadable XML.
acoburn: But it parses fine.
<acoburn>ajs6f: that's fine w/ me
ajs6f: I am thinking that for n-triples output I can just pass in a RdfStream.iterator()11:36
<ajs6f>acoburn: it's just a language selection. I can imagine users complaining tho'. Some people like to look at these things with their eyes, which seems to me like wanting to drive a car by sticking your finger on the carburator's butterfly valve.11:37
<acoburn>ajs6f: and something similar for RDF/XML
ajs6f: If people complain about "pretty printed" XML output, let them complain
<ajs6f>acoburn: You might just want a policy object that maps from HTTP negotiation to Jena mechanism.
<acoburn>ajs6f: that makes sense11:38
<ajs6f>acoburn: I don't think you'd actually want to do it functionally, but the types would be something like HTTP choice => RdfStream => OutputStream => Void .11:39
I guess thats Map<String, Function<RdfStream,Consumer<OutputStream>>> or something. But I think you want to make some proper types for something like that.11:40
<acoburn>ajs6f: right. I may want to think about this for a bit
<ajs6f>acoburn: You want to do it right, but you don't want to overgeneralize.11:41
<acoburn>ajs6f: exactly
<ajs6f>Remember the new Fedora motto: NO JIBBER-JABBER.
* ajs6f leaves11:42
* ajs6f joins11:45
<acoburn>ajs6f: what about a simple switch statement here?11:46
ajs6f: based on Lang
<ajs6f>acoburn: Wait, switch (lang) ? Isn't Lang what you are trying to compute?11:47
<acoburn>ajs6f: we've got Lang from the content type
ajs6f: RDFLanguages.contentTypeToLang
ajs6f: it's the Stream<Triple> -> OutputStream that we need11:48
ajs6f: it's actually RdfStream
<ajs6f>acoburn: How do you expect to use RDFXMLAbrev?
acoburn: If you get a Lang from contentTypeToLang, hasn't that choice already been made for you?
<acoburn>ajs6f: just put all the triples into a Model and then use Model::write11:49
<ajs6f>acoburn: I don't get that at all. The question is how do you derive the Lang, and if you don't (if the mapping that includes application/rdf+xml => some choice of Jena language setting) is not in your hands, then how are you going to choose for a particular value of Jena lang in that slot?11:50
<acoburn>ajs6f: for most cases, we can just do rdfStream.collect(toModel()).write(OutputStream, Lang)
<ajs6f>acoburn: It's nothing to do with RdfDataMgr vs. Model::write.
<acoburn>ajs6f: no, the RdfDataMgr would be useful for the case of streaming the triples (n-triples)11:51
<ajs6f>acoburn: It's just as usable for Model-based writes.
<acoburn>ajs6f: right, that works, too11:52
<ajs6f>acoburn: It's no better than Model::write, but why use two parts of the API?
<acoburn>ajs6f: the Model::write vs. RdfDataMgr::write is not what I'm talking about
ajs6f: what I'm referring to is how to handle the streaming types vs. the RDF types that hold state11:53
<ajs6f>acoburn: Okay, that's a choice on Lang, but my point is that you cannot let Jena choose Lang. You have to. Then you can safely choose from Lang to operation.11:54
acoburn It's not just RDF/XML, either:
or even11:55
* acoburn leaves11:57
* acoburn joins12:00
ajs6f: sorry — internet connection went to lunch
<ajs6f>acoburn: That's a good point. I'm a bit hungry myself.
* coblej leaves12:01
* acoburn leaves12:02
* acoburn joins
* coblej joins12:11
* bseeger leaves
* ajs6f leaves12:21
* dbernstein joins12:42
* ajs6f joins12:57
acoburn: did you see ^^^ about Jena's languages?12:58
<acoburn>ajs6f: yes, I did
<ajs6f>acoburn: k, cool. It's your choice as to efficiency vs. pleasant debugging13:01
<acoburn>ajs6f: in the end, it looks like it's mostly a question of _how much_ code is removed13:02
ajs6f: seems that's all I'm doing
<ajs6f>acoburn: is that some kind of bad? it seems like all kinds of good to me.
<acoburn>ajs6f: it's all good to me; the less code, the better13:03
<ajs6f>acoburn: and there is no limiting case.
<acoburn>ajs6f: I especially like removing entire classes13:04
<ajs6f>acoburn: Yeah, that is really satisfying, and you get the "bonus score" of all the header boilerplate pinging up the line removal count.13:05
acoburn: Like a bonus ball in pinball
* coblej leaves13:10
* sosuke joins13:11
* github-ff joins13:29
[fcrepo4-vagrant] ruebot pushed 1 new commit to master: https://git.io/vibS3
fcrepo4-vagrant/master a4033ab Jared Whiklo: Add fcrepo-camel-ldpath to vagrant for Solr indexing (#59)
* github-ff leaves
* awoods leaves13:41
* coblej joins13:44
* sosuke leaves13:56
* bseeger joins13:57
* github-ff joins14:03
[fcrepo4-vagrant] whikloj created 4.7.0-RC from master (+0 new commits): https://git.io/vib54
* github-ff leaves
* github-ff joins14:04
[fcrepo4-vagrant] whikloj tagged fcrepo4-vagrant-4.7.0-RC-1 at 2b075d4: https://git.io/vib52
* github-ff leaves
* bseeger leaves14:16
* bseeger joins14:17
<whikloj>ajs6f/acoburn: Writing the release candidate e-mail, this is the Modeshape 5 upgrade release correct?14:19
<ajs6f>whikloj: Ya you betcha.
<whikloj>and we removed federation from core, anything else you'd like to include as a major change.14:20
<acoburn>whikloj: and fcrepo-transform
<whikloj>acoburn: that was already an external module, so should I say we are no longer releasing it?14:21
<acoburn>whikloj: right
<whikloj>or something better, like replaced fcrepo-transform with a better LDPath component14:22
<acoburn>whikloj: yeah, that makes sense
<whikloj>acoburn: ok, so I'm gonna say "Replaced functionality of fcrepo-transform with fcrepo-camel-ldpath". Does that sound good?14:23
<acoburn>whikloj: it's just fcrepo-ldpath
<whikloj>acoburn: oops good thing I checked
<acoburn>whikloj: you could even go further and say "improved functionality…"
<ajs6f>whikloj: and it would be nice to make really clear that it's not just replacement, it's a massive upgrade
<acoburn>whikloj: it takes the LDPath-based functionality from being a mere toy to being actually useful
<whikloj>ajs6f/acoburn: Do we have a explanation of the improvements somewhere I could link to
<acoburn>whikloj: you mean documentation? not really14:25
<ajs6f>whikloj: our users are well used to us telling them that something is great with no further explanation
<acoburn>whikloj: there's this: https://github.com/fcrepo4-exts/fcrepo-camel-toolbox/tree/master/fcrepo-ldpath
whikloj: but that doesn't even include the word "awesome"14:26
<whikloj>acoburn: That'll work, I'm just not comfortable with the improvements to try and explain it.
ajs6f: I'll add "Removed 90% more jibber-jabber"
<acoburn>whikloj: you can just ask me to write that part :-)
<whikloj>acoburn: Meh as ajs6f this is just the release candidate announcement, you can do that for the real release.14:27
<ajs6f>whikloj: And yet we named the release "Jibber-jabber". Maybe we should name it 4.7.0 "No more jibber-jabber"
<whikloj>ajs6f: good point, perhaps "Added 30% more Jibber-jabber"14:28
I don't want them to think we added it all in one release
<ajs6f>whikloj: New adjustable jibber-jabber feature accomodates all sizes of repository
<ajs6f>whikloj: As release manager, for any feature or development that you don't feel you understand, it's perfectly fine to turn to someone who you think does understand it and ask them to give you a paragraph for the release notes.14:29
whikloj: For 4.6.0, escowles did a great job describing what the perf scale group did and acoburn described the new messaging format changes.
<whikloj>ajs6f: I haven't even started to think about release notes yet. That will be an eye-opening exercise for me14:30
<acoburn>ajs6f: unrelated question: should "Accept: application/xml" return RDF/XML in your opinion?
<ajs6f>whikloj: If you expect to ask other people to give you sections, you should ask them soonish. People get busy. There's a lot of jibber-jabber out there.
<ajs6f>acoburn: Mmmm. No. That's loading the type too forcefully.14:31
acoburn: just the well-known application/rdf+xml
acoburn: But it wouldn't freak me out or anything.
acoburn: The less RDF/XML out there, tho, the better.14:32
<acoburn>ajs6f: ok, I'm getting a failing test on that one (after removing the Sesame libs) — jena doesn't like that accept header (application/xml)
<ajs6f>acoburn: Right, that's not an RDF mimetype.
acoburn: Strictly, we should do with it whatever we do with "application/jibber-jabber"
<acoburn>ajs6f: I'll remove it then
ajs6f: I've got special handling for that content type14:33
ajs6f: it returns an empty body
<ajs6f>acoburn: Empty body?!
<acoburn>ajs6f: "no more jibber-jabber", remember?
ajs6f: or do we still support jibber-jabber?
<ajs6f>acoburn: we produce it, but we don't accept it.14:34
acoburn: We can get away with that because no one is tough enough to tell us not to.
<acoburn>ajs6f: fair enough
<whikloj>acoburn/ajs6f: Should I mention the upgrade of Jena?14:47
<ajs6f>whikloj: Sure. It's not a huge thing, but you can phrase it in terms of us keeping up to date.
<acoburn>whikloj: that's one of those things that's really important for anyone using the Fedora Java API, but not so important for clients
whikloj: ^^^ what ajs6f said14:48
<whikloj>Cool, I have 3 points that seems adequate
<ajs6f>whikloj: Maybe check the diffs and give one sentence about all the dependency upgrades.
<whikloj>ajs6f: Do I need a left-handed screwdriver for that?
<ajs6f>whikloj: Worse. You need a Torx set.
<whikloj>too late, sent it
acoburn/ajs6f: Do we have instructions on how the Release notes are created?14:49
<ajs6f>whikloj: You should be able to create them in the wiki. It's just a copy of the previous notes and edit them.
<whikloj>ajs6f: sooooo all manual
<ajs6f>whikloj; Well, yes. But it's only one page.14:50
whikloj: If you look at the extant notes, you will see that all the Jira lists and stuff are all macros. You don't have to do that. The contributor lists and like come straight out of Jira reports that you can run yourself.
It's just editing for format.14:51
<whikloj>ajs6f: Yeah I was just making a copy of the 4.6.0 notes now
ok, but there is a Modeshape ticket right?14:54
<ajs6f>SHould be. awoods would have worked that, I think.
<whikloj>ajs6f: It has a Fix Version of modeshape5 ??
<ajs6f>whikloj: no, it would have a fix version of a Fedora version for one thing. Right?>14:55
whikloj: Because we work on Fedora, not Modeshape.
<whikloj>ajs6f: https://jira.duraspace.org/browse/FCREPO-1994
I can edit the fix version, just wanted to be sure
<ajs6f>whikloj: Oh, I see what you mean— yeah, that was someone's screwup
<whikloj>ajs6f: ok I fixed it14:56
<whikloj>acoburn: ok, could you write me a blurb about fcrepo-ldpath for the release notes please?14:58
ajs6f/acoburn: Is the Modeshape 5 change a benefit or just keeping pace with their development?14:59
<acoburn>whikloj: will do. I assume you don't need it for another week or two
<whikloj>acoburn: Current plan is week of Oct. 17.
<ajs6f>whikloj: It is a benefit but we have to be careful with words. The benefit is getting rid of INSP.15:00
<acoburn>whikloj: ^^^ what ajs6f said
<ajs6f>whikloj: And the reason that's so good is because ISPN has been so bad.
whikloj: But we don't want to remind people of problems that we have already solved.
<acoburn>whikloj: but ISPN has been bad b/c of how MODE uses it
<ajs6f>misused it15:01
<whikloj>ajs6f: yeah, I saw on the 4.6.0 we noted that it was the last version to use ISPN. Sure I just leave it as Upgrade to Modeshape 5.0.0 Final
<acoburn>whikloj: especially in a single-node setup
<ajs6f>And they recognized that and made the appropriate decision
<ajs6f>whikloj: No, you def have to say more than that.
<whikloj>Applauded Modeshape for removing use of ISPN
<ajs6f>whikloj: Because this is not a persistence-compatible release
whikloj: Everyone will have to do a complete migration, and that is specifically beause of the MODE5 change.15:02
<whikloj>ajs6f: Sooooo, could you write me something? <wink> <wink>
<ajs6f>whikloj: I think the person who worked the actual ticket and did the actual work would be a more logical candidate for that honor.
<whikloj>ajs6f: good point, I'll drop him a line15:03
<ajs6f>whikloj: I bet he swallows it hook and sinker.
<acoburn>ajs6f: do you know much about how Jena handles JSON-LD profiles? i.e. "Accept: application/ld+json; profile=\"http://www.w3.org/ns/json-ld#flattened\""
ajs6f: jena doesn't seem to like that content type
<ajs6f>acoburn: I don't think it does a whole lot of anything with them. Let me poke around.
acoburn: You are talking about writing, or just parsing mimetypes?15:05
<acoburn>ajs6f: both
implies that we may not have anything there.
LEt me look further
<acoburn>ajs6f: the immediate test failure relates to parsing the mimetype
<whikloj>How do I create a JIRA filter? or is that an awoods thing?15:10
<acoburn>whikloj: I have no idea, but you might ask bseeger, she knows her way around JIRA15:11
<whikloj>bseeger: ^^ ??
<ajs6f>acoburn: When you say "jena doesn't seem to like that content type" what exactly did you get?15:12
<acoburn>ajs6f: a 406 response, but I'm looking into that now
<ajs6f>whikloj: It is not an awoods thing, but you may need him to make it public and therefore available to other people.
whikloj: But you can build it your self
whikloj: Do an appropraite search and you can save it as a filter15:13
acoburn: I'm worried that what we're doing might make a particular profile appear to be a new language to Jena.
<whikloj>ajs6f: cool thanks
<acoburn>asj6f: when I do a contentTypeToLang using the accept header, I get a null response
ajs6f: which, given the current code results in a 40615:14
<ajs6f>acoburn: Okay. Give me a bit
<whikloj>ajs6f: can you see this https://jira.duraspace.org/issues/?filter=13803
<ajs6f>whikloj: no. It's private. Give me a sec to see if I can remember how I fixed that.
<whikloj>ajs6f: Try again
I forgot to Save15:15
that did it.
I can see it.
* dwilcox leaves
* dwilcox joins15:16
<acoburn>ajs6f: part of it is that we need to be more careful with the MediaType and not just use the toString method15:17
<ajs6f>acoburn: org.apache.jena.atlas.web.ContentType
acoburn: org.apache.jena.riot.RDFLanguages.mapContentTypeToLang15:18
<acoburn>ajs6f: I've been looking at the RDFLanguages source
<ajs6f>acoburn: This isn't great. Jena is using a map<string,lang>.
<acoburn>ajs6f: right
<ajs6f>acoburn: We may need to wrap contentTypeToLang with profile-awareness
<acoburn>ajs6f: that's kinda what I'm thinking, too15:19
<ajs6f>acoburn http://central.maven.org/maven2/com/github/jsonld-java/jsonld-java-jena/0.4.1/ ?15:20
Maybe profile aware? Dunno
<acoburn>ajs6f: up till now, there's been some ugly maven exclusions w/r/t jsonld-java, but in my branch, I'm using the version that comes with jena (8.x?)15:21
ajs6f: which is pretty up-to-date
<ajs6f>acoburn: Yeah, I think jsonld-java-jena got folded into Jena itself15:22
<acoburn>ajs6f: exactly
<ajs6f>acoburn: What do profiles do, anyway? Map attributes to predicates?
<acoburn>ajs6f: it controls whether you have expanded/compact/flattened form in the output15:23
<ajs6f>acoburn: and what are those? Links welcome
<acoburn>ajs6f: https://www.w3.org/TR/json-ld/#iana-considerations15:24
* dwilcox leaves15:26
<ajs6f>acoburn: So it's what identifiers are being used, as well as predicate names. In short, it's not really something we can do as a post-parsing processing step, or at least, that's not the way to do it.15:27
<bseeger>whikloj: I'm not sure how to create a filter - I've just copied and pasted before to fix links in the wiki.
<ajs6f>No one has ever actually learned how to use Confluence or Jira. Everything anyone has ever done is traceable by a series of c-and-p steps all the way back to the FIRST JIRA ISSUE EVER.15:28
<whikloj>bseeger: I figured it out, for reference. You do your search and click the Save As button.
bseeger: Then in the Filter, you click Details and Edit Permissions
bseeger: Add Shared: Everyone click the + Add15:29
bseeger: Save
bseeger: now you can do the next release15:30
<ajs6f>Actually, I think she just did. _That's_ how easy it is to do a Fedora release.
<bseeger>whikloj: hah! What? I can't seem to hear you…
ajs6f++ # 'cause this is really "true"15:31
<ajs6f>acoburn: I think we have to preprocess the mimetype to extract an Optional<profile> and leave behind something that Jena can accept. If it turns out to be JSON-LD, we use the profile (or a identify default) to engage some process that we get from somewhere that isn't Jena (we aren't going to have to write that, we will have to find it) and then we're okay.15:32
<whikloj>ajs6f: So you just create the list of Developers from the names Assigned to the tickets?
<acoburn>ajs6f: I think I'm on to something here, using the JsonLDWriter
<ajs6f>whikloj: Yep, although watch out because there is only one name to a ticket but sometime multiple people contributed. That's why you should pass the notes around many times in IRC before the release.15:33
<bseeger>whikloj++ # for doing this release.
<ajs6f>acoburn: org.apache.jena.riot.RDFFormatVariant ?15:34
<whikloj>ajs6f: I was going to say, I don't see your name on any tickets. But I know you've done a lot of reviewing and merging. There should be a Github query
<ajs6f>whikloj: Eh, I'm not the person to worry about. If my name doesn't appear on a release, that's probably a selling point for most people.
<whikloj>ruebot: Could you explain how I might get all the e-mail addresses between 4.6.0 and 4.7.015:35
ajs6f: This is a smaller (in tickets) release. Mostly the awoods and acoburn show
<ajs6f>whikloj: Small number of tickets, but look at Github. The code moved a good amount.
whikloj: You could put some links into Git visualizations, for fun15:36
<acoburn>ajs6f: that Jena 2.x -> 3.x update was pretty huge
<whikloj>ajs6f: and how do I do that, my git-fu is better but still amateurish
<ajs6f>acoburn: Yes, but mostly com.hp => org.apache. Lots of line changes, but not a big semantic leap.
<acoburn>ajs6f: exactly, but there were some subtle changes that took FOREVER to figure out15:37
ajs6f: which is why it took so long for us to upgrade
<ajs6f>whikloj: http://gource.io/ looks fun
<whikloj>ajs6f: http://ghv.artzub.com/#repo=fcrepo4&climit=100&user=fcrepo415:38
<ajs6f>whikloj: we are now in the FUTURE.15:39
acoburn: Other than RDF 1.1, what was so weird?
<acoburn>ajs6f: it was the unprintable characters that were used as field delimiters in the modeshape impl15:40
<ajs6f>acoburn: Okay, so that's not a Jena thing
<acoburn>ajs6f: it made debugging near impossible until I figured out what was going on
<ajs6f>acoburn: That was a cbeer thing
<acoburn>ajs6f: right
<ruebot>whikloj: you mean, who contributed?15:42
<whikloj>ruebot: yeah
<ajs6f>whikloj: Whoa, that "code swarm" thing is crazy. Flying avatars shoot each other with code lasers15:43
<whikloj>ajs6f: that is cool15:44
ajs6f: I think ruebot might have used that gource.io thing before15:45
<ruebot>whikloj: i _think_i just did a sort or something in JIRA, and just opy and pasted
ajs6f: gource videos? yeah, i've made a lot of those
whikloj: andrew usually does that list though, and that doesn't happen until very end15:46
<ruebot>ajs6f: https://www.youtube.com/user/ruestn/videos -- i got a blog post on how to do them too, if you're curious.
<ajs6f>ruebot: If we are going to do that, we need some weirder and scarier avatars15:47
<ruebot>ajs6f: how about https://twitter.com/ruebot/status/779340576680443904
ajs6f: we swapped fleece and hoodie15:48
<ajs6f>ruebot: He looks like a hipster monk.
<ajs6f>ruebot: Do you use this https://github.com/Islandora-CLAW/CLAW/projects ?15:51
<ruebot>ajs6f: haven't had time to play with it yet
<ajs6f>just curious
<ruebot>ajs6f: he had been playing with zenhub.io
* coblej leaves15:52
<ajs6f>ruebot: That's for sprint-type organization, eh?
<ruebot>ajs6f: dhlamb and i should totally explore it more though
ajs6f: we use milestones for sprints.15:53
ajs6f: that feature just came out this week or last, right?
* ruebot is getting kicked out15:55
<acoburn>ajs6f: I have the JSON-LD output working … almost16:09
* coblej joins16:13
* manez leaves16:24
* bseeger leaves16:42
<dbernstein>I’m wondering if one of you guys can help me out for a moment: I’m trying to verify whether or not https://jira.duraspace.org/browse/FCREPO-2038 is still broken. What would the curl call be to reproduce this error?16:52
<whikloj>dbernstein: yeah, you'll need to copy and clean up that RDF from jcoyne, but according to him it fails if that is the PUT body16:56
<dbernstein>okay - so I should be able to do something like this: curl -v -X PUT -H "Content-Type: text/turtle" -d “[rdf]” http://localhost:8080/rest/path/to/resource/fcr:metadata” is that right?16:58
<whikloj>dbernstein: If you put the RDF in a file you can do
curl -i -XPUT -H"Content-type: text/turtle" --data-binary "@<filename>" http://localhost:8080/rest/path/to/resource16:59
the @ tells it to use the contents of the filename which follows
<dbernstein>cool thx.17:01
* coblej leaves17:03
<whikloj>ajs6f: ping
<whikloj>ajs6f: https://youtu.be/1g4Y_7jM030
<ajs6f>whikloj: very cool. That should be the background for the music video that ruebot will make.17:05
<whikloj>ajs6f: good idea
<ajs6f>with awoods and dwilcox as the scantily-clad dancers in the background17:06
<whikloj>OW OW OW My mind's eye!
<dbernstein>whikloj: so that works, but the problem I’m seeing is that it doesn’t matter whether the rdf in the file is valid or not: it is accepted. Even if I use -d “@<filename>” rather than —data-binary. The -H “Content-type: text/turtle” seems to be ignored. What am I missing?17:12
<whikloj>dbernstein: well I think that is text/turtle. Probably best to wait for Justin to respond to your prompt. The description on that ticket is vague. Does his RDF include \n or does he mean newline?17:16
dbernstein: you could try the same thing with -H"Content-type: application/ld+json" and it should fail
<dbernstein>okay - thanks - I’ll try that.17:17
I tried it - that doesn’t fail either.17:20
Here’s the command I’m using:17:21
curl -v -X PUT -H "Content-Type: application/ld+json" -d "@text-json-ld.json" http://localhost:8080/rest/48/72/aa/f0/4872aaf0-2fb4-4ed3-8693-b09452c52b2b
<whikloj>dbernstein: and what does the resource look like when you GET it?17:22
<dbernstein>{ @context": "http://json-ld.org/contexts/person.jsonld", "@id": "http://dbpedia.org/resource/John_Lennon", "name": "John Lennon", "born": "1940-10-09", "spouse": "http://dbpedia.org/resource/Cynthia_Lennon"}17:24
* manez joins
<dbernstein>Notice I removed the double quote before @context - so this should be invalid json.17:25
oh - interesting though : if I make it valid again and then change @context to @cntext is does reject the request.17:26
* acoburn leaves17:27
* manez leaves17:29
<dbernstein>actually - scratch that: I accidentally append something to the end of the resource id. So changing @context to @cntxt is still accepted.
So perhaps fcrepo4 does not validate content against the Content-Type header? Perhaps jcoyne was seeing the problem elsewhere.17:31
* whikloj leaves17:57
* manez joins18:25
* manez leaves18:30
<ajs6f>dbernstein: fcrepo relies on underlying libraries to validate request contents.18:32
* ajs6f leaves
* manez joins19:26
* manez leaves19:31
* manez joins20:27
* manez leaves20:31
* peichman joins21:16
* manez joins21:28
* manez leaves21:32
* mjgiarlo joins21:44
* manez joins22:29
* manez leaves22:33
* peichman leaves22:42
* f4jenkins joins23:32