-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add IUuidCache functions for transactions #4
Conversation
Testing!!! |
@ruebot updated with some instructions to test. Let me know if I was unclear or if anything breaks. |
Install notes:
👍 |
Oh I thought we already had |
Yeah, I totally thought we did too. shrugs |
@whikloj now you got me thinking. Since thanks to you we have |
Testing notes: Before this PR 1:
2:
|
@DiegoPino not sure what we want to use But I wrote it so we could swap it out for a different caching layer, as long as you implement the IUuidCache interface. So it doesn't have to be |
Ok I think this is correct now. There were a variety of issues that I did not notice. Also I got rid of the UuidServiceProvider as it was duplicating the work in the Chullo UuidGenerator. Then I added it to the CrayfishProvider as I couldn't see why we would keep a second ServiceProvider. Lastly, I also realized my test turtle file was incorrect. It was missing the hash at the end of the XML Schema prefix. The file should be
My test (with the corrected turtle file) was
|
@whikloj amazing job 👍 . Working late also! Will give this a look tomorrow. Good night |
@whikloj I'm still not able to
|
Thats because you didn't include the transaction ID in your GET. You wanted to run
|
|
Did you create a new transaction? 'Cause they expire after 3 minutes of inactivity. |
facepalm |
@whikloj wanna laugh again? I have verified "Before this PR" above. Now I will test your pull request. facepalm facepalm facepalm |
Sadface. I still get a 404 on the
|
@ruebot I think you are accessing PDX based on the returned header If so, did you update the composer.json from PDX to use the local Crayfish repository and branch? My test was run direct against Crayfish, but I can try and re-run it against PDX. |
Ok. Close. We fail on the last part of the testing process now. tl;dr
TOO LONG. WILL TOTALLY READ.
|
...I'll also note, that I'm not seeing anything in http://localhost:8080/fcrepo/rest/ at all. |
Yeah this is due to an initial failure installing the transforms into Fedora, seems that if it fails once it is dead for all time. I'll have to look into making that more stable. |
…e errors Fix file path errors to ldpath transform file. Fix reference to TransactionController in ResourceController
I'm gonna add a file based cache to this and make that the default. I like Redis and I think it is better, but for setting up vagrant a simple file cache is easier. So I'm looking at https://github.com/beryllium/silex-cache-provider |
I just realized that for vagrant we are grabbing the
|
Forget option 1. There are additional (Apache Marmotta) dependencies required, easier to just get the webapp-plus. |
@whikloj good catch! We'd been just using that because we were punting on AuthN/Z. Might as well start moving to that now. I'll create a ticket for that now. |
Current coverage is 76.71%@@ master #4 diff @@
==========================================
Files 4 4
Lines 195 292 +97
Methods 15 20 +5
Messages 0 0
Branches 0 0
==========================================
+ Hits 119 224 +105
+ Misses 76 68 -8
Partials 0 0
|
Are you ok with me merging this? Or do you want to test further? |
@whikloj I think we're good.
|
Update dependencies to support using Composer 2.0 for installation.
Addresses Islandora/documentation#185
Depends on Islandora/chullo#41
This PR adds the ability to interact with objects inside a transaction.
CLAW uses a UUID -> Fedora Path mapping which is stored in the triplestore,
this is generated by fcrepo-camel-toolbox using events coming out of Fedora.
Inside a transaction nothing is permanent until you commit the transaction, therefore no events are generated in the interim so the UUID is not stored in the triplestore.
So we store the temporary path and the UUID in a simple key cache with the transaction ID.
Testing
Using a turtle file like this
Before this PR.
After this PR