Implement a new ordering approach for PCDM members ( Esmé Cowles). One of the pain points of implementing PCDM is poor performance in Fedora, especially around ordering large numbers of members. Hopefully taking input from discussions at LDCX, implement an alternate to the current linked-list approach.
Guidelines - this is mainly documentation. For each guideline, we'd like to provide a rationale as to why we think the guideline is needed. Also seeking feedback on structure and readability of the document, as it's supposed to serve as a reference for plugin developers. It would be great if we could get enough feedback and +1 to release v1.0 of the guidelines, if we haven't yet already.
Pluginizing GeoConcerns - we've made some headway here already. If there's more to do at the end of March, we can look at it. If we're already done, then it can serve as a good case study.
Pluginizing Google Analytics - less progress on this so far, so there may still be some work to do by end of March.
Preservation Event Plugin - this is what we've been working on at WGBH and IU. Much of the functionality is there, but have yet to go back and ensure it follows the guidelines.
Refactor Hyrax for better integration points - One of the things we hope to come out of our pluginizing, is identifying some interfaces in the stack that could be refactored to become better integration points for plugins. For instance...
Derivative generation - when pluginizing GeoConcerns, there is a lot of logic around customizing how derivatives are created. We highlighted some interfaces within the stack that could provide better integration points.
Hyrax (and lower in the stack) will also need to be refactored in places to provide UI for asynchronous interactions. Of course this depends on the asyncrhonous storage proxy api (see above) being sufficiently stable.
User notifications via ActionCable (instead of long polling) justin
Rubocop rules - Make a hydra-wide Rubocop ruleset and utility code to install and keep it up to date. tamsin woo
We have had problems with failing builds when Rubocop is updated, having a basic cop config shared across the project would prevent these kinds of breakdowns at the cost of some maintenance overhead.
Implementation of Display Sets - I am hoping that the working group will have requirements and mockups complete in time for LDCX such that implementation could begin as part of the developers congress. ( Lynette Rayle)
Try using Reform instead of our own form objects. ( Trey Pendragon) - do valkyrie instead at this congress
Push model validations into our forms. ( Trey Pendragon) - do valkyrie instead at this congress
Identify places to refactor that a group could come back to. ( Trey Pendragon)
Document best practices around actors, provide an easy-to-find place to inject your own actor. ( Trey Pendragon)
Organize and charter a group to tackle refactoring and other feature-less sprints on core gems ( Trey Pendragon)
Document (maybe a tutorial) how gated discovery works in Hyrax, think on how to simplify. ( Trey Pendragon)
Architecture solution for jobs in Hydra/CC/Sufia to allow "composeable" jobs. Currently, jobs are defined in the gem and aren't extendable or mixable in any way so you have to override the entire class to make small changes. Default jobs could be in the gem, but the consuming application could define its own by reusing the existing defaults and extending/mixing where needed. ( Adam Wead)