Join GitHub today
Community Sprint Report #2 (September 2017)
- Trey Pendragon (Princeton University)
- Esmé Cowles (Princeton University)
- James Griffin III (Princeton University)
- Noah Botimer (University of Michigan)
- Stuart Kenny (Trinity College)
- Brendan Quinn (Northwestern University)
- Adam Wead (Penn State University)
- Carolyn Cole (Penn State University)
- Michael Tribone (Penn State University)
Our second community sprint consisted of nine developers from five Samvera Partner Institutions working on tickets for four days to refactor the existing code base as well as clean up the MVP in preparation for Samvera Connect 2017.
The goals for this sprint included:
- Refactor the existing Valkyrie gem to make it easier to find where changes to casting should happen.
- Allow the Fedora adapter to accept a schema for customization of the graph it creates.
- Clean up some bugs with UI interactions for an easier demo at Samvera Connect 2017.
- Add a second work type to ensure that use case is feasible and not too complex.
- Determine how to enable custom queries when an application needs a query which Valkyrie can't reasonably provide as a part of the core interface.
- Create an interface to show all of a user's works.
- Fixity checking of files in storage adapters.
- Versioning of files.
The working group accomplished the majority of its tasks, but was set back by some setup problems regarding solr on the first day and by a short week due to Labor Day.
The ResourceFactory pattern in many of the adapters was standardized, and casting moved to a consistent ModelConverter and ObjectConverter. It's to be seen if this makes the library more maintainable.
Fedora Disk Persistence
Files returned from storage adapters now have a
disk_path method for processes like generation of derivatives which requires the file to be on disk somewhere. The Fedora storage adapter streams its file to disk.
Fedora Schema Customization
Significant work towards allowing customization of a schema was done. It's still currently a work in progress, but that work can be seen here: https://github.com/samvera-labs/valkyrie/pull/230
UI Interaction Improvements
A half dozen different tickets were closed to improve the display of collection members, interaction with collections, and UI interactions around creating and managing Books. Further, a second work type (Songs) was added to the application to show what multiple types could look like.
Extensive ongoing discussion (and example code) around how to add custom queries is happening here: https://github.com/samvera-labs/valkyrie/issues/208. This is a blocker for the "show a dashboard of my objects" use case.
A new interface was added to
Valkyrie::StorageAdapter::File for fixity checking and checksum generation.
No work on Versioning got done during the sprint.
Areas for Improvement/Retrospective
- A short week was a bad idea.
- Newcomers would have liked a walkthrough to get acquainted with everything.
- Tags for the tickets to identify what kind of ticket they were would have been nice.
- Valkyrie gem inside MVP needs some documentation to explain.
- Documentation about what properties are expected and which aren't would be nice.
- Adding features when there's four adapters to make work is a lot.
- General opinion that there wasn't much stepping on each other's toes and a lot got done.
- Refreshing to have a project with fast specs.
The working group will discuss whether there is time for another sprint or not at its next weekly meeting.