Modifying relationships fails on Fedora 3.6 - 3.6.2 due to URL-encoding PIDs
I've filed this bug with the Fedora team as 1187 ( https://jira.duraspace.org/browse/FCREPO-1187 ).
When Fedora switched to using Apache CXF to drive their REST installation an error in one of their regular expressions causes the add_relationship and purge_relationship calls to fail with a 404 error. I've forked Rubydora ( https://github.com/swieton/rubydora ) with a fix to the escaping of colons in order to work around this bug in Fedora 3.6.
The problem is that paths like /objects/foo:123/relationships/new work, but Rubydora is (correctly) encoding it as /objects/foo%3A123/relationships/new which does not work currently.
I'm not sure if there's anything to be done in Rubydora to resolve this (since it is a bug) but if you've seen these 404 errors, this is the cause.
Thanks! Mike
The Fedora team has just updated the issue at https://jira.duraspace.org/browse/FCREPO-1187 and added a fix version: 3.7.
There's probably not much need to deal with this in rubydora (since an updated Fedora will soon be sufficient), but a documentation update listing 3.6 as 'not fully compatible' may be in order.
Thanks. We already have some Fedora-version-specific code in Rubydora, so a hack to support 3.6 isn't out of the question. I'd leave this bug open, in case someone feels like solving it for the rest of us.