Skip to content
This repository has been archived by the owner on Mar 26, 2024. It is now read-only.

surfliner/surfliner-mirror

Repository files navigation

UC Project Surfliner

Table of Contents

About

Project Surfliner is a project of the UC San Diego and UC Santa Barbara libraries to collaboratively define, create, and maintain digital library products. Project Surfliner is more than shared code, or even shared objectives. The project is the collaboration effort. It is building and leveraging the strengths, experiences, and resources of each campus partner to focus on shared concepts and products.

The collaboration is named Project Surfliner after the Amtrak route that links our institutions together.

Products

The Project Surfliner team is collaboratively developing a number of products whose code all lives within this surfliner monorepo. All the products are also named after historic intra-California train routes.

Comet

Comet is a staff-facing digital object management platform based on Hyrax, a front-end application that provides a user interface for common repository features. See the Comet README for more information.

Comet was named after the Sacramento Northern Train that operated between Chico to San Francisco via Sacramento from about 1928 to 1940.

Product Owner: Gabriela Montoya (UCSD) | Tech Lead: tamsin johnson (UCSB)

Lark

Lark is a shared authority control platform and API. See the Lark README for more information.

Lark was named after the Southern Pacific Lark Train that operated overnight between Los Angeles and San Francisco via San Luis Obispo from 1941 to April 1968.

Product Owner: Arwen Hutt (UCSD) | Tech Lead: tamsin johnson (UCSB)

Orange Empire

Orange Empire is shared IIIF services; it uses the Cantaloupe Image Server.

Orange Empire was named after the Pacific Electric train that operated between Los Angeles and Redlands from 1914 to 1929.

Product Owner: Michael Stuart (UCSD) | Tech Lead: Matt Critchlow (UCSD)

Shoreline

Shoreline is a geospatial materials platform based on GeoBlacklight. See the Shoreline README for more information.

Shoreline was named after the Southern Pacific train that ran between Los Angeles and San Francisco between 1927 and 1931.

Product Owner: Amy Work (UCSD) | Tech Lead: Alexandra Dunn (UCSB)

Starlight

Starlight is an exhibits platform based on Spotlight. See the Starlight README for more information.

Starlight was named after Southern Pacific Starlight Train that operated overnight between Los Angeles and San Francisco from October 1949 to July 1957.

Product Owner: Chrissy Rissmeyer (UCSB) | Tech Lead: Matt Critchlow (UCSD)

Superskunk

Superskunk is Comet's metadata API; used by other platforms to read metadata in real time.

Superskunk was named after the California Western Railroad, popularly called the Skunk Train ("Super Skunk"), that runs from Fort Bragg to Willits starting from 1965 to the present.

Product Owner: TBD | Tech Lead: TBD

Tidewater

Tidewater is an OAI-PMH endpoint that uses configurable metadata.

Tidewater was named after the Tidewater Southern Railway which was a short line railroad in Central California that ran from 1910 to 1987.

Product Owner: TBD | Tech Lead: TBD

Architecture

Surfliner Architecture

Product Deployments

UCSB

UCSD

Developer Setup

  • Start by getting yourself an account on GitLab.
  • Once you have that, be sure to add an SSH key to your GitLab account
  • Change to your working directory for new projects cd .
  • Clone Surfliner's monorepo git@gitlab.com:surfliner/surfliner.git
  • Change to the application directory cd surfliner
  • For product specific setup see individual project README.md

Team

Team Roles

Surfliner development follows two-week sprint cycles that include both the Santa Barbara and San Diego teams for all products. The following team roles have been identified:

  • Product Owner: represents the user community and is responsible for working with the user group to determine what features will be in the product release.
  • Tech Lead: the technical lead is responsible for the technical decision making on a given product; they provide facilitation and direction to guide development and architectural decisions.
  • Developer: an individual that builds and create software and applications.
  • Subject Matter Expert (or domain expert): a person who is an authority in a particular area or topic. For example, an accessibility expert.

Within the Project Surfliner context, there are two types of teams:

  • Project Team: the entire active Surfliner team, including Product Owners, Tech Leads, Developers & Subject Matter Experts for all products under active development.
  • Product Team: the group of people currently working on a given product; including Product Owner, Tech Lead, Developers & Subject Matter Experts.

While not necessarily involved in daily development work, the project also includes these other vitality important roles:

  • Campus Project Owner (when needed): responsible for ensuring that the needs of their campus stakeholders are considered in the development of each product
  • Project Champion: higher level administrators who help with resourcing, advocacy, and clearing major blockers
  • Project Sponsors: the University Librarian for each campus partner
  • Stakeholders: individuals who are responsible for informing the decisions that product teams make and have specific knowledge and influence that help the product. Stakeholders include:
    • User Advocates;
    • Staff;
    • Administration;
    • Peer Institutions;
    • etc...

Team Meetings

All Surfliner sprints include a mix of project-wide and per product team meetings.

Project-wide

Project Surfliner Daily Standup
Daily except last day of each sprint
Purpose: Daily meeting during the sprint to discuss ongoing work and blockers.
Required: Project Team

Project Surfliner Sprint Review Planning
Last day of each sprint
Purpose: Brief meeting on the last day of the sprint to plan for the demo. The Product Owner(s) & Tech Lead(s) for products in sprint are responsible for demo content & ensuring the demo gets recorded and shared.
Required: Product Owner(s) & Tech Lead(s) for products in sprint
Optional: Project Team

Project Surfliner Sprint Review
Last day of each sprint
Purpose: Informal meeting on the last day of the sprint to show what the product team(s) has accomplished during the sprint, typically taking the form of a demo. Demos are recorded.
Required: Product Owner(s) & Tech Lead(s) for products in sprint, Subject Matter Experts, and stakeholders
Optional: Project Team

Project Surfliner Sprint Retrospective
Last day of each sprint
Purpose: Meeting on the last day of the sprint to discuss how things went and what to change for future sprints.
Required: Project Team

Product Team

Backlog Refinement
Purpose: Meeting, as needed, prior to Sprint Planning to refine & prioritize tickets.
Required: Product Owner, Tech Lead
Optional: other Developers, Subject Matter Experts, stakeholders

Sprint Planning
Purpose: Meeting the week before the next sprint to negotiate and select tickets on that sprint.
Required: Product Owner and Tech Lead plus Product Team Developers
Optional: Subject Matter Experts

Meeting Schedules for the Current Work Cycle

The current workcycle runs from Wednesday, September 6, 2023 to Tuesday, November 11, 2023. The meetings below are for this time period only.

Project-wide

Project Surfliner Daily Standup
Daily, 10:30-10:45am (except last day of each sprint)
https://ucsb.zoom.us/j/310736504

Project Surfliner Sprint Review Planning
Last day of each sprint, 10:30-10:45am
https://ucsd.zoom.us/j/5296465230

Project Surfliner Sprint Review
Last day of each sprint, 10:45-11:30am
https://ucsd.zoom.us/j/5296465230

Project Surfliner Sprint Retrospective
Day after each sprint, 1:00-2:00pm
https://ucsb.zoom.us/j/99140390905

Comet Sprint Team

Backlog Refinement
TBD
https://ucsd.zoom.us/j/5296465230

Sprint Planning
Every other Monday, 1:00-2:00pm
https://ucsd.zoom.us/j/5296465230

Shoreline Sprint Team

Backlog Refinement
TBD
https://ucsd.zoom.us/j/91223719189

Sprint Planning
TBD
https://ucsd.zoom.us/j/91223719189

Communication Channels