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

Using timezone: Eastern Standard Time
* dchandekstark joins04:45
* dchandekstark leaves04:49
* dchandekstark joins06:46
* dchandekstark leaves06:51
* escowles leaves07:40
* dhlamb joins08:08
* amccarty joins08:18
* coblej joins08:28
* manez joins08:36
* dchandekstark joins08:48
* dchandekstark leaves08:53
* whikloj joins08:56
* apb18 joins09:03
* acoburn joins09:04
* dwilcox joins09:26
* ajs6f joins09:50
* grosscol joins09:52
Is there a point of the API that I can query and get what version of fedora is running?09:53
<ajs6f>grosscol: https://jira.duraspace.org/browse/FCREPO-1774
<awoods>grosscol: no API, but the HTML at the root of the repository displays that information09:55
grosscol: see the footer of: http://demo.fcrepo.org:8080/fcrepo/
<ajs6f>barmintor: Just for fun: https://zythophile.wordpress.com/2012/05/22/endangered-beers/09:59
<acoburn>awoods: I know we've discussed this before, but couldn't there be a header field like: X-Powered-By: Fedora 4.6.0
<awoods>acoburn: All things considered, that may be a good approach for now.10:00
acoburn: at the root?
<acoburn>awoods: everywhere, no?10:01
<awoods>acoburn: could be
<acoburn>awoods: I think the Server: header is out, since that's more for the servlet container
<awoods>acoburn: have you seen a precedent for such a header?
<grosscol>Hmmm... I'm not seeing anything at /fedora/rest and /fedora is a 40410:02
correction
I'm not seeing the version information at /fedora/rest but I do get the page I expected there.
<awoods>grosscol: what page do you expect there?10:03
grosscol: the listing of top-level resources?10:04
<grosscol>the fedora4 root page. lists top level children. has some buttons to create/update resources
<acoburn>awoods: I just looked at https://en.wikipedia.org/wiki/List_of_HTTP_header_fields under "common non-standard response fields"
<ajs6f>awoods:acoburn: I'm with acoburn— if we do that header, it belongs on every response.
It's an assertion about the response— that is was produced by Fedora.
* coblej leaves10:05
<awoods>grosscol: I am not sure why the splash page is blocked: /fedora
<grosscol>Yeah. Nor am I.
<acoburn>grosscol: try adding a slash to the end: fedora/
<grosscol>I would expect the splash page with the go to the rest api button
There we go.10:06
yup. Okay.
ugh... it is running 4.5.0. I hate tomcat
<acoburn>grosscol: I'm guessing you have a proxy in front of Fedora? Apache or Nginx?
grosscol: typically tomcat will do the trailing slash addition automatically (if you are accessing tomcat directly)10:07
<grosscol>Tomcat is exposed on a private ip.
<acoburn>grosscol: ok, well I don't claim any expertise on tomcat configuration — if you've got the splash page, you should be all set10:08
* dwilcox leaves10:09
<grosscol>Yeah. This has clearly been a tomcat8 fail.
Now that I know what version of fedora I'm looking at.
<acoburn>awoods: ajs6f: I'm reading section 14.38 of RFC 2616, and I think we could add Fedora to the Server header10:11
awoods: ajs6f: it would be something like: Server: Apache-Coyote/1.1 Fedora/4.6
<ajs6f>acoburn: that means processng the header,right?
acoburn: Could we not add an additional header?10:12
acoburn: An additional server header, that is.
<acoburn>ajs6f: my reading of the spec is that it needs to be in the same header
ajs6f: the products are listed in a single header in descending order of importance
<ajs6f>Oh ,well
Then we should be NUMBER ONE.10:13
<acoburn>:-)
* mikeAtUVa joins
<awoods>acoburn: https://www.ietf.org/rfc/rfc2616.txt#14.38 - Server makes good sense.10:16
<acoburn>awoods: what is unclear to me is how to add that header with Jersey10:17
<ajs6f>acoburn: a JAX-RS filter?10:18
* dchandekstark joins
* dchandekstark leaves
* peichman joins
<acoburn>ajs6f: yes, that might be the best approach
<ajs6f>acoburn: seriously, https://jersey.java.net/documentation/latest/filters-and-interceptors.html#d0e9767
<awoods>acoburn: it must be possible.
* dchandekstark joins10:19
<ajs6f>But the version will have to be injected somehow.
<acoburn>ajs6f: if we are using a custom header (as in the example), sure — what I mean is how to manipulate the Server header with Jersey?10:20
<awoods>ajs6f: we do that for the splash page
<acoburn>ajs6f: or possibly this is just my lack of understanding of Jersey
* coblej joins10:21
<acoburn>awoods: we do that with a maven resource filter
awoods: if we add the version programmatically, we'd need some method added to the kernel-api10:22
<awoods>acoburn: yes... similar machinery could likely set a system property, or write to a config file.
<acoburn>awoods: setting a system property seems brittle10:23
<ajs6f>acoburn: https://docs.oracle.com/javaee/7/api/javax/ws/rs/container/ContainerResponseContext.html#getHeaders--
acoburn: gives you a _mutable_ map of the headers.10:24
<acoburn>ajs6f: perfect, thanks
<ajs6f>acoburn: actually, it's some kind of weird multimap thing. Some JAX-RS thing.
https://docs.oracle.com/javaee/7/api/javax/ws/rs/core/MultivaluedMap.html
<acoburn>ajs6f: right, I remember reading about that at some point
<ajs6f>but it impls util.Map too, so it'll prolly work fine10:25
<acoburn>awoods: say I have a container in Fedora and I know it will have lots of child nodes — how can I set that to be a "huge" node so that I can avoid using pairtrees?10:30
awoods: does it involve some CND manipulation?10:31
<awoods>acoburn: yes... looking up the details
<ajs6f>I don't think we ever finihsed the tickets for that. It was supposed to be engaged automatically10:32
<awoods>acoburn: this links to what escowles did: https://jira.duraspace.org/browse/FCREPO-1710
<acoburn>awoods++
<awoods>acoburn: here is the modeshape docs: https://docs.jboss.org/author/display/MODE40/Large+numbers+of+child+nodes#Largenumbersofchildnodes-Unorderedlargecollections
* github-ff joins10:34
[fcrepo-import-export] ruebot closed pull request #34: Fixed basic import. (master...FCREPO-2215) https://git.io/viK8R
* github-ff leaves
<acoburn>ajs6f: it looks like that code was never merged into master
<ajs6f>acoburn: right10:35
<awoods>acoburn: the results were inconclusive
<ruebot>awoods: did that PR close two tickets, or just that second one listed?
<awoods>ruebot: two tickets
<ruebot>awoods: thanks!10:36
<acoburn>awoods: ok, I'll ping escowles about it10:37
awoods: I also wonder if the MODE5 changes affect any of this10:40
* dwilcox joins
<awoods>acoburn: from the Mode5 API/config perspective, the capability is the same.10:41
acoburn: if it works better or worse... is in the pudding
<acoburn>awoods: right, but I mean in terms of accessing the content from ISPN or directly from a database is any different
<ajs6f>Our repo is made of pudding.10:42
That explains so much.
<awoods>acoburn: are you contemplating if MODE5 has potentially eliminated the many-children issue?10:43
<acoburn>awoods: not entirely
* ajs6f leaves
<acoburn>awoods: I am considering the scenario where I know in advance which mode: nodetype to assign to certain nodes so that they can better support many children10:44
awoods: my endgame is this: if PairTrees are entirely a modeshape issue, and eventually there is an alternate impl that doesn't require pairtrees, I don't want to have all of my URIs change10:45
<awoods>acoburn: naturally
acoburn: if we can get rid of pairtrees, it is a win for everyone10:46
<acoburn>awoods: I agree
* awoods dropping off to prep for travel. Will check in later today.10:48
<acoburn>whikloj: is the removal of the filesystem connector going to be part of 4.7.0?10:49
<whikloj>acoburn: doubtful, I was working with the magic of maven yesterday... it is slow going10:50
for me at least
<acoburn>whikloj: can I assist?
whikloj: it would be nice to get that into the release so that we don't immediately have a 4.8.0 release after 4.7.010:51
whikloj: I would have brought it up on the call yesterday, but I had forgotten about it10:52
<whikloj>acoburn: maybe/probably. The problem seems to be to get the correct repository json and integration tests to only execute if the -Pconnector-file is chosen. I'm not very knowledgeable with the surefire
plugin
<acoburn>whikloj: do you have a branch in your fcrepo4 fork that I can look at?10:53
<whikloj>acoburn: this is in fcrepo-webapp-plus. Cause in fcrepo4, we just removed the plugin and then made a separate module (ala fcrepo-transform)
acoburn: awoods had suggested that webapp-plus would be the best place for the ITs10:54
<acoburn>whikloj: so it's just a matter of getting the ITs to work?
<whikloj>acoburn: yeah, it is a lot to get about 3 or 4 tests moved. I wonder could they not exist in the fcrepo-connector-file module? Or do they need to be in webapp-plus to get a full instance running?10:55
<acoburn>whikloj: IMO, if they are in the fcrepo-connector-file module that would suffice10:56
whikloj: the whole multiple-profile thing in webapp-plus is a little baffling to me
whikloj: I would also mention that this is another case where an -ext project is holding up movement on the core codebase10:57
…which I don't like
<whikloj>acoburn: agreed, once I get this working I still need to test all the various permutations of webac, audit, connector-file, rbacl, xacml
yeah sorry about that
<acoburn>whikloj: it's not your fault! it's a problem with the policy10:58
<whikloj>acoburn: yeah that is true, but I also understand the desire not to alienate some users10:59
<acoburn>whikloj: that's entirely true, but it's also disingenuous to say "don't use it" while still supporting it as a core feature.11:00
<whikloj>acoburn: fair point
* mjgiarlo joins11:06
* amccarty leaves
<mikeAtUVa>acoburn: fcrepo-webapp-plus was initially envisioned as a project people could work with to more easily build their own war files that have optional external components. That we use it to build artifacts for our releases probably argues for a different design.11:07
<acoburn>mikeAtUVa++
* mjgiarlo leaves11:10
* dwilcox leaves11:16
* bseeger joins11:20
<whikloj>acoburn: Sorry, stepped away. Here is my current work, if you can help I would be even more (if that is possible) in your debt.11:23
https://github.com/whikloj/fcrepo4/tree/FCREPO-2028
https://github.com/whikloj/fcrepo-connector-file
<acoburn>whikloj: ok, I'll give it a shot11:24
<whikloj>https://github.com/whikloj/fcrepo-webapp-plus/tree/FCREPO-2028
* mjgiarlo joins11:27
* manez leaves
* mjgiarlo leaves11:43
* amccarty joins
* coblej leaves
<whikloj>should the maven <parent> for a -exts module be "fcrepo" or "fcrepo-parent"?11:45
<acoburn>whikloj: it depends :-)
<whikloj>ugh
<acoburn>whikloj: it's a question of whether you want all the same dependency chains11:46
whikloj: so, e.g. fcrepo-mint, fcrepo-audit, etc should all have fcrepo4 as a parent
whikloj: but, e.g. fcrepo-java-client would use fcrepo-parent
whikloj: b/c fcrepo-java-client doesn't _depend_ on the fcrepo4 artifacts11:47
whikloj: same for the camel machinery
<whikloj>acoburn: ok so I need fcrepo
* dchandekstark leaves
* mjgiarlo joins11:48
* dchandekstark joins
<ruebot>awoods: that long running test finally failed. trying to figure out why now.11:50
* dchandekstark leaves11:58
* bseeger leaves12:05
* amccarty leaves
* bseeger joins
* amccarty joins
* mjgiarlo leaves12:08
* amccarty leaves12:10
* mjgiarlo joins
* mjgiarlo leaves12:15
* bseeger leaves12:19
* manez joins12:28
* manez_ joins12:29
* manez leaves
* coblej joins12:31
* manez_ leaves12:34
<whikloj>acoburn: how do I get logger statements from ITs to appear when running mvn clean install? Should I just make the INFO level?
* dchandekstark joins12:44
* peichman leaves12:52
* dwilcox joins
* peichman joins12:54
* bseeger joins12:59
* ajs6f joins13:10
* mjgiarlo joins13:13
<acoburn>whikloj: typically, there is a logback-test.xml file in ./src/test/resources13:14
whikloj: that usually allows certain log levels to be overridden from the command line13:15
whikloj: so you can do something like: mvn clean install -Dfcrepo.log=DEBUG
<whikloj>acoburn: thanks
* dwilcox leaves13:18
* amccarty joins13:20
<bseeger>awoods, ruebot: with the import/export too — have folks seen binaries come through okay? I've exported a small generic test set (read as: random) and the jpeg files are not able to be read as jpeg files.13:21
<ajs6f>acoburn:whikloj: I don't have much time today, but if I can do anything to help you kill -file-connector more deader, I will.
<acoburn>ajs6f++13:22
ajs6f: I just finished fcrepo-2213 (PR coming shortly), and then I'll turn my attention to the fileconnector
<whikloj>ajs6f: thanks
<ajs6f>acoburn:whikloj: I believe in you.
<whikloj>Like a ghost in the attic13:23
I'm closer, trying to figure out test failures
<ajs6f>acoburn: what implications does fcrepo-2213 have for the diff kinds of LDP container? you say "child" and "parent" there— are you talking about only basic containers?13:30
<acoburn>ajs6f: the issue affects basic containers, direct and indirect containers were already working properly13:31
* manez joins
<acoburn>ajs6f: but I've added integration tests for all three container types
<ajs6f>acoburn: Okay, my concern was that we're going to have uniform behavior, and we are, right?
<acoburn>ajs6f: yes
<ajs6f>acoburn++
least_surprise++13:32
* acoburn1 joins13:33
* github-ff joins13:34
[fcrepo4] acoburn opened pull request #1098: Update lastModified when child resources are deleted (master...fcrepo-2213) https://git.io/vii4D
* github-ff leaves
* manez leaves13:35
* acoburn leaves13:36
* acoburn1 leaves13:37
* acoburn joins
<whikloj>ajs6f/acoburn: Ok I don't fully understand this test, but the second check is apparently taking too long (line 1997)13:43
https://github.com/fcrepo4/fcrepo4/blob/master/fcrepo-http-api/src/test/java/org/fcrepo/integration/http/api/FedoraLdpIT.java#L1962
<ajs6f>That is a brittle freakin test. That sleep BS needs to go.13:44
<whikloj>it seems like it might depend on your particular filesystem
* manez joins13:45
<ajs6f>acoburn: Can you look at that in light of PR #1098? Can we bring something stronger to bear there?
<whikloj>ajs6f: That is what the TODO on line 1972 says
<mikeAtUVa>Wait... tests aren't passing related to the file system federation in mode5? My vote is to just @Ignore them... haven't we officially stated we wont' support federation?
<ajs6f>mikeAtUVa BRINGS THE HAMMER DOWN13:46
<whikloj>mikeAtUVa: I've moved this test out to fcrepo-webapp-plus
mikeAtUVa: it only fails when you try to "mvn clean install -Pconnector"
<acoburn>ajs6f: I'm starting to look at the integration tests now13:47
<whikloj>in my case I'm seeing
timestamp1 1474047554368, lastmod1 1474047554000, difference 368
<ajs6f>acoburn:whikloj: I thikn you guys may actually be working right near each other.
<whikloj>then
timestamp2 1474047557251, lastmod2 1474047554000, difference 3251
<acoburn>whikloj: to start, your PR against F4 master doesn't build — I'll send a PR to your PR13:48
<whikloj>acoburn: The PR that strips out that directory, did I make a PR?
acoburn: oh wow, I forgot to remove the submodule didn't I13:49
<acoburn>whikloj: no, no — there's an integration test in FedoraNodesIT13:50
<whikloj>hmmm checking travis
<acoburn>whikloj: you removed some tests, but the curly braces don't line up
whikloj: https://github.com/fcrepo4/fcrepo4/pull/1056/files#diff-b1540af65eda70fe187e0c8363a5065bL287
whikloj: if you remove the subsequent lines, it should work (I'm building now...)13:51
<ajs6f>See that wouldn't be a problem in Python. That's why barmintor went over to it.13:52
<whikloj>acoburn: Oh I forgot to commit that?! (facepalm)
lol
<acoburn>ajs6f: you can use curly braces in python:
ajs6f: if statement: # {
ajs6f: something
ajs6f: # }
<ajs6f>acoburn: But you don't have to. You can just write code and see what happens.
acoburn: Oh, wait. I see what you did there.13:53
acoburn: I actually find that more readble than normal Python.
<acoburn>ajs6f: that's scary
<whikloj>acoburn: I'll push my changes and I'm sorry about that13:54
<acoburn>whikloj: ok, cool, that means less work for me
<whikloj>updated
* grosscol leaves14:00
<acoburn>whikloj: much better, thanks!14:02
<whikloj>acoburn: np, sorry about that. I just forgot to actually commit those last changes14:03
* peichman leaves14:07
* peichman joins14:14
* acoburn leaves14:16
* acoburn joins14:17
whikloj: why did you change the groupId in the connector-file pom file?
* mjgiarlo leaves14:18
<whikloj>acoburn: change it from org.fcrepo?
<acoburn>whikloj: other -exts projects use the org.fcrepo package namespace
<whikloj>acoburn: not fcrepo-transform
<acoburn>whikloj: true
<whikloj>acoburn: which is what I based most of actions on this change with
<acoburn>whikloj:ajs6f:awoods: do we have a policy on this?14:19
I'd be inclined to keep it the same unless there was a good reason to change it
<ajs6f>acoburn: group names for maven artifacts?
<whikloj>As it is not part of core, would it not be different?
<acoburn>ajs6f: yes
<whikloj>but I'm not tied to either way, I don't understand the implications14:20
<ajs6f>acoburn: I know of no policy. We _should_ have one, but for now, what is the immediate choice to be made?
<acoburn>there are two issues — core vs. non-core for maintainers and package location for dependencies
ajs6f: the fcrepo-connector-file is currently in the org.fcrepo namespace for maven
ajs6f: whikloj has changed it to be org.fcrepo.connector-file14:21
<whikloj>right
<acoburn>my only point is that changing a groupId should be done rarely (if ever)
<whikloj>so the previous change to fcrepo-transform was in error?
<acoburn>I have no idea
the issue is that we have two systems14:22
fcrepo-audit and fcrepo-mint are both -exts projects that use the org.fcrepo maven groupId
<whikloj>I mean, do you think it was. I'm just not sure I understand what groupId really means in the larger context
<ajs6f>I'm inclined with acoburn here for the moment. The less change we can make to get where we want to get (fcrepo-connector-thing the hell out of the core) the better.
We need a real policy, and let's not improv it.
* mjgiarlo joins
<whikloj>ok, I have no problem leaving it where it is14:23
<ajs6f>whikloj: groupId has implciations for who is responsible for an artifact.
whikloj: But within org.fcrepo, we have no way to break that down (no policy).
<whikloj>ajs6f: ahhh I see, so if we shift responsibility outside the committers to another group then changing it to 'com.mcdonalds.connector-file' would be okay14:24
<ajs6f>whikloj: Sure. But we don't have a single group (ie group of people) associated with projects in -ext.14:25
whikloj: So the policy isn't obvious.
<whikloj>ajs6f: ok
<ajs6f>whikloj: And for some of those projects, there really isn't a "group" per se. There's just, a couple of individuals.
Some of those projects could legitimately be put in com.acoburns.house14:26
<acoburn>to be clear — I'm find with switching the groupId, but I'd want it to happen _once_ and (hopefully) never again
<whikloj>acoburn: I'll switch those back in fcrepo-connector-file and fcrepo-webapp-plus to org.fcrepo
<ajs6f>and I don't think we know what to switch it to yet, so I say we do nothing for the moment.
<acoburn>and switching it in the absence of a policy suggests to me that it will be playing musical groupIds
<whikloj>acoburn: I should say fix the pom.xml dependency in fcrepo-webapp-plys
<acoburn>ajs6f: exactly14:27
<whikloj>plys or plus,
<ajs6f>Musical GroupIds is not a good name for a band.
<whikloj>"Musical GroupIds Groupies" could be good though
<ajs6f>https://www.youtube.com/watch?v=Bu1chmAO9MA14:28
* dchandekstark leaves14:38
<acoburn>whikloj: do you remember why those failing iTests are in fcrepo-webapp-plus and not in fcrepo-connector-file?14:42
whikloj: I mean: I'd expect them to be in the fcrepo-connector-file rather than in the webapp14:43
<whikloj>acoburn: I can't remember the exact reason... I had a talk with awoods, let me see if I can find it. Perhaps I was making unnecessary work14:44
<acoburn>whikloj: IMO they are inappropriate in the webapp module — if they are testing functionality of the connector-file module, they should be there
whikloj: it seems odd that I could have a valid build of the connector file but only learn of a non-working feature from a test failure in a downstream app14:45
<whikloj>acoburn: I think the original reason was that they were part of the fcrepo-http-api ITs
<acoburn>whikloj: yeah, I don't see that as a very good reason
* dchandekstark joins14:46
<acoburn>whikloj: would you like me to try running those tests in the connector-file module?
<whikloj>acoburn: I can try
<acoburn>whikloj: great! thanks14:47
<whikloj>acoburn: no problem, I haven't solved anything yet14:48
* mjgiarlo leaves
* manez leaves14:49
<whikloj>acoburn: so would I add fcrepo-webapp as a dependency in the test scope then?14:53
<acoburn>whikloj: I was thinking that it would include fcrepo-http-api14:54
whikloj: and then some additional spring configuration
<ajs6f>what is in webapp that isn't in http-api?
<acoburn>ajs6f: nothing
ajs6f: if you don't count a bunch of pre-configured spring files14:55
<whikloj>I'm just unsure how to get an instance standing that I can GET against
which is why I suggested fcrepo-webapp
<ajs6f>whikloj: look in the spring config and IT setup for fcrepo-http-api itself
whikloj: those tests do lots of GETs
<whikloj>ajs6f: ok, I'll give that a try
<ajs6f>lots
<acoburn>whikloj: in the FileConnectorIT, you're importing org.fcrepo.integration.AbstractResourceIT, but that's incorrect14:57
whikloj: the package name should be org.fcrepo.integration.http.api
<ajs6f>Oh, whikloj, you'll telling that story years from now!
* whikloj leaves
* whikloj joins14:58
acoburn: sorry inet drop
acoburn: the namespace is wrong?
<acoburn>whikloj: in the import statement
whikloj: line 5314:59
<whikloj>acoburn: oh yes, I see what you're saying. That was Eclipse trying to help me out
I'll remove that when I move it to fcrepo-connector-file
Rather that was my clicking on things Eclipse said would help me out. I shouldn't blame the computer
* amccarty_ joins15:00
<acoburn>whikloj: I have some examples of this in the camel framework (I just ripped it all out this week, but there are some old commits with examples)15:01
<whikloj>acoburn: if you have it handy, I wouldn't say no to an example
<acoburn>whikloj: to start, you'll need to define a dependency like this: https://github.com/fcrepo4-exts/fcrepo-camel/blob/4c90f9915b0e4a1607b8540d892c6a1743226e53/pom.xml#L305-L31115:02
<ajs6f>you should _always_ blame the computer
<acoburn>whikloj: but use fcrepo-http-api as the artifactId
<whikloj>acoburn: done15:03
* dwilcox joins
* mjgiarlo joins
<acoburn>whikloj: then you'll need at least all of these files in your ./src/test/resources/spring-test directory: https://github.com/fcrepo4-exts/fcrepo-camel/tree/4c90f9915b0e4a1607b8540d892c6a1743226e53/src/test/resources/spring-test
<whikloj>acoburn: ok, currently it just has the repo.xml, I'll add the rest. But will they need specific config changes?15:04
<acoburn>whikloj: though if you're add new spring files, leave the "-3.0" part off of the namespace decls
* amccarty leaves
<acoburn>whikloj: probably not
whikloj: but the rest.xml one gives you the HTTP interface15:05
whikloj: and that's how you can make use of the GET requests
<whikloj>acoburn: Ok, I'll try it now
<acoburn>whikloj: actually, you may not need those at all15:07
<whikloj>acoburn: haha, ok
<acoburn>whikloj: jar -tvf ~/.m2/repository/org/fcrepo/fcrepo-http-api/4.7.0-SNAPSHOT/fcrepo-http-api-4.7.0-SNAPSHOT-tests.jar shows me that the spring-test files are already there15:08
whikloj: so they'll already be on the classpath
* mjgiarlo leaves
<whikloj>acoburn: so I only need to add them, if I wanted to change something
which I don't15:09
<acoburn>whikloj: right
whikloj: in fact you could get away with removing the existing repo.xml file15:10
whikloj: as long as you provide the location of the modeshape.configuration via a system property
<whikloj>acoburn: I think I need that to include the federated storage definition15:11
acoburn: oh I see
<acoburn>whikloj: i.e. in the failsafe plugin configuration
whikloj: like this: https://github.com/fcrepo4-exts/fcrepo-camel/blob/4c90f9915b0e4a1607b8540d892c6a1743226e53/pom.xml#L415-L41615:12
whikloj: just with the fcrepo.modeshape.configuration value15:13
whikloj: you could get clever and just rename the repository.json file so that it aligns with the default value from the fcrepo-http-api artifact, but that would be a bit brittle15:14
whikloj it's better to just supply the argument explicitly
<whikloj>acoburn++15:15
<acoburn>ajs6f: I just noticed that stanbol has a 1.0.0 release candidate available for testing
<ajs6f>aacoburn: yeah, they've just opened the vote for release.15:16
acoburn: Or maybe that was something else? I thought it was the vote/
<acoburn>ajs6f: "Please vote on wether to release Apache Stanbol 1.0.0 RC0"
ajs6f: that sounds like a vote to me
<ajs6f>acoburn: wait, is that "release 1.0" or "release 1.0 RC"?15:17
acoburn: I guess it has to be 1.0
<acoburn>ajs6f: oh right — I suppose it could be "vote on whether to cut a RC" and then there would be a subsequent vote on whether that would actually be the released artifact15:18
ajs6f: I was assuming it meant that this is a RC and it is destined to become the 1.0 release
<ajs6f>acoburn: I think you could assume either. That was a poorly worded message15:19
* coblej leaves
<acoburn>ajs6f: I can't disagree with that
<ajs6f>acoburn: That's a little ambiguous15:20
<acoburn>ajs6f: it was a poorly worded message15:21
ajs6f: I agree with you there
<ajs6f>acoburn: Now I am thoroughly confused. Are _we_ releasing Stanbol now?15:22
<acoburn>ajs6f: I'm also confused. I'll just stop writing about this.15:23
<ajs6f>acoburn: I think it's too late. I think we just released Stanbol using Maven groupId org.fcrepo.connector-file.
<whikloj>acoburn: so if I am now importing fcrepo-http-api, can I write my test class as an extends of its AbstractResourceIT. Or should I make a copy to the fcrepo-connector-file project?15:25
<acoburn>whikloj: you should be able to extend org.fcrepo.integration.http.api.AbstractResourceIT
* mjgiarlo joins15:26
<whikloj>cool
* mjgiarlo leaves15:29
<ajs6f>whikloj: Just make sure you also import the test artifact.
Or actually, just the test artifact, I guess
It should pull the other with, I think.
<whikloj>ajs6f: which I added both fcrepo-http-api and fcrepo-http-commons with scope = test15:30
which? I added both fcrepo-http-api and fcrepo-http-commons with scope = test
punctuation is amazing
<ajs6f>whikloj:, no not the scope, the actual test artifact. But try it with that and see how it rolls.
<whikloj>ajs6f: okay, I didn't know about specifically importing test artifacts15:31
<ajs6f>whikloj: Actually, wait, http-api depends on http-commons. You shouldn't have to import -commons.
whikloj: So slice that out.15:32
<whikloj>ajs6f: and type = test-jar?
<ajs6f>whikloj: right, righ.
whikloj: You may have to play with it a bit. It's late on Friday and I can't remember much about this stuff.
<whikloj>ajs6f++
* dhlamb leaves15:33
<whikloj>is this going to cause me a problem with my tests?15:38
https://github.com/fcrepo4/fcrepo4/blob/master/fcrepo-http-api/src/test/java/org/fcrepo/integration/http/api/AbstractResourceIT.java#L81
<ajs6f>I don't know what you mean— that's what is selecting the Spring config to set up for the test— but you know that. What's the potential problem?15:40
* acoburn1 joins
* acoburn leaves15:41
<whikloj>ajs6f: sorry I am getting a java.lang.NumberFormatException: For input string: "" on line 91 of that file15:42
* bseeger leaves
<whikloj>oh wait, I don't have a web.xml in my project
<ajs6f>whikloj: yeah, that's _could_ be it. Anyway, you'll want to fix that.15:43
whikloj: Another possibility is that fcrepo.dynamic.test.port isn't getting set in the pom.xml
whikloj: It should be set by build-helper.
<whikloj>but then it should default to 8080
https://github.com/fcrepo4/fcrepo4/blob/master/fcrepo-http-api/src/test/java/org/fcrepo/integration/http/api/AbstractResourceIT.java#L9115:44
* coblej joins15:45
<acoburn1>whikloj: there are some curious tests in there15:46
<ajs6f>whikloj: if it is set, but not any value, that could cause For input string: ""
<whikloj>acoburn1: in where? fcrepo-http-api or fcrepo-container-file?
<acoburn1>whikloj: fcrepo-container-file
<whikloj>ajs6f: yeah, I can't see where though
<ajs6f>whikloj; There is unset, there is set, and then there's set to some value
<acoburn1>whikloj: that is, fcrepo-connector-file15:47
<ajs6f>whikloj: where is your test getting run? webapp-plus?
* manez joins
<whikloj>acoburn1: yeah, I'm just trying to get it out. I don't fully understand most of this thing
<ajs6f>That's Fedora's MO.
<whikloj>ajs6f: no, I'm trying to put it in fcrepo-connector-file
* amccarty_ leaves
<acoburn1>ajs6f++
<ajs6f>whikloj: okay, in the pom there, is there a stanza in plugins, a plugin that is build-helper and has the names of various system properties that are to be assigned port values?/15:48
<acoburn1>whikloj: like this: https://github.com/fcrepo4-exts/fcrepo-camel/blob/4c90f9915b0e4a1607b8540d892c6a1743226e53/pom.xml#L354-L35915:49
whikloj: plus the "reserve-port" execution
<whikloj>acoburn1/ajs6f: Okay I don't have that plugin in my pom15:50
Perhaps that is the problem :)
<ajs6f>whikloj: That _could_ be the For input string: "" problem
<acoburn1>whikloj: here's a full example: https://github.com/fcrepo4/fcrepo4/blob/master/pom.xml#L489-L508
<ajs6f>acoburn1++
acoburn1: are you the 1.0 release of acoburn?
<acoburn1>asj6f: only the release candidate15:51
<ajs6f>acoburn1: so you are not thoroughly tested.
* acoburn1 leaves
* acoburn joins
ajs6f: definitely not very tested15:52
<ajs6f>whikloj: are you doing all right?16:04
<whikloj>ajs6f: yeah whacking noClassDefFound errors
<ajs6f>whikloj: k, maven is PHUN
whikloj: From the Maven docs:16:06
test
This scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases. This scope is not transitive.
So if you find that you keep having to add more deps, that's why.
'This cope is not transitive."
So actually, I think my advice about leaving out http-commons was totally wrong.
<whikloj>ajs6f: soooooo I am missing org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpServerFactory
<acoburn>whikloj: I believe there are a number of grizzly components that will need to be added
<whikloj>but I have added16:07
<ajs6f>acoburn: Take a look at what is in the maven for http-api.
<whikloj><artifactId>grizzly-http-server</artifactId>
and
<artifactId>grizzly-http-servlet</artifactId>
<acoburn>whikloj: jersey-test-framework-provider-grizzly2?
whikloj: jersey-server?
whikloj: with groupId: org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-grizzly216:08
whikloj: and org.glassfish.jersey.core:jersey-server
<whikloj>acoburn: all of them?
I did see all those, I was trying to avoid my habit of grabbing all dependencies (whether I know I need them or not)
<acoburn>whikloj: I don't know — for this sort of thing, I just close my eyes and cross my fingers
<ajs6f>Again, a good summary of Fedora's MO.16:09
<whikloj>haha
* manez leaves16:10
<acoburn>whikloj: see this? https://github.com/whikloj/fcrepo-connector-file/blob/master/src/test/java/org/fcrepo/integration/connector/file/AbstractFedoraFileSystemConnectorIT.java#L167-L178
whikloj: for me it keeps blowing away the repository.json file
whikloj: and then the http server fails to start16:11
<whikloj>acoburn: ok, I think I just got that error16:12
acoburn: ends with "JSON documents must begin with a '{' character"
<acoburn>whikloj: yeah
whikloj: and cat ./target/test-classes/config/testing/repository.json shows it's empty16:13
<whikloj>acoburn: yeah, I removed the repo.xml and the testDir2 failed, because a directory was not created. So I had to re-add it
<acoburn>but mvn package creates the file correctly
whikloj: it's one of those tests that removes the file (!)16:14
<whikloj>acoburn: So either we move the repository.json or change that test
<acoburn>whikloj: or make judicious use of the @Ignore param
whikloj: as is apply it liberally
<whikloj>acoburn: haha, I did add a src/test/resource/test-objects directory with a binary, maybe copy these files there and redirect the tests16:15
<acoburn>whikloj: that would be a good idea
<whikloj>acoburn: ok that worked, now I have missing dependency injections. No NodeService, BinaryService, etc16:21
<acoburn>whikloj: just a sec — I had that too
whikloj: you need a component-scan in the spring config
<whikloj>acoburn: in the repo.xml/16:22
<acoburn>whikloj: add this to rest.xml: <context:component-scan base-package="org.fcrepo"/>
<whikloj>acoburn: I removed all those XML files, so I do need them
<acoburn>whikloj: or repo.xml
whikloj: I added only the repo.xml
whikloj: that is, it's just what it used to be (plus the one new line)16:23
whikloj: I'm just getting a new set of errors now :-/
<whikloj>That's Fedora's MO16:25
<acoburn>whikloj++16:28
<whikloj>acoburn: you're getting the initialization errors?16:29
<acoburn>whikloj: not any more
whikloj: I think I'm onto something
<whikloj>acoburn++
<acoburn>whikloj: in the test-obj directory put a copy of the repository.json
<whikloj>acoburn: why?16:30
<acoburn>whikloj: why not?
<whikloj>acoburn: lol
<acoburn>whikloj: really — one of the tests expects that the directory contains a file with that name16:31
<ajs6f>Fedora 4: Why not? It's not like things were working before.
<acoburn>whikloj: and then it zeros it out
whikloj: that what I mean by "curious tests"
<whikloj>acoburn: yes
<acoburn>whikloj: I could have used a different adjective16:32
<whikloj>acoburn: ok, I think my directory setup is different from yours. But I am behind anyways as I am not getting the directory property initialized
<acoburn>whikloj: I seem to get the first federated one initialized, but not the second
whikloj: you also need to set the dir path in the pom.xml file16:33
<whikloj>acoburn: ahhhh
acoburn: for the repository.json you mean?16:34
<acoburn>whikloj: yes, I think
whikloj: the repository.json config includes two directory locations which need to exist
whikloj: by creating them in resources (with a file) they get created in ./target/test-classes/<dir>16:35
whikloj: so as long as the modeshape config knows about them, all is well
whikloj: at least until the next error
<whikloj>acoburn: yeah, I left repository.json where it was and pointed the test (setSystemPropertiesAndCleanUp) to the new copies directory in test-objects16:36
acoburn: and it is blanking both files16:38
<acoburn>whikloj: right
<whikloj>acoburn: maybe because this is through the glassfish server we need to use system properties?16:40
<acoburn>whikloj: quite possibly
<whikloj>acoburn: forget that, it is using System.setProperty
<acoburn>whikloj: cool, now I'm on to the next error16:42
<whikloj>acoburn: I'm staring at more glassfish dependency errors16:44
<acoburn>whikloj: me too — unable to resolve ExternalContentService
<whikloj>org.glassfish.hk2.api.UnsatisfiedDependencyException: There was no object available for injection at SystemInjecteeImpl16:45
<acoburn>whikloj: related to org/fcrepo/http/commons/domain/ContentLocationMessageBodyReader.java
whikloj: yes
<whikloj>acoburn: yes messageBody
<acoburn>whikloj: that's implemented as part of the modeshape impl16:46
whikloj: I'm going to try to add some more spring xml files to the config and see what happens
whikloj: basically copy from what's in fcrepo-http-api in ./src/test/resources/test-spring16:47
<whikloj>acoburn: so copy all those XML files back over
<acoburn>whikloj: maybe not all, but yes
<whikloj>acoburn: this is because the instance is not starting up correctly?16:49
<acoburn>whikloj: remember Fedora's MO?16:50
<whikloj>acoburn: so maybe we need to include fcrepo-kernel-api?
<acoburn>whikloj: that should already be there via the other dependencies
<whikloj>acoburn: yeah we have a dependency on fcrepo-kernel-modeshape already16:52
* ajs6f leaves16:53
* dwilcox leaves16:55
* coblej leaves16:58
<whikloj>acoburn: what object is it trying to inject in that error?17:01
<acoburn>whikloj: not sure
* apb18 leaves17:07
* manez joins17:11
<acoburn>whikloj: those tests are completely wonky17:15
<whikloj>acoburn: yep
* manez leaves
<whikloj>acoburn: also wonky was a much more diplomatic term
<acoburn>whikloj: basically, they need to be rewritten
whikloj: and I'm not doing that (nor should you)17:16
<whikloj>acoburn: I'm lost as to what that ContentErrorThing is
acoburn: This maybe why awoods suggested fcrepo-webapp-plus
Not that I was having anymore luck there
<acoburn>whikloj: possibly
whikloj: it just seems wrong to have the tests there17:17
<whikloj>acoburn: no I understand and agree, that whole profile thing is becoming a jungle17:18
<acoburn>whikloj: I feel like this whole thing is backwards17:20
whikloj: we want the connector module out of core
whikloj: no one is standing up to say they want to maintain it
* tpendragon leaves
<acoburn>whikloj: but b/c it's proving difficult to extract, it's staying in17:21
<whikloj>acoburn: I thought that group from... somewhere wanted it
<acoburn>whikloj: right, but who's maintaining the code?
<whikloj>acoburn: I assumed they would, otherwise it moves to fcrepo-archive
<acoburn>whikloj: so why not just move it to labs and if someone wants it, they'll get the tests to work17:22
whikloj: if not, it goes to archive
<whikloj>acoburn: at this point I'd agree. But mostly because I don't rely on it at all. If I did, I might have a different opinion.17:23
<acoburn>whikloj: it's not as though we're actually changing any _code_ as part of this
* tpendragon joins
<whikloj>acoburn: maybe we let it pass this release and make that the process for the next release, someone gets it working as a module or it goes to labs17:24
<acoburn>whikloj: if it "worked" before, it presumably "works" now
<whikloj>acoburn: haha, I have no idea how to actually test this too
<acoburn>whikloj: what does "pass this release" mean?
whikloj: I'd like to get Fedora to the point that before we even start the release process for a minor (i.e. 4.6 -> 4.7) we know that the next release will be another minor release (4.7 -> 4.8)17:25
4.8 that is
<whikloj>acoburn: you want that?17:26
<acoburn>whikloj: that didn't make any sense
whikloj: I mean exactly the opposite
<whikloj>acoburn: ah ok
<acoburn>whikloj: i.e. that if we're about to start the process for a 4.7.0 release, that we know that we can sit at 4.7.x for a while
<whikloj>acoburn: well, I'll play with it some more this weekend. See if I can have an epiphany some how17:27
<acoburn>whikloj: that it's _not_ the case that the very first thing we do is make a breaking change
whikloj: people don't like that
<whikloj>acoburn: no I hear you, well... we have deprecated the endpoint for a release17:28
acoburn: If I knew who was using this we could ask them to step up and get it working... if they want it.
<acoburn>whikloj: IMO, this would be a good approach — 1. remove the failing tests, 2. put it provisionally in -exts, 3. request someone in the community sign up to support it 4. if no one supports it, it goes into -labs17:30
or into -archive
whikloj: if it goes into -labs, then it shouldn't be part of webapp-plus
whikloj: the problem is that we talked about a code freeze starting monday and this bears discussion17:31
<whikloj>acoburn: we can push it back17:32
acoburn: as the Release Manager...I CAN PUSH IT
<acoburn>whikloj: YOU HAVE THE POWER
<whikloj>acoburn: they can fire me if they like ;)
<acoburn>whikloj: here's another approach (which I may very well attempt)17:33
<whikloj>acoburn: this really seems like jersey is not properly initialized17:34
<acoburn>whikloj: omit the whole HTTP layer and replicate the tests directly through the FedoraResource interface
whikloj: I agree — there's something wrong with the initialization
whikloj: if you do a `ls -l ./target/test-classes/spring-test`, do the files have content?17:35
<whikloj>acoburn: yes17:36
<acoburn>whikloj: even repo.xml?17:37
whikloj: it has 1B for me
<whikloj>acoburn: yes, but I did something else. I hardcoded the directories into the repository.json file, instead of that weird @BeforeClass function17:39
acoburn: and pointed them to copies in target/test-classes/test-objects/spring-test
acoburn: those are empty
<acoburn>whikloj: I did that, too
<whikloj>acoburn: I'll push my changes so you can see if there is something different17:40
<acoburn>whikloj: cool, I'm going to need to leave in a sec to make dinner
<whikloj>acoburn: yeah, I have leave soon too or they lock me in for the weekend :)17:41
* acoburn leaves17:42
* whikloj leaves17:46
* amccarty joins17:48
* dwilcox joins17:50
* apb18 joins17:52
* amccarty leaves17:54
* apb18 leaves17:59
* dchandekstark leaves18:01
* mjgiarlo joins18:04
* manez joins18:12
* manez leaves18:17
* manez joins18:19
* mjgiarlo leaves18:20
* dwilcox leaves18:22
* dwilcox_ joins
* dwilcox_ leaves
* peichman leaves18:25
* apb18 joins
* manez leaves18:37
* amccarty joins18:50
* amccarty leaves18:55
* acoburn joins18:57
* acoburn leaves
* dchandekstark joins19:02
* dchandekstark leaves19:06
* apb18 leaves19:13
* apb18 joins19:31
* manez joins19:38
* manez leaves19:42
* apb18 leaves19:52
* whikloj joins19:55
* amccarty joins19:57
* amccarty leaves20:02
* dchandekstark joins20:03
* dchandekstark leaves20:09
* apb18 joins20:33
* dchandekstark joins20:49
* dchandekstark leaves
* whikloj leaves21:02
* whikloj joins
* whikloj leaves21:07
* mikeAtUVa leaves21:08
* whikloj joins21:18
* apb18 leaves21:38
* amccarty joins21:45
* dchandekstark joins21:49
* amccarty leaves21:50
* dchandekstark leaves21:54
* mjgiarlo joins21:55
* dhlamb joins21:56
* amccarty joins22:46
* amccarty leaves22:50
* f4jenkins joins23:11
* dhlamb leaves23:51
* dchandekstark joins
* dchandekstark leaves23:55
* amccarty joins00:34
* amccarty leaves00:38
* dchandekstark joins00:52
* mjgiarlo leaves00:54
* dchandekstark leaves00:58
* whikloj leaves01:48
* amccarty joins02:22
* amccarty leaves02:26