bulkrax 7.0.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/bulkrax/datatables.js +1 -1
- data/app/controllers/bulkrax/exporters_controller.rb +1 -1
- data/app/controllers/bulkrax/importers_controller.rb +2 -1
- data/app/controllers/concerns/bulkrax/datatables_behavior.rb +15 -15
- data/app/factories/bulkrax/object_factory.rb +135 -163
- data/app/factories/bulkrax/object_factory_interface.rb +491 -0
- data/app/factories/bulkrax/valkyrie_object_factory.rb +402 -0
- data/app/helpers/bulkrax/importers_helper.rb +1 -1
- data/app/helpers/bulkrax/validation_helper.rb +4 -4
- data/app/jobs/bulkrax/create_relationships_job.rb +27 -16
- data/app/jobs/bulkrax/delete_job.rb +3 -2
- data/app/jobs/bulkrax/download_cloud_file_job.rb +16 -3
- data/app/jobs/bulkrax/import_file_set_job.rb +5 -2
- data/app/jobs/bulkrax/importer_job.rb +18 -2
- data/app/matchers/bulkrax/application_matcher.rb +0 -2
- data/app/models/bulkrax/csv_collection_entry.rb +1 -1
- data/app/models/bulkrax/csv_entry.rb +7 -6
- data/app/models/bulkrax/entry.rb +7 -11
- data/app/models/bulkrax/exporter.rb +2 -2
- data/app/models/bulkrax/importer.rb +1 -3
- data/app/models/bulkrax/oai_entry.rb +0 -3
- data/app/models/bulkrax/oai_set_entry.rb +1 -1
- data/app/models/bulkrax/rdf_collection_entry.rb +1 -1
- data/app/models/bulkrax/rdf_entry.rb +70 -69
- data/app/models/bulkrax/xml_entry.rb +0 -1
- data/app/models/concerns/bulkrax/dynamic_record_lookup.rb +2 -19
- data/app/models/concerns/bulkrax/export_behavior.rb +2 -2
- data/app/models/concerns/bulkrax/file_factory.rb +174 -118
- data/app/models/concerns/bulkrax/file_set_entry_behavior.rb +2 -2
- data/app/models/concerns/bulkrax/has_matchers.rb +28 -25
- data/app/models/concerns/bulkrax/import_behavior.rb +10 -17
- data/app/models/concerns/bulkrax/importer_exporter_behavior.rb +3 -2
- data/app/parsers/bulkrax/application_parser.rb +31 -7
- data/app/parsers/bulkrax/bagit_parser.rb +175 -174
- data/app/parsers/bulkrax/csv_parser.rb +15 -5
- data/app/parsers/bulkrax/oai_dc_parser.rb +18 -0
- data/app/parsers/bulkrax/parser_export_record_set.rb +18 -22
- data/app/parsers/bulkrax/xml_parser.rb +0 -2
- data/app/services/bulkrax/factory_class_finder.rb +2 -0
- data/app/services/bulkrax/remove_relationships_for_importer.rb +3 -1
- data/app/services/hyrax/custom_queries/find_by_source_identifier.rb +50 -0
- data/app/services/wings/custom_queries/find_by_source_identifier.rb +32 -0
- data/app/views/bulkrax/entries/_parsed_metadata.html.erb +2 -2
- data/app/views/bulkrax/entries/_raw_metadata.html.erb +2 -2
- data/app/views/bulkrax/entries/show.html.erb +9 -8
- data/app/views/bulkrax/exporters/edit.html.erb +1 -1
- data/app/views/bulkrax/exporters/new.html.erb +1 -1
- data/app/views/bulkrax/exporters/show.html.erb +4 -2
- data/app/views/bulkrax/importers/_browse_everything.html.erb +2 -2
- data/app/views/bulkrax/importers/_csv_fields.html.erb +1 -1
- data/app/views/bulkrax/importers/edit.html.erb +1 -1
- data/app/views/bulkrax/importers/new.html.erb +1 -1
- data/app/views/bulkrax/importers/show.html.erb +1 -1
- data/app/views/bulkrax/importers/upload_corrected_entries.html.erb +2 -2
- data/app/views/bulkrax/shared/_bulkrax_errors.html.erb +1 -1
- data/app/views/bulkrax/shared/_bulkrax_field_mapping.html.erb +1 -1
- data/config/locales/bulkrax.en.yml +7 -0
- data/db/migrate/20230608153601_add_indices_to_bulkrax.rb +20 -9
- data/db/migrate/20240307053156_add_index_to_metadata_bulkrax_identifier.rb +18 -0
- data/lib/bulkrax/engine.rb +23 -6
- data/lib/bulkrax/version.rb +1 -1
- data/lib/bulkrax.rb +54 -52
- data/lib/generators/bulkrax/templates/config/initializers/bulkrax.rb +2 -0
- data/lib/tasks/bulkrax_tasks.rake +1 -0
- data/lib/tasks/reset.rake +4 -4
- metadata +24 -8
- data/lib/bulkrax/persistence_layer/active_fedora_adapter.rb +0 -27
- data/lib/bulkrax/persistence_layer/valkyrie_adapter.rb +0 -8
- data/lib/bulkrax/persistence_layer.rb +0 -38
data/lib/tasks/reset.rake
CHANGED
@@ -12,8 +12,7 @@ namespace :hyrax do
|
|
12
12
|
desc 'Reset fedora / solr and corresponding database tables w/o clearing other active record tables like users'
|
13
13
|
task works_and_collections: [:environment] do
|
14
14
|
confirm('You are about to delete all works and collections, this is not reversable!')
|
15
|
-
|
16
|
-
ActiveFedora::Cleaner.clean!
|
15
|
+
Bulkrax.object_factory.clean!
|
17
16
|
Hyrax::PermissionTemplateAccess.delete_all
|
18
17
|
Hyrax::PermissionTemplate.delete_all
|
19
18
|
Bulkrax::PendingRelationship.delete_all
|
@@ -33,16 +32,17 @@ namespace :hyrax do
|
|
33
32
|
Mailboxer::Conversation::OptOut.delete_all
|
34
33
|
Mailboxer::Conversation.delete_all
|
35
34
|
AccountElevator.switch!(Site.instance.account) if defined?(AccountElevator)
|
35
|
+
|
36
36
|
# we need to wait till Fedora is done with its cleanup
|
37
37
|
# otherwise creating the admin set will fail
|
38
|
-
while
|
38
|
+
while Bulkrax.object_factory.default_admin_set_or_nil
|
39
39
|
puts 'waiting for delete to finish before reinitializing Fedora'
|
40
40
|
sleep 20
|
41
41
|
end
|
42
42
|
|
43
43
|
Hyrax::CollectionType.find_or_create_default_collection_type
|
44
44
|
Hyrax::CollectionType.find_or_create_admin_set_type
|
45
|
-
|
45
|
+
Bulkrax.object_factory.find_or_create_default_admin_set
|
46
46
|
|
47
47
|
collection_types = Hyrax::CollectionType.all
|
48
48
|
collection_types.each do |c|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bulkrax
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 8.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rob Kaufman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-04-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.4.6
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 0.4.6
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: coderay
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: marcel
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: iso8601
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -328,6 +342,8 @@ files:
|
|
328
342
|
- app/controllers/concerns/bulkrax/datatables_behavior.rb
|
329
343
|
- app/controllers/concerns/bulkrax/download_behavior.rb
|
330
344
|
- app/factories/bulkrax/object_factory.rb
|
345
|
+
- app/factories/bulkrax/object_factory_interface.rb
|
346
|
+
- app/factories/bulkrax/valkyrie_object_factory.rb
|
331
347
|
- app/helpers/bulkrax/application_helper.rb
|
332
348
|
- app/helpers/bulkrax/exporters_helper.rb
|
333
349
|
- app/helpers/bulkrax/importers_helper.rb
|
@@ -395,6 +411,8 @@ files:
|
|
395
411
|
- app/parsers/bulkrax/xml_parser.rb
|
396
412
|
- app/services/bulkrax/factory_class_finder.rb
|
397
413
|
- app/services/bulkrax/remove_relationships_for_importer.rb
|
414
|
+
- app/services/hyrax/custom_queries/find_by_source_identifier.rb
|
415
|
+
- app/services/wings/custom_queries/find_by_source_identifier.rb
|
398
416
|
- app/views/bulkrax/entries/_parsed_metadata.html.erb
|
399
417
|
- app/views/bulkrax/entries/_raw_metadata.html.erb
|
400
418
|
- app/views/bulkrax/entries/show.html.erb
|
@@ -462,12 +480,10 @@ files:
|
|
462
480
|
- db/migrate/20230608153601_add_indices_to_bulkrax.rb
|
463
481
|
- db/migrate/20240208005801_denormalize_status_message.rb
|
464
482
|
- db/migrate/20240209070952_update_identifier_index.rb
|
483
|
+
- db/migrate/20240307053156_add_index_to_metadata_bulkrax_identifier.rb
|
465
484
|
- lib/bulkrax.rb
|
466
485
|
- lib/bulkrax/engine.rb
|
467
486
|
- lib/bulkrax/entry_spec_helper.rb
|
468
|
-
- lib/bulkrax/persistence_layer.rb
|
469
|
-
- lib/bulkrax/persistence_layer/active_fedora_adapter.rb
|
470
|
-
- lib/bulkrax/persistence_layer/valkyrie_adapter.rb
|
471
487
|
- lib/bulkrax/version.rb
|
472
488
|
- lib/generators/bulkrax/install_generator.rb
|
473
489
|
- lib/generators/bulkrax/templates/README
|
@@ -497,7 +513,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
497
513
|
- !ruby/object:Gem::Version
|
498
514
|
version: '0'
|
499
515
|
requirements: []
|
500
|
-
rubygems_version: 3.
|
516
|
+
rubygems_version: 3.5.5
|
501
517
|
signing_key:
|
502
518
|
specification_version: 4
|
503
519
|
summary: Import and export tool for Hyrax and Hyku
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Bulkrax
|
4
|
-
module PersistenceLayer
|
5
|
-
class ActiveFedoraAdapter < AbstractAdapter
|
6
|
-
def self.find(id)
|
7
|
-
ActiveFedora::Base.find(id)
|
8
|
-
rescue ActiveFedora::ObjectNotFoundError => e
|
9
|
-
raise PersistenceLayer::RecordNotFound, e.message
|
10
|
-
end
|
11
|
-
|
12
|
-
def self.query(q, **kwargs)
|
13
|
-
ActiveFedora::SolrService.query(q, **kwargs)
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.clean!
|
17
|
-
super do
|
18
|
-
ActiveFedora::Cleaner.clean!
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def self.solr_name(field_name)
|
23
|
-
ActiveFedora.index_field_mapper.solr_name(field_name)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,38 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Bulkrax
|
4
|
-
##
|
5
|
-
# The target data layer where we write and read our imported {Bulkrax::Entry} objects.
|
6
|
-
module PersistenceLayer
|
7
|
-
# We're inheriting from an ActiveRecord exception as that is something we know will be here; and
|
8
|
-
# something that the main_app will be expect to be able to handle.
|
9
|
-
class ObjectNotFoundError < ActiveRecord::RecordNotFound
|
10
|
-
end
|
11
|
-
|
12
|
-
# We're inheriting from an ActiveRecord exception as that is something we know will be here; and
|
13
|
-
# something that the main_app will be expect to be able to handle.
|
14
|
-
class RecordInvalid < ActiveRecord::RecordInvalid
|
15
|
-
end
|
16
|
-
|
17
|
-
class AbstractAdapter
|
18
|
-
# @see ActiveFedora::Base.find
|
19
|
-
def self.find(id)
|
20
|
-
raise NotImplementedError, "#{self}.#{__method__}"
|
21
|
-
end
|
22
|
-
|
23
|
-
def self.solr_name(field_name)
|
24
|
-
raise NotImplementedError, "#{self}.#{__method__}"
|
25
|
-
end
|
26
|
-
|
27
|
-
# @yield when Rails application is running in test environment.
|
28
|
-
def self.clean!
|
29
|
-
return true unless Rails.env.test?
|
30
|
-
yield
|
31
|
-
end
|
32
|
-
|
33
|
-
def self.query(q, **kwargs)
|
34
|
-
raise NotImplementedError, "#{self}.#{__method__}"
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|