- Fixup minor issues with 0.15.3 release
- Pin gems to minor version
- Add DCMIType mapping for online text
- Update engine_cart to ~> 1.0.1
- Add two field value reports
- Add DSL method for accessing field names
- Handle
JSONParser#get_child_node
for nested arrays - Allow Travis failures for unsupported Rubies
- Match/reject mapping DSL nodes based on presence of child node
- Fix RSpec warning on
raise_error
- Use providedLabel in TimeSpan for MAP 3.1
- Avoid calling
Registry#get
repeatedly in mapping - Restore
ValueArray
in scoped DSL variables - Upgrade EDTF to 3.0
- Drop support for ruby 2.3.0
- Update solr schema
- Update fields to reflect most recent version of DPLA::MAP
- Remove un-necesary fields
- Add QA features
- Gallery view for search results
- Deliminate feilds with semicolon in search results
- Add more field value reports
- Add facets for both pref and providedLabel
- Add Scott as author
- Change MAP 3.1 Crosswalk to use
providedLabel
for Place display labels
- Add enrichment to generate a label from an existing TimeSpan
- Mapping DSL improvements
- Add #at and #compact methods
- Support binding arbitrary named variables for later recall; (#bind, #and(from:))
- Change MAP 3.1 mapping to allow use of providedLabels from TimeSpan
- Raise default bulk index batch size (now: 1000)
- Migrate shared engine examples to new
krikri-spec
gem.- This supports including examples in implementing apps; better testing of upstream Harvesters, &tc...
- Upgrade RSpec to
~> 3.3
- Upgrade Nokogiri (security fix)
- Remove development dependency on Guard
- Fix bug in handling of EDTF intervals in the extended date parser
- Add an enrichment to splits a resource into multiple resources when multiple providedLabels are present.
- Make language code matching case insensitive. E.g. "Eng" now matches
the code
eng
. - Allow multiple descriptions in the MAP 3.1 crosswalk.
- Only inline exceptions stemming from Faraday
- Raise error for empty original record, minting ID (#8316)
- Krikri::AsyncUriGetter: Add support for "inline exceptions"
- Let CodeClimate through webmock always
- Remove Solr docs more carefully in test suite
Changes from 0.12.0-rc.1, plus:
- Force bundler version
- Refactor SoftwareAgent's use of entity_behavior
- Use default entity behavior for agent in Activity
- Fix definition of Krikri::Harvester.entity_behavior
- Add Ruby 2.3.0 to build list
- Update SPARQL query, Activity for invalidated records
- Allow use of RSpec 3.4.x
- Disable Spring (development VM)
- Set global rbenv version (development VM)
- Introduce OriginalRecord load failure Error class
- Call
next
when logging errors in#record
- Bump read timeout for Marmotta SPARQL client
- Allow OAI Harvester to use arbitrary metadata properties for an ID source.
- Limit cache size for RDF::URIs; adds a configuration option
uri_cache_size
to control the limit. Users may consider a large cache size on the webserver, while using a smaller size on worker boxes.
- Adds a utility for threaded HTTP requests for use by Harvesters.
- Implements soft-delete via PROV Invalidation for LDP-RSs.
DPLA::MAP::Aggregation#dpla_id
introduced to return the unique portion of an Aggregation`s URI.- Fixes timespan (temporal/date) consistency in crosswalk between MAP 4.0 and 3.1.
- Patch error in DPLA MAP v3.1 mapping for coordinates
- Introduce a Primo harvester
- Introduce a MARC XML harvester
- Expose local_name through the Parser interface
- Allow OAI harvester to recover on errors when iterating sets, passing over and logging any errored sets.
- Forces encoding to UTF-8 in LDP Turtle responses. This improves response
handling when encoding is ambiguous to
Net::HTTP
.
- Add error handling to mapping. Collects errors encountered while
mapping an
OriginalRecord
in aMapping::Error
class. Errors are then logged as a group with information about which declarations were processing when the error was encountered. - Upgrade
RDF::Turtle
to 1.1.8; revert longlines behavior and use the faster Turtle parser. - Pin RDF.rb to version 1.1.x, avoiding an upgrade to 1.99.0.
- Fix a bug in the RDF::Turtle parser which effected loading graphs with long, multi-line literals.
- Add enrichment to remove Blank Node
WebResource
s - Improve
SearchIndex
initializer to merge passed options with defaults, instead of using one or the other.
- Update DPLA MAP 3.1 Crosswalk
- Add application wide tagged logging
- Handle errors in indexer
- Indexer: Fix prefLabel issue in map_crosswalk
- Make Activity respond to #to_term
- Add
Activity#to_s
for easier activity display - Mapper: allow static values on
:each
- Mapper: handle literal values from
record
in :each
- Upgrades DPLA::MAP to remove LinkedVocab dependency
- Fixes a bug with blank node identity in language and genre
- Fix FieldValueReport error where nil can't be coerced into Fixnum
- Adds field value report
- Add downloadable CSV reports for field values.
- Add new ActiveModelBase class, which is extended by FieldValueReport and Provider.
- Updates DPLA::MAP dependency, fixing an issue with
SourceResource#language
accessors. - Fixes two bugs on string enrichments:
- Ending punctuation enrichment left some ending periods that were intended to be removed.
- Remove empty fields enrichment treated fields beginning with whitespace followed by a newline as "whitespace-only" regardless of other content.
- Pin rails_config to version 0.4.0
- Add prefLabels to languages
- Display only the
@graph
in JSON-LD displays
- Check for existence of provider_name when building navigation
- Adds
#reject_attribute
as a DSL method- Extends both
#select_attribute
and#reject_attribute
with block handling
- Extends both
- Builds Providers from the search index for a SPARQL-free frontend
- Upgrades to Ruby OAI 0.4.0;
- uses the new
#_source
method to access XML for OriginalRecord bodies
- uses the new
- Adds enrichment to copy
providedLabel
toprefLabel
- Commits to SOLR when running bulk adds to a QA index
- Introduces HTTP request logging (via Faraday) for OAI harvests
- Reduce post-save HEAD/GET requests making
#save
calls cheaper.- This exposes LDP PUT requests to HTTP 409 (conflict) and HTTP 412
(precondition failed) in some save-edit-save scenarios. You can fix
these cases by using
RdfSource#save_and_reload
for RDF records andOriginalRecord#http_head(true)
after the initial save for Original Records.
- This exposes LDP PUT requests to HTTP 409 (conflict) and HTTP 412
(precondition failed) in some save-edit-save scenarios. You can fix
these cases by using
- Graceful error handling empty/non-existent root nodes in XmlParser
- Records with no root node are passed over and logged.
- Extract Enrichment/FieldEnrichment to Audumbla gem
- Update documentation for mapping related modules
- Pin bootstrap-sass to 3.3.4.1 and rspec-rails to ~> 3.2.0
- Modify solrconfig.xml to use correct field names
- Change facet configuration and routing
- Remove scroll from side-by-side records, QA interface
- Change index fields for records in Solr
- Add VM usage note to README
- Add Krikri::MARCXMLParser
- Add "or" expressions, Krikri::Parser::Value
- Add ISO enrichment
- Fix: Do not obliterate defaults, QASearchIndex constructor
- Update MAPv3.1 mapping with edm:object fix
- Add Enrichment instance caching to Enricher
- Create enrichment to split a resource by its providedLabel
- Format Aggregations to MAP 3.1 for indexing
- Add a variety of enrichments
- Bnode Deduplication enrichment
- "DCMI Enforcer" enrichment
- DCMIType mapping enrichment
- Split coordinates (when given in a single field as lat, long or long, lat)
ConvertToSentenceCase
enrichment- Enrichment to copy non-DCMI type values
- Enrichment to truncate string at 1000 characters
#last_value
method to get the last parsed value in the Mapping DSL
- QA interface bug fixes
- Fix RecordsController to use correct Solr field names
- Refactor Krikri::Harvesters::CouchdbHarvester
- Update dataProvider field in validation report
- Exclude design docs
- Refactor specs for CouchdbHarvester
- Test that
#records
iterates over pages - Have CouchdbHarvester make batch requests
- Rewrite validation reports model/controller - addresses pagination issues
- Fixup validation report views
- Krikri::Provider-related performance improvements:
- Remove record counts from provider index view
- Cache
all_providers
for navigation bar. - Krikri::Provider#reload query should use a DISTINCT clause
- Improve
SoftwareAgent
/Job
activity URI handling
NOTE: Run rake db:migrate
when upgrading to this release. If you have
production data in your Solr index, you will need to reindex your items.
- Support multivalued node fields in solr index
- Fix Solr document ID builder regression which modifies item container
- Fix validation report's use of IDs
- Revamp provider controller for cleaner REST interactions
- Adds QA Reports MVC
- Add SPARQL queries for QA
- Make
Provider
an ActiveTriples::Resource - QA by provider
- Check existence of Blacklight settings file
- Improve indexing of property values /w many nodes
- Fixes rake sample record
- Add and refactor search indexing, and add associated behaviors
- Add a test that covers Enricher#do_basic_enrichment
- Add
Enricher
to queue and run enrichment chains as Activities - Use local names instead of full URIs as record IDs in routes
- Add a small suite of enrichments to strip punctuation from fields
- Add a basic genre filter enrichment
- Better format support for date parsing/enrichment
NOTE: Run rake db:migrate
when upgrading to this release
- Change Activity.opts to :text, allowing long option strings
NOTE: Run rake db:migrate
when upgrading to this release
- More complete laziness on multi-set OAI harvests
- Fixes resumption token expiration
- Add
#map
to mapping DSL Parser::ValueArray methods
- Feature-less release fixes a problem with the v0.3.0 gem
- Build Set support into
OAIHarvester
- Add
#sets
to manage calls to OAI's ListSet verb - Add options to harvest multiple sets and blacklist sets from a harvest
- Add
- Create
HarvestBehavior
concept to specify record handling actions- Add behavior to skip deleted records in OAI harvests (default)
- Add header mixin to OAI QDC and MODS parsers
- Rework
#header
parser method to be more flexible in where it is called - Make OA index settings configurable & compatible with Blacklight config
- Update marmotta-jetty to 3.3.0-solr-4.10.3
- Set fragment URI for first sourceResource on ore:Aggregations
- Simplify
#enqueue
interface and dependencies - Add random record view for QA interface
- Add
#header
node as mixin for OAI Parsers - Make Krikri::Mapper#map's exception handling more robust
- Test refactor for SoftwareAgent [minor]
- Add ability select multiple fields from ValueArray
- Streamline and improve Rake tasks
- Add LDP request, Harvester, Mapper, and Activity error logging/handling, and retry failed requests when necessary.
- Add original and mapped/enriched record comparison view.
- Add date normalization.
- Simplify CouchdbHarvester#get_record
- Jettywrapper configuration changes and improvements.
- Skip unavailiable fields in FieldEnrichment.
- Avoid the rdf-marmotta Repository for SPARQL.
- Initial public release