Samvera Code Repository

The primary Samvera code repository contains the Samvera community’s current consensus on what we are using, maintaining, and recommending. Ideally, this repository only contains code modules that are being actively used and maintained. Anything that falls into disuse should be a candidate for deprecation.

Requirements for a Core Component

  1. Code is stored in a repository in the Samvera github organization https://github.com/samvera and meets the requirements for being there.

  2. Component has a designated product owner.

  3. A participant of the Core Component Maintenance Working Group must have a vested interest in the maintenance of that component, acting as a representative for their institution’s needs.

Maintenance

The Core Components Maintenance Working Group (CCMWG) is in the process of creating a framework for addressing ongoing maintenance of shared code repositories.

Product Owner Responsibilities

Product owners act as representatives for stakeholders of each component, an organizational force to enable the component maintenance working group to do its work, and a point of contact for distributing or recording information regarding the component. They are not required to have a deep technical understanding of their component. Their responsibilities are as follows:

  1. Ensure a release gets cut.
    • Decide when a release is done, what the version number should be, what will be in a release, ensure the CHANGELOG is updated, and announce the release to the community.
    • Decide what the policy for your component is in regards to backwards compatibility and which versions are supported.
  2. Own the Backlog
    • Handle incoming issue labeling
    • Create tickets for security issues discovered by automated tooling.
    • Ensure pull requests aren’t sitting around without any response for a long time.
    • Know what priorities are by being in touch with stakeholders enough to understand what the greatest pain points/desires for features are.
    • Be able to give the Core Components Working Group a gauge of how important a set of work is and when it needs to be done. Have a ready answer for “if we could give you a week of work, what would you spend it on?”
    • Be able to find answers for “so and so wants to do this with the library, is that a good idea?”
  3. Act as point of contact for questions about the component’s goals and path
  4. Ensure there’s sufficient documentation for the component to be useful
    • Doesn’t necessarily have to write the documentation, but should know what’s out there and have an idea of what might need to be updated if the scope changes, etc.
  5. Actively participate during sprints to provide guidance and prioritization.
  6. Report on whether the component still meets the requirements for being a core component.
  7. Recruit any necessary positions for better maintaining their component.
    • E.g a technical lead.

Core Components and Product Owners

Please note that Hyrax is not considered a ‘component’ under the definition used by the CCMWG.

hydra-derivatives

Code: hydra-derivatives

Product Owner: Jennifer Lindner

Vital Statistics:

Gem Version Build Status Coverage Status

questioning_authority

Code: questioning_authority

Product Owner: Lynette Rayle

Vital Statistics:

Gem Version Build Status Coverage Status

hydra-head

Code: hydra-head

Product Owner: Chris Colvard

Vital Statistics:

Gem Version Build Status no Coverage info

browse-everything

Code: browse-everything

Product Owner: Michael Klein

Vital Statistics:

Gem Version Build Status Coverage Status

noid-rails

Code: noid-rails

Product Owner: Justin Coyne

Vital Statistics:

Gem Version Build Status no Coverage info

hydra-pcdm

Code: hydra-pcdm

Product Owner: Mark Bussey

Vital Statistics:

Gem Version Build Status Coverage Status

active_fedora

Code: active_fedora

Product Owner: Tom Johnson

Vital Statistics:

Gem Version Build Status no Coverage info

ldp

Code: ldp

Product Owner: Carrick Rogers

Vital Statistics:

Gem Version Build Status Coverage Status

solrizer

Code: solrizer

Product Owner: Carolyn Cole

Vital Statistics:

Gem Version Build Status Coverage Status

rubydora

Code: rubydora

Product Owner: Justin Coyne

Vital Statistics:

Gem Version Build Status Coverage Status

hydra-role-management

Code: hydra-role-management

Product Owner: James Griffin III

Vital Statistics:

Gem Version Build Status Coverage Status

hydra

Code: hydra

Product Owner: Mark Bussey

Vital Statistics:

Gem Version no CI no Coverage info

hydra-works

Code: hydra-works

Product Owner: Mark Bussey

Vital Statistics:

Gem Version Build Status Coverage Status

hydra-file_characterization

Code: hydra-file_characterization

Product Owner: Jamie Little

Vital Statistics:

Gem Version Build Status no Coverage info

hydra-editor

Code: hydra-editor

Product Owner: James Griffin III

Vital Statistics:

Gem Version Build Status no Coverage info

samvera.github.io

Code: samvera.github.io

Product Owner: Andrew Myers

Vital Statistics:

Build Status

Component Statistics

The Component Maintenance Working Group occasionally generates reports on the current usage of components in Gemfiles across repositories. The code to generate the reports can be found at https://github.com/samvera-labs/core-dependency-report. The reports are linked below:

Tags: community