Skip to content
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

Create a PCDM ObjectService #222

Closed
whikloj opened this issue May 12, 2016 · 7 comments
Closed

Create a PCDM ObjectService #222

whikloj opened this issue May 12, 2016 · 7 comments
Assignees

Comments

@whikloj
Copy link
Member

whikloj commented May 12, 2016

The ResourceService is meant to be low level and have no assumptions on item creation.

However for a large number of resources we will be creating pcdm:Objects, so we need a service much like the ResourceService but:

  1. It checks for the existence of a UUID in any supplied RDF and adds one if it doesn't exist. This is already done in the CollectionService, so it might be good to create a PcdmUtilities class to put some common functions like that in and call them from Collection and Object.
  2. Move the proxy deletion that @br2490 added to ResourceService to this new service instead.
  3. ...other pcdm'esque things?
@whikloj
Copy link
Member Author

whikloj commented May 12, 2016

@bryjbrown would you be interested in trying this in the sprint?

@bryjbrown
Copy link
Member

@whikloj sure, I can give it a shot. If I understand correctly, I could probably frankenstein something together from the pieces of ResourceService and CollectionService, right?

My main concern is that I'm not sure how to test a new service, this is pretty far off from anything I've done before so I may bug y'all on IRC about it.

@whikloj
Copy link
Member Author

whikloj commented May 16, 2016

Absolutely @bryjbrown, that's the best way to learn. If you want to test it, I would suggest maybe looking at writing a PHPUnit test. We do want to start adding some integration tests for these services, so we can use them to verify our work but also test new versions of Fedora 4.

Also, because of #226, what you are building is no longer a PcdmObjectService, but rather a PcdmService with both an Object and Collection component.

We'll talk at the kick-off call.

@bryjbrown
Copy link
Member

Despite not being able to close the ticket during Sprint 07, I feel like I made quite a bit of progress by having an entry point into CLAW work and diving into PCDM (and RDF/ontologies in general) and starting to play with Silex.

I've got the CLAW Vagrant VM up and running, and I should be able to access the PDX microservices directly via the REST APIs which will make it easier to understand what I'm doing and allow me to use the Fedora 4 interface to debug.

If you're okay with keeping me as the assignee, I think I could make more progress on it during the next sprint. I might try my hand at adding some unit tests (#260) too.

While I'm marinating in PCDM and Silex for the next two weeks, it would be helpful to know what the future plans for PDX are. We have a CollectionService, we're giving it an ObjectService, and it looks like @br2490 is working on a FileService in #189?

So far my understanding is that all three services listed above should:

  • Check resource for a UUID and create/attach one if it doesn't already have it
  • Verify that the resource is of the correct PCDM type

Beyond that, Collections should be able to attach/detach child Collections & Objects, and Objects should be able to attach/detach child Objects and Files.

Let me know if I got any of that wrong or if I'm leaving anything out.

@DiegoPino
Copy link
Contributor

@bryjbrown completely. I feel that is the whole idea of our Sprints. We should talk more about PDX during tomorrow calls to decide on the future services, i think derivative stuff should also go there.
Thanks for all your work!

@whikloj
Copy link
Member Author

whikloj commented May 31, 2016

@bryjbrown I would add that once you have an PCDM ObjectService running we want to move the ORE proxy deletion code of @br2490's from the Crayfish, into here.

@ruebot
Copy link
Member

ruebot commented May 31, 2016

Totally cool to keep working on this @bryjbrown. Really happy to see you willing to continue and engage with the work 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants