Logistics

Note: please consider attending and separately registering for LDCX on the preceding Monday through Wednesday.

Goals

Dev Congress Rough Schedule

Thursday AM

8:30 am to 9 am: Coffee and introductions at the Betchel Center

9 am-10:30 am: Start of Conference 

Fast Introductions

One Minute Curated Session Pitches

Plenary Topics (10 minutes max per topic, if further discussion is needed a group can be spun off)

10:30 AM to 11:40 AM: Group Work

11:40 am to Noon: Groups report on morning work

Thursday PM

1 pm to 5 pm: Continuation of Group Topics

5:15 PM: Dinner and Drinks At Lathrop Courtyard



Potential Topics

Development Ideas

  1. 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.
  2. Hydra Plugins stuff ( Andrew Myers)
    1. 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.
    2. 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.
    3. Pluginizing Google Analytics - less progress on this so far, so there may still be some work to do by end of March.
    4. 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.
    5. 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...
      1. 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.
  3. Asynchronous storage ( Randall FloydDaniel Pierce, Nianli Ma, and/or  Andrew Myers)
    1. This is an effort by WGBH and IU to use Fedora's APIx framework to create a well-defined interface for communicating with tiered storage systems.
    2. Randall FloydDaniel Pierce, and  Nianli Ma probably have a better idea of how the dev work re: APIx can be broken down into doable chunks.
    3. 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.
  4. User notifications via ActionCable (instead of long polling) justin
  5. Rubocop rules - Make a hydra-wide Rubocop ruleset and utility code to install and keep it up to date.  tamsin woo
    1. 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.
  6. 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)
  7. Look at Valkyrie (https://github.com/tpendragon/Valkyrie), explore building a buffer layer between our frontend engine (Hyrax) and data persistence. ( Trey Pendragon)
  8. Try using Reform instead of our own form objects. ( Trey Pendragon) - do valkyrie instead at this congress
  9. Push model validations into our forms. ( Trey Pendragon) - do valkyrie instead at this congress
  10. Identify places to refactor that a group could come back to. ( Trey Pendragon)
  11. Document best practices around actors, provide an easy-to-find place to inject your own actor. ( Trey Pendragon)
  12. Organize and charter a group to tackle refactoring and other feature-less sprints on core gems ( Trey Pendragon)
  13. Document (maybe a tutorial) how gated discovery works in Hyrax, think on how to simplify. ( Trey Pendragon)
  14. 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)
  15. Write some more shared specs for composable objects in Hyrax (See https://github.com/projecthydra-labs/hyrax/blob/master/lib/hyrax/specs/shared_specs/derivative_service.rb) ( Trey Pendragon)
  16. Start mainstreaming our nascent technical onboarding documentation and addressing unresolved issues. (Suggested by  Michael Joseph Giarlo; maybe  Esmé Cowles is game?)
  17. Make it easier to add new properties to your model. ( Trey Pendragon)
  18. Dropbox has deprecated its v1 API. BrowseEverything will need to support it, but there are problems https://github.com/projecthydra/browse-everything/issues/159 ( Adam Wead)

 

Development Ideas, Prioritized (for later use, pls do not edit)

Rank
Well Defined
Achievable by Friday
Feature/Description