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

Using timezone: Eastern Standard Time
* dwilcox joins07:57
* gregjansen joins09:33
* scossu joins10:00
* dwilcox leaves10:02
* osmandin joins10:48
* ermadmix joins
* dwilcox joins11:24
* acoburn joins11:31
* martinjd joins11:34
<awoods>ermadmix: please post your notes to the wiki page when you have the chance. Thanks.12:06
* acoburn leaves12:08
<ermadmix>awoods: they're up now12:11
* gregjansen leaves12:27
<awoods>thanks, ermadmix.
* martinjd leaves12:59
* osmandin leaves13:13
* ermadmix leaves13:14
* ermadmix joins13:15
* martinjd joins13:31
* ermadmix leaves13:47
* ermadmix joins14:01
* scossu leaves14:03
* martinjd leaves14:35
* ermadmix leaves14:45
* bljenkins leaves14:46
* ermadmix joins
* bljenkins joins
* ermadmix leaves14:56
* ermadmix joins15:19
* nikhiltri joins15:57
* fcrepo-bot joins16:21
* dwilcox leaves16:26
<nikhiltri>Can I execute a sequencer based off a Fedora property? In my repository.json: "pathExpressions" : [ ":(//*)/*@fcrepo:mixinTypes" ]16:31
I'm wondering if only jcr:* properties are being recognized.16:32
<awoods>nikhiltri: do you have an example sequencer to share? You are treading in uncharted waters... but I would be happy to test out what you have.16:39
<nikhiltri>Right now my sequencer code simple logs that it was called. I'll get it on Github though so you can see the context, one sec.16:41
* scossu joins16:52
<nikhiltri>awoods: Here's the basic sequencer: https://github.com/aic-collections/aicdams-lake/blob/master-aic/aic-sequencers/src/main/java/edu/artic/dams/sequencers/ImagePublishDerivativeSequencer.java17:02
<awoods>thanks, nikhiltri. I will give it a look.17:03
<nikhiltri>awoods: And the repository.json: https://github.com/aic-collections/aicdams-lake/blob/master-aic/fcrepo-webapp/src/aic/resources/config/aic/repository.json.example
<benpennell>nikhiltri: it may or may not be useful, but this example sequencer I worked on is functional, but I'm only checking jcr properties in my path expression https://github.com/bbpennel/fcrepo-extract-mods-properties-sequencer/blob/master/src/test/resources/mods-repo-config.json17:05
<awoods>nikhiltri: do you have your repository.json for this?
<nikhiltri>awoods: https://github.com/aic-collections/aicdams-lake/blob/master-aic/fcrepo-webapp/src/aic/resources/config/aic/repository.json.example17:12
awoods: Copy it over, we don't keep repo.json in Git
* fcrepo-bot leaves17:23
<nikhiltri>benpennell: Thanks for the reference!17:32
* scossu leaves
<benpennell>if you manage to get event listeners working in an integration test, let me know :)
* scossu joins
<nikhiltri>benpennell: Will do!17:38
* ermadmix leaves17:52
<awoods>nikhiltri: your sequencer works for me.17:54
"sequencing": {17:55
"sequencers": {
"ImagePublishDerivativeSequencer": {
"name": "Image publish derivative sequencer",
"classname": "org.fcrepo.kernel.impl.Junk",
"pathExpressions": [ "//*@dc:creator" ]
nikhiltri: I changed your pathExpression a bit, based on the Modeshape documentation.
<nikhiltri>awoods: Great, I'll give that a shot!17:56
<awoods>nikhiltri: let me know how it goes.17:57
<nikhiltri>awoods: It still doesn't seem to be responding. On the node, I'm running "INSERT { <> a aicmix:publ_web }" and expecting the sequencer to run. Am I doing it wrong?18:00
<awoods>nikhiltri: How exactly are you "running" your property update?18:02
nikhiltri: -XPATCH ?
<nikhiltri>awoods: From the "Update Properties" box on the web UI
<awoods>nikhiltri: ok18:03
nikhiltri: let me give it a look18:04
<nikhiltri>awoods: Thanks!18:05
<scossu>nikhiltri: who are you authenticating as when you perform the update?18:13
<nikhiltri>scossu: admin18:15
<awoods>nikhiltri: I am trying to reconcile your property update mentioned above with the sequencer pathExpression you provided...
nikhiltri: The pathExpression is looking for nodes with the property: "fcrepo:mixinTypes"18:16
nikhiltri: How does that relate to adding the "aicmix:publ_web" mixin to an object?18:17
<nikhiltri>awoods: Yes, because "aicmix:publ_web" is defined as a mixin: https://github.com/aic-collections/aicdams-lake/blob/master-aic/fcrepo-webapp/src/aic/resources/cnd/aic-assets.cnd#L115
awoods: So I want the sequencer to run whenever mixins are added or removed from a node.18:18
<scossu>nikhiltri, awoods: actually the fcrepo:mixinTypes sounds redundant. You can try removing the property from the path expression, and than just check if the mixin you are looking for is there or not in the sequencer.
That basically monitors all nodes, so if that works you might want to restrict it further to avoid overhead.18:19
<awoods>nikhiltri: agreed18:21
scossu: agreed
<nikhiltri>awoods, scossu: But then it would run whenever anything on the node changes, not just the mixins, yea? I was hoping the sequencer could be a bit more targetted.18:22
<scossu>nikhiltri: unfortunately I don't know a way to monitor a property and reference the owner object in the sequencer. I'm not sure if you can.18:24
nikhiltri: we could restrict it to nodes with 'rdf:type' property set to http://artic.edu/definitions/ontology/1.0#resource18:25
<awoods>nikhiltri/scossu: as a note, fcrepo:mixinTypes is not a real property, but one that is generated on-the-fly in respones.
<scossu>awoods: are all inferred rdf:type properties persisted?
<awoods>scossu: like what?18:26
scossu: what is an example of an inferred type?18:27
<scossu>awoods: like aic:resource, which is a supertype of aic:image in the CND. So if I do INSERT {<> a aic:image}, the aic:resource rdf:type property is also shown.18:28
<awoods>scossu: There is a mapping between what is persisted in the repository and what is returned in responses...18:29
scossu: objects have primary-types and mixins...
scossu: rdf:types are translated into mixins18:30
<scossu>awoods: I see. So the rdf:type list that I see in an object node are not properties stored in the JCR as rdf:type?
<awoods>scossu: correct18:31
scossu: they are stored as mixins, or primary-types, or super-types
<scossu>Ok, so that cannot be a property to base our sequencer path expression on18:33
<awoods>scossu: correct
nikhiltri: as a note, the following pathExpression picks up all changes: "pathExpressions": [ "//*" ]
<nikhiltri>awoods, scossu: Yes, I got the sequencer responding with: "pathExpressions" : [ "//*" ]. I'll limit it's execution within the Sequncer itself. Thanks for the help!18:34
<scossu>nikhiltri: that's great. I don't know if monitoring all nodes will tax the repo too much though.
<nikhiltri>scossu: That was my initial concern, we'll have to keep an eye on it.18:35
<scossu>nikhiltri: Oh, you know what: we can filter by nodes with aic:uid. That is a real propertiy that is required for all aic:resource nodes.18:36
So you could try "//*[aic:uid]".18:38
<nikhiltri>scossu: That's not calling the sequencer. I think that expression would only call the sequencer when the aic:uid property changes.18:40
<awoods>nikhiltri: That is a little surprising that it does not work. https://docs.jboss.org/author/display/MODE/Sequencing#Sequencing-Inputpath18:42
nikhiltri: "Square brackets can also be used to specify criteria on a node's properties or children."18:43
<scossu>nikhiltri: maybe you're right. I think that the "selected node" is the one passed to the sequencer, the "input node/input property" are the ones being watched. The documentation is a bit18:45
• https://docs.jboss.org/author/display/MODE/Sequencing#Sequencing-Examplepathexpression
nikhiltri: in that case, if I'm understanding the documentation right, we could try something:18:48
Oh forget it. That wouldn't work.18:49
For now it would be great to just have the sequencer working.
<nikhiltri>awoods, scossu: With a path expression "//*[@aic:uid]", if I add a mixin to a node the sequencer does not get called.18:50
<scossu>nikhiltri: that's right, so we'll have to find out another way to filter. But for now it should be fine to test with the "//*" path expression.18:52
<nikhiltri>scossu: Yes, I'll revisit the config-based filtering later. Thanks for the help awoods!
<awoods>nikhiltri: good luck, and keep me posted on any discoveries you make on the config-based filtering.18:53
<nikhiltri>awoods: Will do!
awoods, scossu: Quick update, I got the sequencer called with this path expression: "//*[@jcr:mixinTypes]"18:59
<awoods>nikhiltri: that was fast
nikhiltri: and that will filter on exactly what you want.19:00
<scossu>nikhiltri: does the sequencer only run on mixin type change?
<nikhiltri>awoods: I was following a hunch during our chat.
scossu: I have to verify that, but it's a promising start.19:01
<scossu>nikhiltri: great. Keep following your hunch, don't lose him
<nikhiltri>scossu, awoods: I gotta run, I'll keep you posted. Thanks!19:07
* scossu leaves19:15
* nikhiltri leaves20:13
* scossu joins20:32
* scossu leaves23:52

Generated by Sualtam