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

Using timezone: Eastern Standard Time
* dhlamb joins08:17
* github-ff joins08:27
[fcrepo-module-auth-webac] ruebot pushed 1 new commit to master: https://git.io/vzS7K
fcrepo-module-auth-webac/master 82c897f nruest: Merge remote-tracking branch 'origin/release-4.5.0'
* github-ff leaves
* bseeger joins08:28
* bseeger leaves08:30
* travis-ci joins08:32
fcrepo4/fcrepo-module-auth-webac#88 (master - 82c897f : nruest): The build passed.
Change view : https://github.com/fcrepo4/fcrepo-module-auth-webac/compare/2e050240301a...82c897f095b7
Build details : https://travis-ci.org/fcrepo4/fcrepo-module-auth-webac/builds/105163469
* travis-ci leaves
* bseeger joins08:37
* peichman joins08:38
* dwilcox joins08:48
* mohamedar joins08:57
* mohamedar leaves09:01
* mohamedar joins09:02
* peichman leaves09:19
* ajs6f joins09:46
<ruebot>escowles: you fine with me proceeding with vagrant? or do you want to?09:48
* ruebot feels bad deleting the release tag with escowles' avatar on it
<escowles>ruebot: kill it!
<ruebot>escowles: ok!09:49
* github-ff joins09:50
[fcrepo4-vagrant] ruebot deleted fcrepo4-vagrant-4.5.0 at 7007b50: https://git.io/vz9tw
* github-ff leaves
* github-ff joins09:51
[fcrepo4-vagrant] ruebot pushed 1 new commit to master: https://git.io/vz9tp
fcrepo4-vagrant/master dc3787d nruest: 4.5.0 fcrepo4-vagrant release
* github-ff leaves
* github-ff joins09:52
[fcrepo4-vagrant] ruebot tagged fcrepo4-vagrant-4.5.0 at 7007b50: https://git.io/vz6D6
* github-ff leaves
* github-ff joins
[fcrepo4-vagrant] ruebot deleted fcrepo4-vagrant-4.5.0 at 7007b50: https://git.io/vz9tw
* github-ff leaves
* github-ff joins09:55
[fcrepo4-vagrant] ruebot pushed 1 new commit to master: https://git.io/vz9qA
fcrepo4-vagrant/master 23f0c61 nruest: prepare for next development iteration
* github-ff leaves
* ksclarke joins10:02
* ajs6f leaves10:27
* ajs6f joins10:32
* whikloj joins10:40
* acoburn joins10:58
* peichman joins11:12
<ajs6f>whikloj: Next album cover: http://direct-ns.rhap.com/imageserver/v2/albums/Alb.13502664/images/500x500.jpg but with awoods and dwilcox.11:23
* acoburn leaves
<dwilcox>ajs6f: Amazing - someone needs to photoshop our faces into that cover11:26
<ruebot>ajs6f++ +++++++++++++++++++++++++++++=
<ajs6f>dwilcox: You've got to find a site with some design time to contribute. We have so many covers to deface and détourne.11:28
<dwilcox>ajs6f: Got $5? https://www.fiverr.com/categories/graphics-design/buy-photos-online-photoshopping/#layout=auto&page=111:32
<ajs6f>dwilcox: No, I have kids, instead. But we have lots of "Gold" and "Platinum" and "Uranium" and "Mithril" sponsors, right?11:33
<dwilcox>ajs6f : We do have some of those, yes - I'll have to revise our annual budget to include a line item for album cover design11:34
<ajs6f>https://www.fiverr.com/socalchrist/have-jesus-send-you-a-custom-video-from-heaven # We could do that. dwilcox ha a beard.11:35
<rarian>I have a question about releases of the camel toolbox: https://github.com/fcrepo4-exts/fcrepo-camel-toolbox/releases
Can I only rely on source code being present, or will wars also generally be published as in the 4.3.0 release?
(Writing chef cookbooks for our fedora 4 test servers)11:36
<ruebot>rarian: https://wiki.duraspace.org/display/FF/Component+Compatibility+Matrix -- we're still working on sorting that out11:39
<ajs6f>ruebot: There's no technical reason not to produce deployables, right?11:40
<ruebot>rarian: ...i think that project falls under the maintainers releasing it at their leisure.
oh, i see. there are no artifacts on the 4.4.0 release.
that might have been an oversight on awoods' part11:41
<rarian>But if releases are decoupled, I might as well build in the ability to compile it from an arbitrary git reference.
Thanks :)
<ruebot>rarian: correct
<ajs6f>dwilcox: After covers, we move on to videos: https://www.youtube.com/watch?v=ccenFp_3kq811:42
<ruebot>rarian: for what it's worth, we just deploy it with karaf in CLAW11:43
<rarian>ruebot: Right. We'll end up there for sure.11:45
<whikloj>ajs6f: totally want to spend the day trying to get awood's and dwilcox's faces under those amazing coifs, but sadly work calls.11:54
<ajs6f>whikloj: Not your job— that's clearly something that falls to the project leadership.11:55
<whikloj>ajs6f: I could however steal $5 from my kids piggy banks.
to help the cause
<ajs6f>whikloj: Very noble...11:56
<whikloj>ajs6f: maybe you didn't catch the part where I steal from my children11:57
<ajs6f>whikloj: I have no problem with that. Now, if you wanted to steal from _my_ children, I might feel differently.
<whikloj>ajs6f++ # Touche
* bseeger leaves12:32
* dwilcox leaves12:35
* ksclarke leaves
* ksclarke joins12:36
* dwilcox joins12:56
* esm_ joins12:57
ajs6f: sorry just catching up on https://github.com/fcrepo4-exts/fcrepo-java-client/pull/7#issuecomment-174660632 - did you want me to add that finally block?12:58
<ajs6f>esm__: NP. The cient is not my gig. Up to you about the finally block. I don't have a problem with exceptions ending up with unclosed resources.12:59
<esm_>general question: I'm using transforms in fedora 4 for the first time, and I notice that fields typed as xsd:dateTime get transformed to long values. Is that expected behavior?
ajs6f: cool thanks13:00
* acoburn joins
<ajs6f>esm__: Probably not expected or right. File a ticket?
<esm_>ajs6f: will do.13:02
<ajs6f>esm__++
* esm_ leaves13:24
* bseeger joins13:30
* acoburn leaves13:45
* awoods_away leaves13:47
* esm_ joins13:48
* ksclarke leaves13:49
* mohamedar1 joins14:04
* mohamedar leaves14:08
* acoburn joins14:11
esm_: I have a _very rough_ implementation of API-X with support for proxying connections to fedora and dynamic service registration14:13
esm_: the impl is very naive in that it doesn't do any sort of reasoning about what services should apply to what resources
esm_: but the basic structure is there, and it uses _remarkably_ little code
esm_ and runs in OSGi14:14
ajs6f: ^^^
<ajs6f>acoburn: So how do you invoke a service if you have no service matching? Any service can be invoked on any resource and just fails if the match isn't there?14:16
* ksclarke joins
<acoburn>ajs6f: right now, every service runs on every resource
ajs6f: adding a filtering mechanism wouldn't be that difficult, though
ajs6f: I need to hear from people about use cases first14:17
<esm_>acoburn: awesome!
<ajs6f>acoburn: Cool. It's streaming for bitstreams, right?
<acoburn>ajs6f: everything is streamed14:18
<esm_>acoburn: I'm traveling over the next week, so I'll try to check it out (no pun intended) while traveling, but likely not till next week.
pretty psyched!
<ajs6f>acoburn: Excellent!
acoburn: How are you adding new URL segments?
<acoburn>esm_ a client interacts with the apix endpoint _exactly_ as if it were the fedora api
esm_: ajs6f: but there is a special Link header added to all responses14:19
Link: </path/to/resource/svc:list>; rel="service"
otherwise, the resource content isn't touche
s/touche/touched
then, an api-x client can follow that link <svc:list> and retrieve a list of all services on that resource14:20
the response includes Link headers for all available services
<ajs6f>acoburn: And all services for that resource, right now, would be all services, even ones that make no sense, because there is no filtering/matching?14:21
<acoburn>the body would be something sensible (right now it's just a string with a comma delimited list — not very useful)
ajs6f: right, and once filtering is in place, only those services that make sense for the resource would be listed
ajs6f: those services — say there's a json+ld compactor: can be called like: /path/to/resource/svc:compact14:22
<ajs6f>acoburn: So you are prixying all traffic to the repo and adding your own URIs?
<acoburn>each service also gets a Link </…>; rel="describedby" header
ajs6f: yes
<ajs6f>acoburn: Okay, as long as it is streaming.14:23
<esm_>acoburn: are you comfortable sharing the (git) repository?
<ajs6f>acoburn: Is this Camel, or JAx-RS?
<acoburn>ajs6f: camel
<ajs6f>acoburn: With crafty route matching?
<acoburn>ajs6f: with one very simple Processor class, a couple of headers and a choice() block14:24
<ajs6f>acoburn: Works for me.
<acoburn>esm_: ajs6f: https://gitlab.amherst.edu/acdc/repository-extension-services/blob/master/acrepo-apix/src/main/java/edu/amherst/acdc/apix/ApixRouter.java14:25
it needs to be cleaned up quite a bit...
esm_: the full repo is here: https://gitlab.amherst.edu/acdc/repository-extension-services14:26
<ajs6f>acoburn: Running your own Jetty to do that?
<acoburn>ajs6f: it uses an embedded jetty to expose the REST api — you need some sort of servlet to do that14:27
* apb18 joins
<esm_>acoburn: no worries, thanks for sharing!
<acoburn>esm_: it also has a _very simple_ (in memory) impl of dynamic service registration
* dwilcox leaves14:28
<ajs6f>acoburn: You need some kind of server.Could you not do from(http) and let whatever the route is deployed into support that? People will want to put this right alongside the repo and use the same container configuration for both.
<esm_>acoburn: looking that the impl would preempt a lot of questions on my part :)
<apb18>acoburn: esm_ pinged me, rock on! (am, sitting in an all-day meeting right now)
<esm_>apb18: https://gitlab.amherst.edu/acdc/repository-extension-services/blob/master/acrepo-apix/src/main/java/edu/amherst/acdc/apix/ApixRouter.java
<acoburn>esm_: the basic idea is that there is a registry-api that can be implemented with any underlying datastore (database, zookeeper, etc)14:29
esm_: right now it uses an in-memory Map<String, String>
esm_: naive, but it works as a PoC
<ajs6f>acoburn: So if we wanted to do, say, the validation PoC, how do we offer the actual logic? As a webservice?14:30
<esm_>acoburn: yeah, cool
<apb18>acoburn: perfect. This will really advance the conversation.14:31
<acoburn>ajs6f: the idea is that the validation service does a PUT to the /apix/registry endpoint (the body would be the RDF description of the service)
<ajs6f>acoburn: Right, so as a webservice. API-X impl invokes the validation service via HTTP.14:32
acoburn: Right?
<acoburn>ajs6f: then, each instance of the service would POST to the /apix/bind endpoint with a URL
ajs6f: yes, exactly
<ajs6f>acoburn: Also, thank you for using "acdc" as part of the package name. It's important to respect the roots.
acoburn: See if you can get the lightening bolt in there using Unicode.14:33
<acoburn>ajs6f: the api-x framework then just strips off the /svc:validation and concatenates the endpoint URL and the fedora resource path and passes it directly to the service via the HTTP4 endpoint in camel14:34
<ajs6f>acoburn: But with special predicates and whatnot for the "registry" message, you could use something else instead, right? Like another Camel route in the same context, or some kind of Unix pipe, or who knows what.
<acoburn>ajs6f: yes, acdc is the name of our repository. Rock on!
ajs6f: yes, presumably, the instance would define a protocol (http being only one among many)14:35
<ajs6f>whikloj: Yet another cover for the stack: http://listmusictube.altervista.org/wp-content/uploads/2013/03/AC-DC-Highway-To-Hell-1979-Album-Cover.jpg That one could feature a considerable portion of the dev team.
<whikloj>ajs6f: we need a repository for all these great ideas. Anyone heard of a good one?14:36
<ajs6f>whikloj: No.
<acoburn>whikloj: why not just throw it into drupal?
<ruebot>acoburn++
<whikloj>acoburn: awesome idea
* ruebot can't think of a good confluence pun
<ajs6f>acoburn: I'm thinking about bioinformatics. You may not want to serialize a massive dataset.
<acoburn>ajs6f: absolutely — I can see use cases where I'd want to push a dataset into HDFS and run some spark jobs over it14:37
ajs6f: that wouldn't work with simple HTTP
<ajs6f>acoburn: Right, right. But is the service address part of the register or part of the bind message?14:38
<acoburn>ajs6f: the protocol:host:port/path is part of the bind message
<ajs6f>acoburn: Why couldn't you have a semanically-equvalent pair of service impls, one from HTTP, one driven by a drop box folder?
acoburn: oaky, cool.
* esm_ leaves14:39
<ajs6f>acoburn: "protocol:host:port/path"? You mean URI, right? And you could make that a Camel URI. Then you could glue _anything_ in.
<acoburn>ajs6f: that is *exactly* what I mean14:40
<apb18>If the impl of API-X ends up being based on Camel (which has been a running theme), the ability yo author a camel route that does <insert appropriate integration pattern/protocol here> as part of an extension would be trally powerful
<ajs6f>apb18: There are a number of API-X use cases that to me (as I commented on them) don't actually extend the Fedora API at all. They add interesting backend functionality, typically in a message-driven style.
apb18: I.e., they are use cases for Camel, not API-X.14:41
apb18: I don't see API-X wouldn't want to reuse, reuse, reuse.
don't see _why_, sorry
<acoburn>ajs6f: and many of those use cases were from me, and I agree that they aren't so much about API-X as about message-driven patterns
* esm_ joins14:42
<ajs6f>acoburn: I just loaned out my copy of the Fowler EIP book to someone down the hall.
<esm_>acdc repository: "dirty deeds, done dirt cheap"14:43
<ajs6f>Definitely sounds like the Fedora dev effort.
* enleeten joins14:46
<apb18>ajs6f: re: "use cases for Camel" I agree14:47
<ajs6f>apb18: I think we should just scrap the repo software and effort and just work on Camel.
<apb18>Well, there's a bit of a twist in having routes affected by the presence and/pr contents of (repository) resources14:49
To be honest, a crazy idea that has been bouncing around my head: When Fedora is a spec, could "Fedora" over an arbitrary LDP implementation be implemented using similar patterns to API-X?14:50
<ajs6f>apb18: We've talked about that before. Why not?
apb18: I want to stamp the spec so that people can start trying these things.14:51
* dwilcox joins15:07
<apb18>ajs6f: Yes. Thanks for the comment on the last tech call re: creating a wiki page for the spec15:09
* apb18 leaves15:14
<ajs6f>apb18: https://wiki.duraspace.org/display/FEDORAAPI/Fedora+API15:15
* bseeger leaves15:23
* ajs6f leaves15:29
* esm_ leaves
* dhlamb leaves16:00
* bseeger joins16:02
* bseeger leaves16:12
* dwilcox leaves16:23
* dwilcox joins16:26
* dwilcox leaves16:28
* jgpawletko leaves16:45
* peichman leaves17:04
* mohamedar1 leaves17:05
* acoburn leaves17:17
* whikloj leaves17:59
* jgpawletko joins20:02
* dwilcox joins20:48
* ksclarke leaves21:18
* dwilcox leaves
* ksclarke joins21:59
* f4jenkins leaves23:37
* f4jenkins joins23:40
* f4jenkins leaves00:28
* f4jenkins joins00:31

Generated by Sualtam