Skip to content

Fedora JMS discovery for HydraNorth

Shane Murnaghan edited this page Mar 23, 2017 · 31 revisions

Fedora JMS discovery for HydraNorth

Only fields we really care about from the JMS Stomp messages are:

More info here: https://wiki.duraspace.org/display/FEDORA4x/Setup+Camel+Message+Integrations#SetupCamelMessageIntegrations-MessageHeaders https://wiki.duraspace.org/display/FEDORA38/Messaging

Differences in Hydranorth2

More details: https://github.com/ualbertalib/pushmi_pullyu/wiki/Fedora-JMS-discovery-for-HydraNorth2

  • JMS messages have more information but less details in hydranorth2
  • HydraNorth JMS messages seem to only contain the header info? No body is given unlike Hydranorth2

Sample Object from Hydranorth:

#<Stomp::Message:0x00000002371070
 @body="",
 @command="MESSAGE",
 @headers=
  {"expires"=>"0",
   "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified",
   "org.fcrepo.jms.identifier"=>"/dev",
   "destination"=>"/topic/fedora",
   "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED",
   "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba",
   "priority"=>"4",
   "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest",
   "org.fcrepo.jms.timestamp"=>"1489698488670",
   "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:227",
   "persistent"=>"true",
   "timestamp"=>"1489698488672"},
 @original=
  "MESSAGE\n" +
  "expires:0\n" +
  "org.fcrepo.jms.properties:http://www.jcp.org/jcr/1.0lastModified\n" +
  "org.fcrepo.jms.identifier:/dev\n" +
  "destination:/topic/fedora\n" +
  "org.fcrepo.jms.eventType:http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED\n" +
  "subscription:506d73961e148f1f3f6a08b86609c69434cceaba\n" +
  "priority:4\n" +
  "org.fcrepo.jms.baseURL:http://127.0.0.1:8983/fedora/rest\n" +
  "org.fcrepo.jms.timestamp:1489698488670\n" +
  "message-id:ID:murny-40443-1489685964249-3:1:1:1:227\n" +
  "persistent:true\n" +
  "timestamp:1489698488672\n" +
  "\n" +
  "\u0000">

Sample Object from HydraNorth2:

#<Stomp::Message:0x00000000d61f78
 @body=
  "{\"id\":\"http://127.0.0.1:8984/rest/dev/3d/b0/af/2a/3db0af2a-4155-4f78-b81f-1ac9fa8e98b2\",\"type\":[\"http://www.w3.org/ns/ldp#Container\",\"http://fedora.info/definitions/v4/repository#Resource\",\"http://fedora.info/definitions/v4/repository#Container\",\"http://www.w3.org/ns/ldp#RDFSource\",\"http://www.w3.org/ns/prov#Entity\"],\"isPartOf\":\"http://127.0.0.1:8984/rest\",\"wasGeneratedBy\":{\"type\":[\"http://fedora.info/definitions/v4/event#ResourceCreation\",\"http://fedora.info/definitions/v4/event#ResourceModification\",\"http://www.w3.org/ns/prov#Activity\"],\"identifier\":\"urn:uuid:cded2bcd-afab-4820-9061-d0768c45d4b2\",\"atTime\":\"2017-03-16T21:19:28.244Z\"},\"wasAttributedTo\":[{\"type\":\"http://www.w3.org/ns/prov#Person\",\"name\":\"bypassAdmin\"},{\"type\":\"http://www.w3.org/ns/prov#SoftwareAgent\",\"name\":\"Faraday v0.10.1\"}],\"@context\":{\"prov\":\"http://www.w3.org/ns/prov#\",\"foaf\":\"http://xmlns.com/foaf/0.1/\",\"dcterms\":\"http://purl.org/dc/terms/\",\"xsd\":\"http://www.w3.org/2001/XMLSchema#\",\"type\":\"@type\",\"id\":\"@id\",\"name\":{\"@id\":\"foaf:name\",\"@type\":\"xsd:string\"},\"identifier\":{\"@id\":\"dcterms:identifier\",\"@type\":\"@id\"},\"isPartOf\":{\"@id\":\"dcterms:isPartOf\",\"@type\":\"@id\"},\"atTime\":{\"@id\":\"prov:atTime\",\"@type\":\"xsd:dateTime\"},\"wasAttributedTo\":{\"@id\":\"prov:wasAttributedTo\",\"@type\":\"@id\"},\"wasGeneratedBy\":{\"@id\":\"prov:wasGeneratedBy\",\"@type\":\"@id\"}}}",
 @command="MESSAGE",
 @headers=
  {"expires"=>"0",
   "org.fcrepo.jms.identifier"=>"/dev/3d/b0/af/2a/3db0af2a-4155-4f78-b81f-1ac9fa8e98b2",
   "org.fcrepo.jms.user"=>"bypassAdmin",
   "org.fcrepo.jms.resourceType"=>
    "http://www.w3.org/ns/ldp#Container,http://fedora.info/definitions/v4/repository#Resource,http://fedora.info/definitions/v4/repository#Container,http://www.w3.org/ns/ldp#RDFSource",
   "destination"=>"/topic/fedora",
   "org.fcrepo.jms.eventType"=>
    "http://fedora.info/definitions/v4/event#ResourceCreation,http://fedora.info/definitions/v4/event#ResourceModification",
   "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba",
   "priority"=>"4",
   "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8984/rest",
   "org.fcrepo.jms.eventID"=>"urn:uuid:cded2bcd-afab-4820-9061-d0768c45d4b2",
   "org.fcrepo.jms.timestamp"=>"1489699168244",
   "message-id"=>"ID:murny-34627-1489699146807-4:1:1:1:1",
   "persistent"=>"true",
   "org.fcrepo.jms.userAgent"=>"Faraday v0.10.1",
   "timestamp"=>"1489699168433"},
 @original=
  "MESSAGE\n" +
  "expires:0\n" +
  "org.fcrepo.jms.identifier:/dev/3d/b0/af/2a/3db0af2a-4155-4f78-b81f-1ac9fa8e98b2\n" +
  "org.fcrepo.jms.user:bypassAdmin\n" +
  "org.fcrepo.jms.resourceType:http://www.w3.org/ns/ldp#Container,http://fedora.info/definitions/v4/repository#Resource,http://fedora.info/definitions/v4/repository#Container,http://www.w3.org/ns/ldp#RDFSource\n" +
  "destination:/topic/fedora\n" +
  "org.fcrepo.jms.eventType:http://fedora.info/definitions/v4/event#ResourceCreation,http://fedora.info/definitions/v4/event#ResourceModification\n" +
  "subscription:506d73961e148f1f3f6a08b86609c69434cceaba\n" +
  "priority:4\n" +
  "org.fcrepo.jms.baseURL:http://127.0.0.1:8984/rest\n" +
  "org.fcrepo.jms.eventID:urn:uuid:cded2bcd-afab-4820-9061-d0768c45d4b2\n" +
  "org.fcrepo.jms.timestamp:1489699168244\n" +
  "message-id:ID:murny-34627-1489699146807-4:1:1:1:1\n" +
  "persistent:true\n" +
  "org.fcrepo.jms.userAgent:Faraday v0.10.1\n" +
  "timestamp:1489699168433\n" +
  "\n" +
  "{\"id\":\"http://127.0.0.1:8984/rest/dev/3d/b0/af/2a/3db0af2a-4155-4f78-b81f-1ac9fa8e98b2\",\"type\":[\"http://www.w3.org/ns/ldp#Container\",\"http://fedora.info/definitions/v4/repository#Resource\",\"http://fedora.info/definitions/v4/repository#Container\",\"http://www.w3.org/ns/ldp#RDFSource\",\"http://www.w3.org/ns/prov#Entity\"],\"isPartOf\":\"http://127.0.0.1:8984/rest\",\"wasGeneratedBy\":{\"type\":[\"http://fedora.info/definitions/v4/event#ResourceCreation\",\"http://fedora.info/definitions:
