Contract Opportunity: Metadata Ingestion Development
Digital Public Library of America
The Digital Public Library of America (http://dp.la) invites interested and
qualified individuals or firms to submit a proposal for development related to
Heidrun and Krikri, DPLA's metadata ingestion and aggregation systems.
Proposal Deadline: 5:00 PM EDT (GMT-04:00), August 31, 2015
DPLA aggregates metadata for openly available digital materials from America's
libraries, archives and museums through its ingestion process. The ingestion
process has three steps: 1) harvesting metadata from partner sources, 2)
mapping harvested records to the DPLA Metadata Application Profile, an RDF
model based on the Europeana Data Model, 3) and enriching the mapped metadata
to clean and add value to the data (e.g. normalization of punctuation,
geocoding, etc.). New metadata providers are subject to a quality assurance
process that allows DPLA staff to identify the accuracy of metadata mappings,
enrichments, and indexing strategies.
DPLA technology staff has implemented these functions as part of Krikri, a
Ruby on Rails engine which provides the core functionality for the DPLA
ingestion process. Krikri includes abstract classes and implementations of
harvester modules, a metadata mapping domain specific language, and a
framework for building enrichments (Audumbla). DPLA deploys Krikri as part of
Heidrun. More information about Heidrun can be found on its project page.
Krikri uses Apache Marmotta as a backend triple store, PostgreSQL as a backend
database, Redis and Resque for job queuing, and Apache Solr and Elasticsearch
as search index platforms.
Krikri, Heidrun, Audumbla, and metadata mappings are released as free and open
source software under the MIT License. All metadata aggregated by DPLA is
released under a CC0 license.
Statement of Needs
The selected contractor will provide programming staff as needed for DPLA
related to development of Krikri and Heidrun. These resources will be under
the direction of Mark A. Matienzo, DPLA Director of Technology.
DPLA staff is geographically distributed, so there is no requirement for the
contractor to be located in a particular place. Responses may provide options
or alternatives so that DPLA gets the best value for the price. If the
contractor's staff is distributed, the response should include detail on how
communications will be handled between the contractor and DPLA staff. We
expect the contractor will provide a primary technical/operations contact and
a business contact; these contacts may be the same person, but they must be
identified in the response. In addition, we expect that the
technical/operations contact and the business contact will be available for
occasional meetings between 9:00 AM and 5:00 PM Eastern Time (GMT-04:00).
Core implementation needs include the following two tracks, with Track 1 being
the primary deliverable. Work in Track 2, and other work identified by DPLA
staff, is subject to available resources remaining in the contract.
Track 1 (highest priority; work to be completed by December 24, 2015):
* 1a. Development of mappings for 20 DPLA hubs (providers) to be used by Heidrun using the Krikri metadata mapping DSL.
* Harvested metadata includes, but is not limited to, the following schemas and formats: MARCXML, MODS, OAI Dublin Core, Qualified Dublin Core, JSON-LD.
* Sample mappings can be found in our GitHub repository.
* Mappings are understood to be specific to each DPLA hub.
* As needed, revisions and/or refactoring of the metadata mapping DSL implementation may be necessary to support effective mapping.
* 1b. Development of 5 harvesters for site-specific application programming interfaces, static file harvests, etc.
* Krikri currently supports harvesting from OAI-PMH providers, CouchDB, and a sample generic API harvester. Heidrun includes an implementation of an existing site-specific API harvester.
* 1c. As needed, development or modification of enrichment modules for Krikri.
* Sample enrichment modules can be found in our GitHub repository.
Track 2 (additional development work to be completed as resources allow after
* Refactoring and development to allow Krikri applications to more effectively queue batches of jobs to improve concurrency and throughput.
* Refactoring for support for Rails 4.2 and Blacklight 5.10+.
* Expanding the Krikri "dashboard" staff-facing application, which currently supports the quality assurance process, to allow non-technical staff to start, schedule, and enqueue harvest, mapping, enrichment, and indexing activities.
* All code developed as part of this contract is subject to code review by DPLA technology staff, using GitHub. In addition, implemented mappings will be subject to quality assurance processes led by Gretchen Gueguen, DPLA Data Services Coordinator.
All proposals must adhere to the following submission guidelines and
* Proposals are due no later than 5:00PM EDT, Monday, August 31, 2015.
* Proposals should be sent via email to [log in to unmask], as a single PDF file attached to the message. Questions about the proposal can also be sent to this address.
* Please format the subject line with the phrase "DPLA Metadata Ingestion Proposal - [Name of respondent]".
All proposals should include the following:
* Pricing, as an hourly rate in US Dollars, and as costs for each work item to be completed in Track 1
* Proposed staffing plan, including qualifications of project team members (resumes/CVs, links or descriptions of previous projects such as open source contributions)
* References, listing all clients/organizations with whom the proposer has done business like that required by this solicitation with the last 3 years
* Qualifications and experience, including
* General qualifications and development expertise
* Information about development and project management skills and philosophy
* Examples of successful projects, delivered on time and on budget
* Preferred tools and methodologies used for issue tracking, project management, and communication
* Preferences for change control tools and methodologies
* Project specific strategies
* History of developing software in the library, archives, or museum domain
* Evidence of experience with Ruby on Rails, search platforms such as Solr and Elasticsearch, domain specific language implementations, and queuing systems
* Information about experience with extract-transform-load workflows and/or metadata harvesting, mapping, and cleanup at scale, using automated processes
* Information about experience with RDF metadata, triple stores, and implementations of W3C Linked Data Platform specification
* RFP issued: August 11, 2015
* Work is to be performed no sooner than September 1, 2015.
* Work for Track 1 must be completed by December 24, 2015.
* Any additional work, such as Track 2 or other work mutually agreed upon by DPLA and contractor, is to be completed no later than March 31, 2016.
* Proposals must be submitted by the due date.
* Proposers are asked to guarantee their proposal prices for a period of at least 60 days from the date of the submission of the proposal.
* Proposers must be fully responsible for the acts and omissions of their employees and agents.
* DPLA reserves the right to include a mandatory meeting via teleconference to meet with submitters of the proposals individually before acceptance. Top scored proposals may be required to participate in an interview and/or site visit to support and clarify their proposal.
* The contractor will enter into a contract with DPLA that is consistent with DPLA's standard contracting policies and procedures.
* DPLA reserves the right to negotiate with each contractor.
* There is no allowance for project expenses, travel, or ancillary expenses that the contractor may incur.
* Individuals or companies based outside the US are eligible to submit proposals, but will have to comply with US and host country labor and tax laws.
The Digital Public Library of America strives to contain the full breadth of
human expression, from the written word, to works of art and culture, to
records of America's heritage, to the efforts and data of science. Since
launching in April 2013, it has aggregated 11 million items from 1,600
institutions. The DPLA is a registered 501(c)(3) non-profit.
Brought to you by code4lib jobs: http://jobs.code4lib.org/job/22200/
To post a new job please visit http://jobs.code4lib.org/