assembly-utils 1.4.3 → 1.4.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/.rspec +2 -0
- data/Gemfile +1 -0
- data/README.md +72 -0
- data/assembly-utils.gemspec +2 -2
- data/config/connect_to_dor.rb +2 -2
- data/lib/assembly-utils/utils.rb +41 -2
- data/lib/assembly-utils/version.rb +1 -1
- data/spec/utils_spec.rb +45 -45
- metadata +6 -5
- data/README.rdoc +0 -57
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZTJlYzhjNWUyMmVmMWZhZWZiODQxMGQ0ZjMyNWZmZTU5YWRmMDU1NQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MDRiY2E2N2I4OWYzOTgyNzVlOTY0OTVkODQ4M2U5ZGJiNGQxOTlkMA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OWYzOGE4Njk2NDZlOGY1MmQwZmI0Yjk2YmJmZjhlYWViYzdhNGE1OTgwZjlk
|
10
|
+
N2I3NDI0Mjc2MTk2ZTlmMmZhNWI4OTliMWZiN2E4ZTU2YzFiNzY5OTkxMDE0
|
11
|
+
Zjg4OTVlYjQxNGRkYjBkZmNmNzNmMjQxMTA1NTNhNjNhZTEyMmM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
Y2U1Nzg2MWVkNzA0NDUzYjIyYjVkYjliNmIwMTliZDFmYTFhMDU1NGZlMmUw
|
14
|
+
ZDVlYjRmYTA4ZGQxMmQ3YzQxOTk2MjFmMzRjZjZhMTQzNzkxOTdmNjFkM2Qx
|
15
|
+
YTYwZmRjMTdjNjI4NTA3YmFiY2UyMTcwZjBmY2I3ODY5ZjdjMmU=
|
data/.rspec
ADDED
data/Gemfile
CHANGED
data/README.md
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
# Assembly Utils Gem
|
2
|
+
|
3
|
+
## Overview
|
4
|
+
Ruby gem of methods useful for assembly and accessioning. Contains classes to
|
5
|
+
manipulate DOR objects for assembly and accessioning.
|
6
|
+
|
7
|
+
## Releases
|
8
|
+
|
9
|
+
* 1.0.0 initial release
|
10
|
+
* 1.0.1 bug fixes
|
11
|
+
* 1.0.2 more bug fixes to use the new druid-tools namespace
|
12
|
+
* 1.0.3 add a method to compute staging paths based on changes to Druid gem path computations
|
13
|
+
* 1.0.4 add some tests and document methods
|
14
|
+
* 1.0.5 add more spec tests and documentation; update `get_staging_path` method to fix a bug
|
15
|
+
* 1.0.6 add the ability to delete workflows in the cleanup method, add a new
|
16
|
+
method to fetch and delete all workflows
|
17
|
+
* 1.0.7 add a new method to determine if a specific workflow is defined in the APO
|
18
|
+
* 1.0.8 add methods to batch import and export objects to/from FOXML
|
19
|
+
* 1.0.9 add spec output test data directory to git
|
20
|
+
* 1.0.10 lowered required version of dor-services from 3.9.0 to 3.8.0
|
21
|
+
* 1.0.11 use `Dor::DigitalStacksService` to calculate stacks directory to cleanup
|
22
|
+
* 1.0.12 bugfix on call to `Dor::DigitalStacksService`
|
23
|
+
* 1.0.13 update to latest lyberteam devel gems
|
24
|
+
* 1.0.14 add new method to re-index item in solr
|
25
|
+
* 1.1.0 small updates to some methods to depracate `apo_workflow` checking method
|
26
|
+
* 1.1.1 add dor-workflow-service gem and convenience method to auto reset
|
27
|
+
all objects in a specific state back to waiting
|
28
|
+
* 1.1.2 allow `reset_workflow_state` to accept a state parameter
|
29
|
+
* 1.1.3 add a reindex method
|
30
|
+
* 1.1.4 fixed delete object method to remove from solr too; fix cleanup
|
31
|
+
object method to remove both old and new style druid trees
|
32
|
+
* 1.1.5 add new claim druid method
|
33
|
+
* 1.1.6 add new step to remove workflows during `cleanup_object`
|
34
|
+
* 1.1.7 change ordering of cleanup steps so if deleting workflow fails, the
|
35
|
+
earlier steps will still run
|
36
|
+
* 1.1.8 fix bug in cleanup method during symlink deletion
|
37
|
+
* 1.1.9 add remediate-object to the workflow status report; remove some
|
38
|
+
methods around robot usage that aren't needed anymore
|
39
|
+
* 1.2.0 add a new method to return an array of druids from a CSV file which contains a "druid" column
|
40
|
+
* 1.2.1 add a new method to insert a specific workflow into an object
|
41
|
+
* 1.2.2 add a new method to bulk republish a list of druids, and a new
|
42
|
+
parameter to datastreams bulk update to publish after updating
|
43
|
+
* 1.2.3 add a new method to check the status of an object (`is_ingested?`)
|
44
|
+
* 1.2.4 add some additional methods to check the state of an object
|
45
|
+
* 1.2.5-1.2.7 update gemfile to newer version of dor-services gem and other related/dependent gems
|
46
|
+
* 1.2.8 add a new constant for technical metadata filename
|
47
|
+
* 1.4.1-2 update gems and fix typos
|
48
|
+
|
49
|
+
|
50
|
+
## Running tests
|
51
|
+
|
52
|
+
You will need to be on the Stanford network or VPNed in to run the
|
53
|
+
tests, since it connects to DOR. To run tests:
|
54
|
+
|
55
|
+
```bash
|
56
|
+
bundle exec rspec spec
|
57
|
+
```
|
58
|
+
|
59
|
+
## Deploy new gem
|
60
|
+
|
61
|
+
```bash
|
62
|
+
gem build assembly-utils.gemspec
|
63
|
+
gem push assembly-utils-1.4.1.gem # update version as needed
|
64
|
+
```
|
65
|
+
|
66
|
+
## Connecting to DOR
|
67
|
+
|
68
|
+
Some of the methods require a connection to DOR, which is not provided as part
|
69
|
+
of this gem. In order to connect to DOR, you will need some configuration
|
70
|
+
information in your project, along with the certificates for the appropriate
|
71
|
+
environment. Connections for development DOR are provided as part of the gem
|
72
|
+
in the 'config' directory and are used in the spec test suite.
|
data/assembly-utils.gemspec
CHANGED
@@ -27,10 +27,10 @@ Gem::Specification.new do |s|
|
|
27
27
|
|
28
28
|
s.add_dependency 'activesupport'
|
29
29
|
s.add_dependency 'activeresource'
|
30
|
-
s.add_dependency 'addressable', '2.3.5'
|
30
|
+
s.add_dependency 'addressable', '2.3.5' # avoids ERROR: lib/addressable/uri.rb:1659:in `normalized_fragment': can't modify frozen Addressable::URI (RuntimeError)
|
31
31
|
|
32
32
|
s.add_development_dependency "rake"
|
33
|
-
s.add_development_dependency "rspec",
|
33
|
+
s.add_development_dependency "rspec", '~> 3.1'
|
34
34
|
s.add_development_dependency "yard"
|
35
35
|
|
36
36
|
end
|
data/config/connect_to_dor.rb
CHANGED
@@ -2,5 +2,5 @@ environment = ENV['ENVIRONMENT'] ||= 'development'
|
|
2
2
|
GEM_ROOT = File.expand_path(File.dirname(__FILE__) + '/..')
|
3
3
|
|
4
4
|
# Environment.
|
5
|
-
|
6
|
-
require
|
5
|
+
env_file = GEM_ROOT + "/config/environments/#{environment}.rb"
|
6
|
+
require env_file if File.file?(env_file)
|
data/lib/assembly-utils/utils.rb
CHANGED
@@ -510,7 +510,7 @@ module Assembly
|
|
510
510
|
end
|
511
511
|
end
|
512
512
|
|
513
|
-
# Check if the object is
|
513
|
+
# Check if the object is fully accessioned and ingested.
|
514
514
|
# This method only works when this gem is used in a project that is configured to connect to the workflow service.
|
515
515
|
#
|
516
516
|
# @param [string] pid the druid to operate on
|
@@ -523,6 +523,19 @@ module Assembly
|
|
523
523
|
WFS.get_lifecycle(REPO, pid, 'accessioned') ? true : false
|
524
524
|
end
|
525
525
|
|
526
|
+
# Check if the object is currently in accessioning
|
527
|
+
# This method only works when this gem is used in a project that is configured to connect to the workflow service.
|
528
|
+
#
|
529
|
+
# @param [string] pid the druid to operate on
|
530
|
+
#
|
531
|
+
# @return [boolean] if object is currently in accessioning
|
532
|
+
# Example:
|
533
|
+
# Assembly::Utils.in_accessioning?('druid:oo000oo0001')
|
534
|
+
# > false
|
535
|
+
def self.in_accessioning?(pid)
|
536
|
+
WFS.get_active_lifecycle(REPO, pid, 'submitted') ? true : false
|
537
|
+
end
|
538
|
+
|
526
539
|
# Check if the object is on ingest hold
|
527
540
|
# This method only works when this gem is used in a project that is configured to connect to the workflow service.
|
528
541
|
#
|
@@ -548,7 +561,33 @@ module Assembly
|
|
548
561
|
def self.is_submitted?(pid)
|
549
562
|
WFS.get_lifecycle(REPO, pid, 'submitted') == nil
|
550
563
|
end
|
551
|
-
|
564
|
+
|
565
|
+
# Check if the updates are allowed on the object
|
566
|
+
# This method only works when this gem is used in a project that is configured to connect to the workflow service.
|
567
|
+
#
|
568
|
+
# @param [string] pid the druid to operate on
|
569
|
+
#
|
570
|
+
# @return [boolean] if object can be versioned and updated
|
571
|
+
# Example:
|
572
|
+
# Assembly::Utils.updates_allowed?('druid:oo000oo0001')
|
573
|
+
# > false
|
574
|
+
def self.updates_allowed?(pid)
|
575
|
+
!self.in_accessioning?(pid) && self.is_ingested?(pid)
|
576
|
+
end
|
577
|
+
|
578
|
+
# Check if versioning is required for the object
|
579
|
+
# This method only works when this gem is used in a project that is configured to connect to the workflow service.
|
580
|
+
#
|
581
|
+
# @param [string] pid the druid to operate on
|
582
|
+
#
|
583
|
+
# @return [boolean] if object requires versioning
|
584
|
+
# Example:
|
585
|
+
# Assembly::Utils.versioning_required?('druid:oo000oo0001')
|
586
|
+
# > false
|
587
|
+
def self.versioning_required?(pid)
|
588
|
+
!((!self.is_ingested?(pid) && self.ingest_hold?(pid)) || (!self.is_ingested?(pid) && !self.is_submitted?(pid)))
|
589
|
+
end
|
590
|
+
|
552
591
|
# Reset the workflow states for a list of druids given a list of workflow names and steps.
|
553
592
|
# Provide a list of druids in an array, and a hash containing workflow names (e.g. 'assemblyWF' or 'accessionWF') as the keys, and arrays of steps
|
554
593
|
# as the corresponding values (e.g. ['checksum-compute','jp2-create']) and they will all be reset to "waiting".
|
data/spec/utils_spec.rb
CHANGED
@@ -1,53 +1,53 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Assembly::Utils do
|
4
|
-
|
4
|
+
|
5
5
|
it "should compute the correct staging path given a druid" do
|
6
6
|
path=Assembly::Utils.get_staging_path('aa000aa0001')
|
7
|
-
path.
|
7
|
+
expect(path).to eq('aa/000/aa/0001')
|
8
8
|
end
|
9
9
|
|
10
10
|
it "should compute the correct staging path given a druid and a pre-pend path" do
|
11
11
|
path=Assembly::Utils.get_staging_path('aa000aa0001','/tmp')
|
12
|
-
path.
|
12
|
+
expect(path).to eq('/tmp/aa/000/aa/0001')
|
13
13
|
end
|
14
14
|
|
15
15
|
it "should symbolize hash keys correctly" do
|
16
|
-
result=Assembly::Utils.symbolize_keys({'foo'=>'bar','ppuff'=>'doofus'})
|
17
|
-
result.
|
16
|
+
result=Assembly::Utils.symbolize_keys({'foo'=>'bar','ppuff'=>'doofus'})
|
17
|
+
expect(result).to eq({:foo=>'bar',:ppuff=>'doofus'})
|
18
18
|
end
|
19
19
|
|
20
20
|
it "should symbolize hash values correctly" do
|
21
21
|
result=Assembly::Utils.values_to_symbols!({'foo'=>'bar','ppuff'=>'doofus'})
|
22
|
-
result.
|
22
|
+
expect(result).to eq({'foo'=>:bar,'ppuff'=>:doofus})
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
it "should return a blank string if a file is not found to read in" do
|
26
26
|
bogus_filename='crap/dude'
|
27
|
-
Assembly::Utils.read_file(bogus_filename).
|
27
|
+
expect(Assembly::Utils.read_file(bogus_filename)).to eq('')
|
28
28
|
end
|
29
29
|
|
30
30
|
it "should return a string with the file content if the file is found" do
|
31
31
|
progress_filename='spec/test_data/test_log.yaml'
|
32
|
-
Assembly::Utils.read_file(progress_filename).
|
32
|
+
expect(Assembly::Utils.read_file(progress_filename)).to match(/:pid: druid:bg598tg6338/)
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
it "should read in a list of completed druids from a progress log file" do
|
36
36
|
progress_filename='spec/test_data/test_log.yaml'
|
37
|
-
druids=Assembly::Utils.get_druids_from_log(progress_filename)
|
38
|
-
druids.
|
37
|
+
druids=Assembly::Utils.get_druids_from_log(progress_filename)
|
38
|
+
expect(druids).to eq(['druid:bc006dj2846','druid:bg598tg6338'])
|
39
39
|
end
|
40
40
|
|
41
41
|
it "should read in a list of failed druids from a progress log file" do
|
42
42
|
progress_filename='spec/test_data/test_log.yaml'
|
43
|
-
druids=Assembly::Utils.get_druids_from_log(progress_filename,false)
|
44
|
-
druids.
|
43
|
+
druids=Assembly::Utils.get_druids_from_log(progress_filename,false)
|
44
|
+
expect(druids).to eq(['druid:bh634sp8073'])
|
45
45
|
end
|
46
|
-
|
46
|
+
|
47
47
|
it "should read in a YAML configuration file and turn it into a hash" do
|
48
48
|
config_filename='spec/test_data/local_dev_revs.yaml'
|
49
|
-
config=Assembly::Utils.load_config(config_filename)
|
50
|
-
config['progress_log_file'].
|
49
|
+
config=Assembly::Utils.load_config(config_filename)
|
50
|
+
expect(config['progress_log_file']).to eq('tmp/progress_revs.yaml')
|
51
51
|
end
|
52
52
|
|
53
53
|
###################################################################################
|
@@ -63,56 +63,56 @@ describe Assembly::Utils do
|
|
63
63
|
remove_files(TEST_OUTPUT_DIR)
|
64
64
|
delete_test_object
|
65
65
|
end
|
66
|
-
|
67
|
-
it "should find druids by source ID" do
|
68
|
-
Dor::SearchService.
|
66
|
+
|
67
|
+
it "should find druids by source ID", :type =>'integration' do
|
68
|
+
expect(Dor::SearchService).to receive(:query_by_id).with('testing-assembly-utils-gem').and_return TEST_PID
|
69
69
|
druids=Assembly::Utils.get_druids_by_sourceid(['testing-assembly-utils-gem'])
|
70
|
-
druids.
|
70
|
+
expect(druids).to eq([TEST_PID])
|
71
71
|
end
|
72
|
-
|
73
|
-
it "should replace the datastream of an object" do
|
72
|
+
|
73
|
+
it "should replace the datastream of an object", :type =>'integration' do
|
74
74
|
new_content="<xml><tag>stuff</tag></xml>"
|
75
75
|
datastream="test"
|
76
76
|
druids=[TEST_PID]
|
77
77
|
Assembly::Utils.replace_datastreams(druids,datastream,new_content)
|
78
78
|
obj = Dor::Item.find(TEST_PID)
|
79
|
-
obj.datastreams[datastream].content.
|
79
|
+
expect(obj.datastreams[datastream].content).to match(/<tag>stuff<\/tag>/)
|
80
80
|
end
|
81
81
|
|
82
|
-
it "should search and replace the datastream of an object" do
|
82
|
+
it "should search and replace the datastream of an object", :type =>'integration' do
|
83
83
|
find_content="stuff"
|
84
84
|
replace_content="new"
|
85
85
|
datastream="test"
|
86
86
|
druids=[TEST_PID]
|
87
87
|
Assembly::Utils.update_datastreams(druids,datastream,find_content,replace_content)
|
88
88
|
obj = Dor::Item.find(TEST_PID)
|
89
|
-
obj.datastreams[datastream].content.
|
89
|
+
expect(obj.datastreams[datastream].content).to match(/<tag>new<\/tag>/)
|
90
90
|
end
|
91
|
-
|
92
|
-
it "should export a PID to FOXML" do
|
93
|
-
File.exists?(File.join(TEST_OUTPUT_DIR,"#{TEST_PID_FILENAME}.foxml.xml")).
|
91
|
+
|
92
|
+
it "should export a PID to FOXML", :type =>'integration' do
|
93
|
+
expect(File.exists?(File.join(TEST_OUTPUT_DIR,"#{TEST_PID_FILENAME}.foxml.xml"))).to be false
|
94
94
|
Dir.mkdir(TEST_OUTPUT_DIR) unless Dir.exists?(TEST_OUTPUT_DIR)
|
95
95
|
Assembly::Utils.export_objects(TEST_PID,TEST_OUTPUT_DIR)
|
96
|
-
File.exists?(File.join(TEST_OUTPUT_DIR,"#{TEST_PID_FILENAME}.foxml.xml")).
|
96
|
+
expect(File.exists?(File.join(TEST_OUTPUT_DIR,"#{TEST_PID_FILENAME}.foxml.xml"))).to be true
|
97
|
+
end
|
98
|
+
|
99
|
+
it "should return nil when the workflow state is not found in an object", :type =>'integration' do
|
100
|
+
expect(Assembly::Utils.get_workflow_status(TEST_PID,'assemblyWF','jp2-create')).to be_nil
|
97
101
|
end
|
98
|
-
|
99
|
-
it "should
|
100
|
-
Assembly::Utils.
|
102
|
+
|
103
|
+
it "should indicate if the specified workflow is defined in an APO object", :type =>'integration' do
|
104
|
+
expect(Assembly::Utils.apo_workflow_defined?(TEST_APO_OBJECT,'accessionWF')).to be true
|
105
|
+
expect(Assembly::Utils.apo_workflow_defined?(TEST_APO_OBJECT,'accessioning')).to be true
|
101
106
|
end
|
102
|
-
|
103
|
-
it "should indicate if the specified workflow is defined in an APO object" do
|
104
|
-
Assembly::Utils.apo_workflow_defined?(TEST_APO_OBJECT,'
|
105
|
-
Assembly::Utils.apo_workflow_defined?(TEST_APO_OBJECT,'accessioning').should be true
|
107
|
+
|
108
|
+
it "should indicate if the specified workflow is not defined in an APO object", :type =>'integration' do
|
109
|
+
expect(Assembly::Utils.apo_workflow_defined?(TEST_APO_OBJECT,'crapsticks')).to be false
|
106
110
|
end
|
107
111
|
|
108
|
-
it "should indicate if the specified
|
109
|
-
Assembly::Utils.apo_workflow_defined?(
|
112
|
+
it "should indicate if the specified object is not an APO", :type =>'integration' do
|
113
|
+
expect{Assembly::Utils.apo_workflow_defined?(TEST_PID,'crapsticks')}.to raise_error
|
110
114
|
end
|
111
115
|
|
112
|
-
it "should indicate if the specified object is not an APO" do
|
113
|
-
lambda{Assembly::Utils.apo_workflow_defined?(TEST_PID,'crapsticks')}.should raise_error
|
114
|
-
end
|
115
|
-
|
116
116
|
end
|
117
|
-
|
118
|
-
end
|
117
|
+
|
118
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: assembly-utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Mangiafico
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-08-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -157,14 +157,14 @@ dependencies:
|
|
157
157
|
requirements:
|
158
158
|
- - ~>
|
159
159
|
- !ruby/object:Gem::Version
|
160
|
-
version: '
|
160
|
+
version: '3.1'
|
161
161
|
type: :development
|
162
162
|
prerelease: false
|
163
163
|
version_requirements: !ruby/object:Gem::Requirement
|
164
164
|
requirements:
|
165
165
|
- - ~>
|
166
166
|
- !ruby/object:Gem::Version
|
167
|
-
version: '
|
167
|
+
version: '3.1'
|
168
168
|
- !ruby/object:Gem::Dependency
|
169
169
|
name: yard
|
170
170
|
requirement: !ruby/object:Gem::Requirement
|
@@ -189,10 +189,11 @@ extensions: []
|
|
189
189
|
extra_rdoc_files: []
|
190
190
|
files:
|
191
191
|
- .gitignore
|
192
|
+
- .rspec
|
192
193
|
- .rvmrc.example
|
193
194
|
- Gemfile
|
194
195
|
- LICENSE
|
195
|
-
- README.
|
196
|
+
- README.md
|
196
197
|
- Rakefile
|
197
198
|
- assembly-utils.gemspec
|
198
199
|
- bin/console
|
data/README.rdoc
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
= Assembly Utils Gem
|
2
|
-
|
3
|
-
==Overview
|
4
|
-
Ruby gem of methods useful for assembly and accessioning. Contains classes to manipulate DOR objects for assembly and accessioning.
|
5
|
-
|
6
|
-
==Releases
|
7
|
-
|
8
|
-
- 1.0.0 initial release
|
9
|
-
- 1.0.1 bug fixes
|
10
|
-
- 1.0.2 more bug fixes to use the new druid-tools namespace
|
11
|
-
- 1.0.3 add a method to compute staging paths based on changes to Druid gem path computations
|
12
|
-
- 1.0.4 add some tests and document methods
|
13
|
-
- 1.0.5 add more spec tests and documentation; update get_staging_path method to fix a bug
|
14
|
-
- 1.0.6 add the ability to delete workflows in the cleanup method, add a new method to fetch and delete all workflows
|
15
|
-
- 1.0.7 add a new method to determine if a specific workflow is defined in the APO
|
16
|
-
- 1.0.8 add methods to batch import and export objects to/from FOXML
|
17
|
-
- 1.0.9 add spec output test data directory to git
|
18
|
-
- 1.0.10 lowered required version of dor-services from 3.9.0 to 3.8.0
|
19
|
-
- 1.0.11 use Dor::DigitalStacksService to calculate stacks directory to cleanup
|
20
|
-
- 1.0.12 bugfix on call to Dor::DigitalStacksService
|
21
|
-
- 1.0.13 update to latest lyberteam devel gems
|
22
|
-
- 1.0.14 add new method to re-index item in solr
|
23
|
-
- 1.1.0 small updates to some methods to depracate apo_workflow checking method
|
24
|
-
- 1.1.1 add dor-workflow-service gem and convenience method to auto reset all objects in a specific state back to waiting
|
25
|
-
- 1.1.2 allow reset_workflow_state to accept a state parameter
|
26
|
-
- 1.1.3 add a reindex method
|
27
|
-
- 1.1.4 fixed delete object method to remove from solr too; fix cleanup object method to remove both old and new style druid trees
|
28
|
-
- 1.1.5 add new claim druid method
|
29
|
-
- 1.1.6 add new step to remove workflows during cleanup_object
|
30
|
-
- 1.1.7 change ordering of cleanup steps so if deleting workflow fails, the earlier steps will still run
|
31
|
-
- 1.1.8 fix bug in cleanup method during symlink deletion
|
32
|
-
- 1.1.9 add remediate-object to the workflow status report; remove some methods around robot usage that aren't needed anymore
|
33
|
-
- 1.2.0 add a new method to return an array of druids from a CSV file which contains a "druid" column
|
34
|
-
- 1.2.1 add a new method to insert a specific workflow into an object
|
35
|
-
- 1.2.2 add a new method to bulk republish a list of druids, and a new parameter to datastreams bulk update to publish after updating
|
36
|
-
- 1.2.3 add a new method to check the status of an object (is_ingested?)
|
37
|
-
- 1.2.4 add some additional methods to check the state of an object
|
38
|
-
- 1.2.5-1.2.7 update gemfile to newer version of dor-services gem and other related/dependent gems
|
39
|
-
- 1.2.8 add a new constant for technical metadata filename
|
40
|
-
- 1.4.1-2 update gems and fix typos
|
41
|
-
|
42
|
-
==Running tests
|
43
|
-
|
44
|
-
You will need to be on the Stanford network (not wifi) or VPNed in to run the tests, since it connects to DOR. To run the tests
|
45
|
-
|
46
|
-
bundle exec rspec spec
|
47
|
-
|
48
|
-
==Deploy new gem
|
49
|
-
|
50
|
-
gem build assembly-utils.gemspec
|
51
|
-
gem push assembly-utils-1.4.1.gem # update version as needed
|
52
|
-
|
53
|
-
==Connecting to DOR
|
54
|
-
|
55
|
-
Some of the methods require a connection to DOR, which is not provided as part of this gem. In order to connect to DOR, you will need
|
56
|
-
some configuration information in your project, along with the certificates for the appropriate environment. Connections for development DOR
|
57
|
-
are provided as part of the gem in the 'config' directory and are used in the spec test suite.
|