/v4/event#ResourceModification\",\"http://www.w3.org/ns/prov#Activity\"],\"identifier\":\"urn:uuid:cded2bcd-afab-4820-9061-d0768c45d4b2\",\"atTime\":\"2017-03-16T21:19:28.244Z\"},\"wasAttributedTo\":[{\"type\":\"http://www.w3.org/ns/prov#Person\",\"name\":\"bypassAdmin\"},{\"type\":\"http://www.w3.org/ns/prov#SoftwareAgent\",\"name\":\"Faraday v0.10.1\"}],\"@context\":{\"prov\":\"http://www.w3.org/ns/prov#\",\"foaf\":\"http://xmlns.com/foaf/0.1/\",\"dcterms\":\"http://purl.org/dc/terms/\",\"xsd\":\"http://www.w3.org/2001/XMLSchema#\",\"type\":\"@type\",\"id\":\"@id\",\"name\":{\"@id\":\"foaf:name\",\"@type\":\"xsd:string\"},\"identifier\":{\"@id\":\"dcterms:identifier\",\"@type\":\"@id\"},\"isPartOf\":{\"@id\":\"dcterms:isPartOf\",\"@type\":\"@id\"},\"atTime\":{\"@id\":\"prov:atTime\",\"@type\":\"xsd:dateTime\"},\"wasAttributedTo\":{\"@id\":\"prov:wasAttributedTo\",\"@type\":\"@id\"},\"wasGeneratedBy\":{\"@id\":\"prov:wasGeneratedBy\",\"@type\":\"@id\"}}}\u0000">

GenericFile Creation:

Click Upload Research button on homepage (or use another way to get to this url: https://era.library.ualberta.ca/files/new)

Attempt 1:

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified", "org.fcrepo.jms.identifier"=>"/dev", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688707575", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:147", "persistent"=>"true", "timestamp"=>"1489688707577"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://www.jcp.org/jcr/1.0primaryType,info:fedora/fedora-system:def/model#hasModel,http://www.jcp.org/jcr/1.0lastModifiedBy,http://www.jcp.org/jcr/1.0mixinTypes,http://www.jcp.org/jcr/1.0created,http://www.jcp.org/jcr/1.0createdBy,http://www.jcp.org/jcr/1.0uuid", "org.fcrepo.jms.identifier"=>"/dev/3j/33/32/25/3j333225q", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#NODE_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688707575", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:148", "persistent"=>"true", "timestamp"=>"1489688707577"} body='' command='MESSAGE' >

Attempt 2:

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://www.jcp.org/jcr/1.0primaryType,info:fedora/fedora-system:def/model#hasModel,http://www.jcp.org/jcr/1.0lastModifiedBy,http://www.jcp.org/jcr/1.0mixinTypes,http://www.jcp.org/jcr/1.0created,http://www.jcp.org/jcr/1.0createdBy,http://www.jcp.org/jcr/1.0uuid", "org.fcrepo.jms.identifier"=>"/dev/80/49/g5/05/8049g505r", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#NODE_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689062367", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:167", "persistent"=>"true", "timestamp"=>"1489689062368"} body='' command='MESSAGE' >

JMS Summary:

  1. The first JMS is about the actual entire dev fedora (localhost:8983/fedora/rest/dev) being changed specifically lastmodifiedBy on? It doesn't always show up from multiple attempts but quite consistent regardless.
  2. The second JMS is the creation of a Batch model object

Add file and hit Start Upload button

Attempt 1:

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified", "org.fcrepo.jms.identifier"=>"/dev", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688740619", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:149", "persistent"=>"true", "timestamp"=>"1489688740621"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://id.loc.gov/vocabulary/relators/dpt,info:fedora/fedora-system:def/model#createdDate,info:fedora/fedora-system:def/model#downloadFilename,info:fedora/fedora-system:def/model#hasModel,http://scholarsphere.psu.edu/ns#relativePath,http://www.jcp.org/jcr/1.0uuid,http://www.jcp.org/jcr/1.0primaryType,AASM::Persistence::ActiveFedoraPersistence::AASMTermsaasmstate,info:fedora/fedora-system:def/relations-external#isPartOf_ref,http://purl.org/dc/terms/creator,http://purl.org/dc/terms/type,http://www.jcp.org/jcr/1.0lastModifiedBy,http://purl.org/dc/terms/modified,http://purl.org/dc/terms/title,http://www.jcp.org/jcr/1.0mixinTypes,http://www.jcp.org/jcr/1.0created,http://www.jcp.org/jcr/1.0createdBy", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#NODE_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688740619", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:150", "persistent"=>"true", "timestamp"=>"1489688740625"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified", "org.fcrepo.jms.identifier"=>"/dev/3j/33/32/25/3j333225q", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688740619", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:151", "persistent"=>"true", "timestamp"=>"1489688740625"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688740669", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:152", "persistent"=>"true", "timestamp"=>"1489688740670"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://www.jcp.org/jcr/1.0primaryType,http://www.jcp.org/jcr/1.0lastModifiedBy,http://www.jcp.org/jcr/1.0mixinTypes,http://www.jcp.org/jcr/1.0created,http://www.jcp.org/jcr/1.0createdBy,http://www.jcp.org/jcr/1.0uuid", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k/content", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#NODE_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688740669", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:153", "persistent"=>"true", "timestamp"=>"1489688740671"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://www.jcp.org/jcr/1.0primaryType,http://www.jcp.org/jcr/1.0data,http://www.jcp.org/jcr/1.0mimeType,http://www.jcp.org/jcr/1.0lastModifiedBy,http://www.loc.gov/premis/rdf/v1#hasSize,http://www.jcp.org/jcr/1.0mixinTypes,http://www.jcp.org/jcr/1.0created,http://www.jcp.org/jcr/1.0createdBy,http://www.jcp.org/jcr/1.0uuid,http://www.loc.gov/premis/rdf/v1#hasOriginalName,http://fedora.info/definitions/v4/repository#digest", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k/content", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#NODE_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688740669", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:154", "persistent"=>"true", "timestamp"=>"1489688740671"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://www.jcp.org/jcr/1.0isCheckedOut,http://www.jcp.org/jcr/1.0versionHistory,http://www.jcp.org/jcr/1.0baseVersion,http://www.jcp.org/jcr/1.0predecessors,http://www.jcp.org/jcr/1.0mixinTypes", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k/content", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688740686", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:155", "persistent"=>"true", "timestamp"=>"1489688740688"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0isCheckedOut,http://www.jcp.org/jcr/1.0baseVersion,http://www.jcp.org/jcr/1.0predecessors", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k/content", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688740688", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:156", "persistent"=>"true", "timestamp"=>"1489688740690"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0isCheckedOut,http://www.jcp.org/jcr/1.0predecessors", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k/content", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688740690", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:157", "persistent"=>"true", "timestamp"=>"1489688740691"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified", "org.fcrepo.jms.identifier"=>"/dev", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688741158", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:158", "persistent"=>"true", "timestamp"=>"1489688741160"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.w3.org/ns/auth/acl#mode,http://www.jcp.org/jcr/1.0lastModified,http://www.jcp.org/jcr/1.0primaryType,info:fedora/fedora-system:def/model#hasModel,http://www.jcp.org/jcr/1.0lastModifiedBy,http://www.w3.org/ns/auth/acl#accessTo_ref,http://www.jcp.org/jcr/1.0mixinTypes,http://www.jcp.org/jcr/1.0created,http://www.jcp.org/jcr/1.0createdBy,http://www.jcp.org/jcr/1.0uuid,http://www.w3.org/ns/auth/acl#agent", "org.fcrepo.jms.identifier"=>"/dev/04/df/31/aa/04df31aa-4b35-4293-aee1-16c524186488", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#NODE_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688741158", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:159", "persistent"=>"true", "timestamp"=>"1489688741161"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688741158", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:160", "persistent"=>"true", "timestamp"=>"1489688741161"} body='' command='MESSAGE' >

Attempt 2:

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified", "org.fcrepo.jms.identifier"=>"/dev", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689100161", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:168", "persistent"=>"true", "timestamp"=>"1489689100163"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://id.loc.gov/vocabulary/relators/dpt,info:fedora/fedora-system:def/model#createdDate,info:fedora/fedora-system:def/model#downloadFilename,info:fedora/fedora-system:def/model#hasModel,http://scholarsphere.psu.edu/ns#relativePath,http://www.jcp.org/jcr/1.0uuid,http://www.jcp.org/jcr/1.0primaryType,AASM::Persistence::ActiveFedoraPersistence::AASMTermsaasmstate,info:fedora/fedora-system:def/relations-external#isPartOf_ref,http://purl.org/dc/terms/creator,http://purl.org/dc/terms/type,http://www.jcp.org/jcr/1.0lastModifiedBy,http://purl.org/dc/terms/modified,http://purl.org/dc/terms/title,http://www.jcp.org/jcr/1.0mixinTypes,http://www.jcp.org/jcr/1.0created,http://www.jcp.org/jcr/1.0createdBy", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#NODE_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689100161", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:169", "persistent"=>"true", "timestamp"=>"1489689100165"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified", "org.fcrepo.jms.identifier"=>"/dev/80/49/g5/05/8049g505r", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689100161", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:170", "persistent"=>"true", "timestamp"=>"1489689100165"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689100213", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:171", "persistent"=>"true", "timestamp"=>"1489689100214"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://www.jcp.org/jcr/1.0primaryType,http://www.jcp.org/jcr/1.0lastModifiedBy,http://www.jcp.org/jcr/1.0mixinTypes,http://www.jcp.org/jcr/1.0created,http://www.jcp.org/jcr/1.0createdBy,http://www.jcp.org/jcr/1.0uuid", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p/content", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#NODE_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689100213", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:172", "persistent"=>"true", "timestamp"=>"1489689100214"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://www.jcp.org/jcr/1.0primaryType,http://www.jcp.org/jcr/1.0data,http://www.jcp.org/jcr/1.0mimeType,http://www.jcp.org/jcr/1.0lastModifiedBy,http://www.loc.gov/premis/rdf/v1#hasSize,http://www.jcp.org/jcr/1.0mixinTypes,http://www.jcp.org/jcr/1.0created,http://www.jcp.org/jcr/1.0createdBy,http://www.jcp.org/jcr/1.0uuid,http://www.loc.gov/premis/rdf/v1#hasOriginalName,http://fedora.info/definitions/v4/repository#digest", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p/content", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#NODE_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689100213", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:173", "persistent"=>"true", "timestamp"=>"1489689100215"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://www.jcp.org/jcr/1.0isCheckedOut,http://www.jcp.org/jcr/1.0versionHistory,http://www.jcp.org/jcr/1.0baseVersion,http://www.jcp.org/jcr/1.0predecessors,http://www.jcp.org/jcr/1.0mixinTypes", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p/content", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689100228", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:174", "persistent"=>"true", "timestamp"=>"1489689100230"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0isCheckedOut,http://www.jcp.org/jcr/1.0baseVersion,http://www.jcp.org/jcr/1.0predecessors", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p/content", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689100230", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:175", "persistent"=>"true", "timestamp"=>"1489689100231"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0isCheckedOut,http://www.jcp.org/jcr/1.0predecessors", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p/content", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689100232", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:176", "persistent"=>"true", "timestamp"=>"1489689100232"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.w3.org/ns/auth/acl#mode,http://www.jcp.org/jcr/1.0lastModified,http://www.jcp.org/jcr/1.0primaryType,info:fedora/fedora-system:def/model#hasModel,http://www.jcp.org/jcr/1.0lastModifiedBy,http://www.w3.org/ns/auth/acl#accessTo_ref,http://www.jcp.org/jcr/1.0mixinTypes,http://www.jcp.org/jcr/1.0created,http://www.jcp.org/jcr/1.0createdBy,http://www.jcp.org/jcr/1.0uuid,http://www.w3.org/ns/auth/acl#agent", "org.fcrepo.jms.identifier"=>"/dev/6d/7d/9d/be/6d7d9dbe-28e1-4871-a8fd-34555a439a28", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#NODE_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689100730", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:177", "persistent"=>"true", "timestamp"=>"1489689100732"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689100730", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:178", "persistent"=>"true", "timestamp"=>"1489689100732"} body='' command='MESSAGE' >

JMS Summary:

  1. First JMS is again a general http://localhost:8983/fedora/rest/dev/ modified date being updated
  2. Creation of a GenericFile object
  3. Updating of the Batch object modified date (that was created in step above)
  4. Fourth is the updating of the GenericFile modified date
  5. Creation of GenericFile content (children of GenericFile) (stuff relating to primaryType/mixinTypes/uuid/createdBy/created/lastmodified/modifiedBy)
  6. Creation of GenericFile content (children of GenericFile) (similar fields as before just a few more such as /data/mimetype/has/size/hasOriginalName/digest)
  7. Updating of GenericFile content (children of GenericFile) (stuff relating to isCheckOut/baseVersion/predecessors/mixinTypes/versionHistory?)
  8. Updating of GenericFile content (children of GenericFile) (stuff relating to isCheckOut/baseVersion/predecessors?)
  9. Updating of GenericFile content (children of GenericFile) (stuff relating to isCheckOut/predecessors?)
  10. Creation of Hydra::AccessControls::Permission object
  11. Updating of the GenericFile modified date once again

Add content and Save

Attempt 1:

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://purl.org/dc/terms/type", "org.fcrepo.jms.identifier"=>"/dev/3j/33/32/25/3j333225q", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688856490", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:161", "persistent"=>"true", "timestamp"=>"1489688856490"} body='' command='MESSAGE' >

Attempt 2:

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://purl.org/dc/terms/type", "org.fcrepo.jms.identifier"=>"/dev/80/49/g5/05/8049g505r", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689157283", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:179", "persistent"=>"true", "timestamp"=>"1489689157284"} body='' command='MESSAGE' >

JMS Summary:

  1. Batch Object is updated with Last modified date and a type (sets type property to "processing")

Derivatives/Characterisation/etc Jobs fire

Attempt 1:

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://terms.library.ualberta.ca/identifiers/hasCollectionId,http://terms.library.ualberta.ca/identifiers/hasCollection,http://terms.library.ualberta.ca/identifiers/belongsToCommunity", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688861772", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:162", "persistent"=>"true", "timestamp"=>"1489688861773"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/25/14/nk/48/2514nk481", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688862483", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:163", "persistent"=>"true", "timestamp"=>"1489688862484"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://purl.org/dc/terms/license,http://www.jcp.org/jcr/1.0lastModified,http://purl.org/dc/terms/source,http://purl.org/dc/terms/relation,http://purl.org/dc/terms/language,http://terms.library.ualberta.ca/identifiers/hasCollection,http://terms.library.ualberta.ca/identifiers/hasCollectionId,http://purl.org/dc/terms/creator,http://purl.org/dc/terms/subject,http://purl.org/dc/terms/created,http://purl.org/dc/terms/type,http://www.jcp.org/jcr/1.0lastModifiedBy,http://purl.org/dc/terms/title,http://purl.org/dc/terms/isVersionOf,http://terms.library.ualberta.ca/identifiers/belongsToCommunity,http://purl.org/dc/terms/rights", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688862892", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:164", "persistent"=>"true", "timestamp"=>"1489688862893"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://purl.org/dc/terms/type", "org.fcrepo.jms.identifier"=>"/dev/3j/33/32/25/3j333225q", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489688863310", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:165", "persistent"=>"true", "timestamp"=>"1489688863310"} body='' command='MESSAGE' >

Attempt 2:

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://terms.library.ualberta.ca/identifiers/hasCollectionId,http://terms.library.ualberta.ca/identifiers/hasCollection,http://terms.library.ualberta.ca/identifiers/belongsToCommunity", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689161231", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:180", "persistent"=>"true", "timestamp"=>"1489689161231"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/25/14/nk/48/2514nk481", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689161969", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:181", "persistent"=>"true", "timestamp"=>"1489689161970"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://purl.org/dc/terms/license,http://www.jcp.org/jcr/1.0lastModified,http://purl.org/dc/terms/source,http://purl.org/dc/terms/relation,http://purl.org/dc/terms/language,http://terms.library.ualberta.ca/identifiers/hasCollection,http://terms.library.ualberta.ca/identifiers/hasCollectionId,http://purl.org/dc/terms/creator,http://purl.org/dc/terms/subject,http://purl.org/dc/terms/created,http://purl.org/dc/terms/type,http://www.jcp.org/jcr/1.0lastModifiedBy,http://purl.org/dc/terms/title,http://purl.org/dc/terms/isVersionOf,http://terms.library.ualberta.ca/identifiers/belongsToCommunity,http://purl.org/dc/terms/rights", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689162363", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:182", "persistent"=>"true", "timestamp"=>"1489689162364"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://purl.org/dc/terms/type", "org.fcrepo.jms.identifier"=>"/dev/80/49/g5/05/8049g505r", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689162793", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:183", "persistent"=>"true", "timestamp"=>"1489689162793"} body='' command='MESSAGE' >

JMS Summary:

  1. Updates GenericFile object to include hasCollectionId/hasCollection/belongsToCommunity fields
  2. Updates Collection object to include hasCollectionMember/is_admin_set
  3. Updates GenericFile object to include bunch of info that user entered in previous form such as (rights/licenses/belongstoCommunity/title/creator/language/etc/etc)
  4. Updates Batch type to "Complete"

GenericFile Updating:

Update title and hit update:

Attempt 1:

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/25/14/nk/48/2514nk481", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689610976", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:184", "persistent"=>"true", "timestamp"=>"1489689610976"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://terms.library.ualberta.ca/identifiers/hasCollection,http://terms.library.ualberta.ca/identifiers/belongsToCommunity", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689612425", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:185", "persistent"=>"true", "timestamp"=>"1489689612426"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/25/14/nk/48/2514nk481", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689614035", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:186", "persistent"=>"true", "timestamp"=>"1489689614035"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/00/00/00/00/000000000", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689615490", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:187", "persistent"=>"true", "timestamp"=>"1489689615490"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://terms.library.ualberta.ca/identifiers/belongsToCommunity", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689616840", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:188", "persistent"=>"true", "timestamp"=>"1489689616841"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/00/00/00/00/000000000", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689618324", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:189", "persistent"=>"true", "timestamp"=>"1489689618324"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://purl.org/dc/terms/source,http://purl.org/dc/terms/subject,http://purl.org/dc/terms/created,http://purl.org/dc/terms/type,http://purl.org/dc/terms/modified,http://purl.org/dc/terms/relation,http://purl.org/dc/terms/title,http://purl.org/dc/terms/language,http://terms.library.ualberta.ca/identifiers/belongsToCommunity", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689619074", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:190", "persistent"=>"true", "timestamp"=>"1489689619075"} body='' command='MESSAGE' >

Attempt 2:

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/25/14/nk/48/2514nk481", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689733343", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:191", "persistent"=>"true", "timestamp"=>"1489689733343"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://terms.library.ualberta.ca/identifiers/hasCollection,http://terms.library.ualberta.ca/identifiers/belongsToCommunity", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689734767", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:192", "persistent"=>"true", "timestamp"=>"1489689734768"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/25/14/nk/48/2514nk481", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689736382", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:193", "persistent"=>"true", "timestamp"=>"1489689736383"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/00/00/00/00/000000000", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689737891", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:194", "persistent"=>"true", "timestamp"=>"1489689737891"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://terms.library.ualberta.ca/identifiers/belongsToCommunity", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689739364", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:195", "persistent"=>"true", "timestamp"=>"1489689739364"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/00/00/00/00/000000000", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689741067", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:196", "persistent"=>"true", "timestamp"=>"1489689741068"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://purl.org/dc/terms/source,http://purl.org/dc/terms/subject,http://purl.org/dc/terms/created,http://purl.org/dc/terms/type,http://purl.org/dc/terms/modified,http://purl.org/dc/terms/relation,http://purl.org/dc/terms/title,http://purl.org/dc/terms/language,http://terms.library.ualberta.ca/identifiers/belongsToCommunity", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689741786", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:197", "persistent"=>"true", "timestamp"=>"1489689741787"} body='' command='MESSAGE' >

JMS Summary:

  1. Updating of Collection to set hasCollectionMember/is_admin_set
  2. Updating of GenericFile to set hasCollection/belongsToCommunity
  3. Updating of Collection to set hasCollectionMember/is_admin_set (exact same as number 1?)
  4. Updating of Community to set is_admin_set
  5. Updating of GenericFile to set belongsToCommunity
  6. Updating of Community to set hasCollectionMember/is_admin_set
  7. Finally we try to actually update the contents of GenericFile. We simply update all the fields given in the form (source/subject/created/type/modified/relation/title/language/belongsToCommunity)

Just hitting update with no changes:

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/25/14/nk/48/2514nk481", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690082299", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:211", "persistent"=>"true", "timestamp"=>"1489690082300"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://terms.library.ualberta.ca/identifiers/hasCollection,http://terms.library.ualberta.ca/identifiers/belongsToCommunity", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690084001", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:212", "persistent"=>"true", "timestamp"=>"1489690084002"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/25/14/nk/48/2514nk481", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690085447", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:213", "persistent"=>"true", "timestamp"=>"1489690085447"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/00/00/00/00/000000000", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690086959", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:214", "persistent"=>"true", "timestamp"=>"1489690086959"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://terms.library.ualberta.ca/identifiers/belongsToCommunity", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690088568", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:215", "persistent"=>"true", "timestamp"=>"1489690088569"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/00/00/00/00/000000000", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690090049", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:216", "persistent"=>"true", "timestamp"=>"1489690090050"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://purl.org/dc/terms/source,http://purl.org/dc/terms/subject,http://purl.org/dc/terms/created,http://purl.org/dc/terms/type,http://purl.org/dc/terms/modified,http://purl.org/dc/terms/relation,http://purl.org/dc/terms/title,http://purl.org/dc/terms/language,http://terms.library.ualberta.ca/identifiers/belongsToCommunity", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690090999", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:217", "persistent"=>"true", "timestamp"=>"1489690091000"} body='' command='MESSAGE' >

JMS Summary: Exact same steps as making a title change above happens here too .

Making a bunch of updates then hitting save

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/25/14/nk/48/2514nk481", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690198286", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:218", "persistent"=>"true", "timestamp"=>"1489690198287"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://terms.library.ualberta.ca/identifiers/hasCollection,http://terms.library.ualberta.ca/identifiers/belongsToCommunity", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690199998", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:219", "persistent"=>"true", "timestamp"=>"1489690199999"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/25/14/nk/48/2514nk481", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690201484", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:220", "persistent"=>"true", "timestamp"=>"1489690201485"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/00/00/00/00/000000000", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690202997", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:221", "persistent"=>"true", "timestamp"=>"1489690202997"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://terms.library.ualberta.ca/identifiers/belongsToCommunity", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690204601", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:222", "persistent"=>"true", "timestamp"=>"1489690204602"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,info:fedora/fedora-system:def/relations-external#hasCollectionMember,http://terms.library.ualberta.ca/identifiers/is_admin_set", "org.fcrepo.jms.identifier"=>"/dev/00/00/00/00/000000000", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690206099", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:223", "persistent"=>"true", "timestamp"=>"1489690206100"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://purl.org/dc/terms/license,http://www.jcp.org/jcr/1.0lastModified,http://purl.org/dc/terms/source,http://purl.org/dc/terms/relation,http://purl.org/dc/terms/language,http://purl.org/dc/terms/description,http://purl.org/dc/terms/spatial,http://terms.library.ualberta.ca/identifiers/hasCollectionId,http://purl.org/dc/terms/creator,http://purl.org/dc/terms/subject,http://purl.org/dc/terms/created,http://purl.org/dc/terms/type,http://www.jcp.org/jcr/1.0lastModifiedBy,http://purl.org/dc/terms/modified,http://purl.org/dc/terms/contributor,http://purl.org/dc/terms/title,http://purl.org/dc/terms/isVersionOf,http://terms.library.ualberta.ca/identifiers/belongsToCommunity,http://purl.org/dc/terms/temporal,http://purl.org/dc/terms/rights", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690207069", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:224", "persistent"=>"true", "timestamp"=>"1489690207070"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,AASM::Persistence::ActiveFedoraPersistence::AASMTermsaasmstate", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690207930", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:225", "persistent"=>"true", "timestamp"=>"1489690207931"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,AASM::Persistence::ActiveFedoraPersistence::AASMTermsaasmstate", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690213902", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:226", "persistent"=>"true", "timestamp"=>"1489690213903"} body='' command='MESSAGE' >

JMS Summary: Exact same behavior as before. This time there is two extra messages and this is the result of the file becoming eligible for DOI miniting and therefore was issued into the DOI process: So GenericFile object had AASM::Persistence::ActiveFedoraPersistence::AASMTermsaasmstate updated twice.

Update Permissions

Attempt 1:

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://purl.org/dc/terms/modified", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689803704", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:198", "persistent"=>"true", "timestamp"=>"1489689803705"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,AASM::Persistence::ActiveFedoraPersistence::AASMTermsaasmstate", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689804352", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:199", "persistent"=>"true", "timestamp"=>"1489689804353"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified", "org.fcrepo.jms.identifier"=>"/dev", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689805022", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:200", "persistent"=>"true", "timestamp"=>"1489689805024"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.w3.org/ns/auth/acl#mode,http://www.jcp.org/jcr/1.0lastModified,http://www.jcp.org/jcr/1.0primaryType,info:fedora/fedora-system:def/model#hasModel,http://www.jcp.org/jcr/1.0lastModifiedBy,http://www.w3.org/ns/auth/acl#accessTo_ref,http://www.jcp.org/jcr/1.0mixinTypes,http://www.jcp.org/jcr/1.0created,http://www.jcp.org/jcr/1.0createdBy,http://www.jcp.org/jcr/1.0uuid,http://www.w3.org/ns/auth/acl#agent", "org.fcrepo.jms.identifier"=>"/dev/65/c1/35/ec/65c135ec-df63-42c4-994f-00509b83cd7a", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#NODE_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689805022", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:201", "persistent"=>"true", "timestamp"=>"1489689805024"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689805022", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:202", "persistent"=>"true", "timestamp"=>"1489689805024"} body='' command='MESSAGE' >

Attempt 2:

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://purl.org/dc/terms/modified", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690021401", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:205", "persistent"=>"true", "timestamp"=>"1489690021402"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,AASM::Persistence::ActiveFedoraPersistence::AASMTermsaasmstate", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690022149", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:206", "persistent"=>"true", "timestamp"=>"1489690022150"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified", "org.fcrepo.jms.identifier"=>"/dev", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690022922", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:207", "persistent"=>"true", "timestamp"=>"1489690022924"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.w3.org/ns/auth/acl#mode,http://www.jcp.org/jcr/1.0lastModified,http://www.jcp.org/jcr/1.0primaryType,info:fedora/fedora-system:def/model#hasModel,http://www.jcp.org/jcr/1.0lastModifiedBy,http://www.w3.org/ns/auth/acl#accessTo_ref,http://www.jcp.org/jcr/1.0mixinTypes,http://www.jcp.org/jcr/1.0created,http://www.jcp.org/jcr/1.0createdBy,http://www.jcp.org/jcr/1.0uuid,http://www.w3.org/ns/auth/acl#agent", "org.fcrepo.jms.identifier"=>"/dev/87/59/55/27/87595527-d3fe-4ae0-a451-ffec91ba9308", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#NODE_ADDED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690022922", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:208", "persistent"=>"true", "timestamp"=>"1489690022924"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690022922", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:209", "persistent"=>"true", "timestamp"=>"1489690022924"} body='' command='MESSAGE' >
<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,AASM::Persistence::ActiveFedoraPersistence::AASMTermsaasmstate,http://terms.library.ualberta.ca/id/doi", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489690025501", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:210", "persistent"=>"true", "timestamp"=>"1489690025502"} body='' command='MESSAGE' >

JMS Summary:

  1. Updates GenericFile last modified/modified date
  2. Updates GenericFile DOI state (AASM state)
  3. Updates Fedora (/dev) last modified date
  4. Creates/Adds Hydra::AccessControls::Permission object with ACL#mode, primaryType, hasModel, accessTo_ref, agent, uuid, created, etc, etc (its a creation? What happens to old permission object? orphaned? nuked?)
  5. Updates GenericFile last modified date
  6. (potential) Updates GenericFile DOI State and DOI field with new DOI

Just hitting save with no permission updates

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,http://purl.org/dc/terms/modified", "org.fcrepo.jms.identifier"=>"/dev/g1/58/bh/28/g158bh28p", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689971820", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:204", "persistent"=>"true", "timestamp"=>"1489689971820"} body='' command='MESSAGE' >

JMS Summary:

  1. Updating of GenericFile lastModified/Modified dates

NOTE: DOI miniting may happen which will yield another JMS message update:

<Stomp::Message headers={"expires"=>"0", "org.fcrepo.jms.properties"=>"http://www.jcp.org/jcr/1.0lastModified,AASM::Persistence::ActiveFedoraPersistence::AASMTermsaasmstate,http://terms.library.ualberta.ca/id/doi", "org.fcrepo.jms.identifier"=>"/dev/dr/26/xx/36/dr26xx36k", "destination"=>"/topic/fedora", "org.fcrepo.jms.eventType"=>"http://fedora.info/definitions/v4/repository#PROPERTY_CHANGED,http://fedora.info/definitions/v4/repository#PROPERTY_ADDED", "subscription"=>"506d73961e148f1f3f6a08b86609c69434cceaba", "priority"=>"4", "org.fcrepo.jms.baseURL"=>"http://127.0.0.1:8983/fedora/rest", "org.fcrepo.jms.timestamp"=>"1489689837275", "message-id"=>"ID:murny-40443-1489685964249-3:1:1:1:203", "persistent"=>"true", "timestamp"=>"1489689837276"} body='' command='MESSAGE' >

JMS Summary:

  1. Updates GenericFile DOI State and DOI field with new DOI

Creating GenericFile from CLI

> gf = GenericFile.create(edit_users: ['Bob'], depositor: 'Bob')

JMS Summary:

  1. Updating of Fedora (/dev) lastModified
  2. Creation of GenericFile object
  3. Updating of Fedora (/dev) lastModified
  4. Creation of Hydra::AccessControls::Permission object
  5. Updating of GenericFile lastModified

Collections and Communities?

TODO (Do we preserve Collections and Communities?)

Concerns?

Workflow shows big concerns regarding Hydra's implementations.

Doing a get request to /files/new creates a batch object in fedora (A get request is supposed to be idempotent and safe!!!!). Uploading a file creates multiple objects in fedora. So a user can abandon the creation flow at any of these steps leaving orphaned objects in fedora? The filling of the file details on the "Describe your item" form does nothing when it saves except for simply setting the batch object type and queuing of a few jobs. The jobs are what updates the data on the generic file from the form. Never mind the fact that all these details are validated on the client and not the server.

Doing an update we are greedily re-saving Communities and Collections objects which wastes tons of IO to fedora. I added a #TODO of where I think this was done in HydraNorth's codebase: https://github.com/ualbertalib/HydraNorth/blob/4480e7f5d95ff85e41d14a55e39a9f046ed02293/app/actors/hydranorth/generic_file/actor.rb#L21-L22

Also with regards to pushmi_pullyu JMS messages seem to just indicate "something" changes/added....have to look up "something" in fedora...which means:

  • Performance issues? As you need to hit fedora to see what the "something" object may actually be? A GenericFile? A Collection? A Batch? Permissions, etc.
  • How do you cut down and filter the noise? where do we decide when we should preserve an item. Do we want to preserve all these objects? Or just GenericFiles?
  • Hitting Fedora to get more information and retrieving the objects violates Ray's security requirements?
  • Questions about when upgrading to Fedora 4.X (hydranorth2 or in general for hydranorth) this will change alot of this workflow and the solution we come up with?

So big question that is left to answer is...When, how and where do we decide to preserve the items? How do we cut through the noise? Preserving live and ever changing data is a hard problem in itself. Never mind the cascading of save's that hydra workflows live by when saving or updating an object