hydra-pbcore 2.4.0 → 3.0.0.rc1
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 +15 -0
- data/.gitignore +1 -1
- data/Gemfile.lock +135 -0
- data/README.md +32 -25
- data/Rakefile +1 -1
- data/hydra-pbcore.gemspec +3 -1
- data/lib/hydra-pbcore.rb +19 -2
- data/lib/hydra_pbcore/datastream.rb +0 -1
- data/lib/hydra_pbcore/datastream/document.rb +6 -11
- data/lib/hydra_pbcore/datastream/instantiation.rb +5 -10
- data/lib/hydra_pbcore/methods.rb +0 -6
- data/lib/hydra_pbcore/templates.rb +6 -6
- data/lib/hydra_pbcore/version.rb +1 -1
- data/spec/config_spec.rb +88 -0
- data/spec/document_spec.rb +37 -17
- data/spec/fixtures/digital_instantiation_solr.xml +1009 -1009
- data/spec/fixtures/document_solr.xml +441 -430
- data/spec/fixtures/physical_instantiation_solr.xml +291 -282
- data/spec/instantiation_spec.rb +38 -6
- data/spec/spec_helper.rb +1 -0
- metadata +42 -87
- data/lib/hydra_pbcore/conversions.rb +0 -107
- data/lib/hydra_pbcore/datastream/deprecated.rb +0 -6
- data/lib/hydra_pbcore/datastream/deprecated/digital_document.rb +0 -105
- data/lib/hydra_pbcore/datastream/deprecated/document.rb +0 -332
- data/lib/hydra_pbcore/datastream/deprecated/instantiation.rb +0 -263
- data/lib/hydra_pbcore/mapper.rb +0 -50
- data/spec/deprecated/digital_document_spec.rb +0 -242
- data/spec/deprecated/document_spec.rb +0 -282
- data/spec/deprecated/instantiation_spec.rb +0 -214
- data/spec/fixtures/converted_digital_document_rrhof_1904.xml +0 -61
- data/spec/fixtures/converted_digital_document_rrhof_2405.xml +0 -54
- data/spec/fixtures/converted_document_rrhof_2439.xml +0 -19
- data/spec/fixtures/converted_document_rrhof_524.xml +0 -45
- data/spec/fixtures/converted_instantiation_rrhof_1184.xml +0 -39
- data/spec/fixtures/converted_rrhof_524.xml +0 -45
- data/spec/fixtures/converted_rrhof_524_instantiation.xml +0 -18
- data/spec/fixtures/deprecated/pbcore_digital_document_template.xml +0 -67
- data/spec/fixtures/deprecated/pbcore_document_template.xml +0 -90
- data/spec/fixtures/deprecated/pbcore_instantiation_template.xml +0 -62
- data/spec/fixtures/deprecated/pbcore_solr_digital_document_template.xml +0 -500
- data/spec/fixtures/deprecated/pbcore_solr_document_template.xml +0 -592
- data/spec/fixtures/deprecated/pbcore_solr_instantiation_template.xml +0 -784
- data/spec/fixtures/integration/digital_document_rrhof_1904.xml +0 -67
- data/spec/fixtures/integration/digital_document_rrhof_2405.xml +0 -66
- data/spec/fixtures/integration/document_rrhof_2439.xml +0 -54
- data/spec/fixtures/integration/document_rrhof_524.xml +0 -80
- data/spec/fixtures/integration/instantiation_rrhof_1184.xml +0 -44
- data/spec/integration/conversions_spec.rb +0 -76
- data/spec/mapper_spec.rb +0 -18
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
OTNhOTQ2MTY5MTMxMjc1YTJhYmEzMDc1M2RkMmU0NzlkOTVmODRlMg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MzMwNjE5NjliMjc3YWQwZjViODIwNzk3MTQzMmJlYWZkNDRjMjM1Mg==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
Nzc5Y2I1ZGQ5OTdmMGI0MjA3ZDQzYjYzNzlhODU2Zjc1YmFlZWY1ZTJmNzYz
|
10
|
+
NmYyM2UzMmM0YmJjYTQ0ZGJkNmM0YTVjYzMwNmQxNzFjNzg2OWZjYjVlNTJl
|
11
|
+
ZjU0NzhiYmEyNzU4NDNlNzY5YzBjYWMwODA3ZjkzNWQ4NTY1Mjc=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
YTNhZDI5YmVhMWUyMmE3N2U2ZmRjY2JmZDM5MzUxNGMwYzg2ZjRlNGI5YzQx
|
14
|
+
OWIwNzI1ZjAyNzU2OGZjOTdlMWJhZjU2YWY0YWY1MWY1YmI0NDVmY2M2NTZm
|
15
|
+
MTk1NDUzY2Y4YTdmYjE1YmIzMjg3ZTlmNTI4MzUzZDMyNjEyMzc=
|
data/.gitignore
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,135 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
hydra-pbcore (3.0.0.rc1)
|
5
|
+
active-fedora
|
6
|
+
solrizer
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: https://rubygems.org/
|
10
|
+
specs:
|
11
|
+
active-fedora (6.4.3)
|
12
|
+
activesupport (>= 3.0.0)
|
13
|
+
deprecation
|
14
|
+
mediashelf-loggable
|
15
|
+
nom-xml (>= 0.5.1)
|
16
|
+
om (~> 3.0.0)
|
17
|
+
rdf
|
18
|
+
rdf-rdfxml (= 1.0.1)
|
19
|
+
rsolr
|
20
|
+
rubydora (~> 1.6, >= 1.6.5)
|
21
|
+
activemodel (4.0.0)
|
22
|
+
activesupport (= 4.0.0)
|
23
|
+
builder (~> 3.1.0)
|
24
|
+
activesupport (4.0.0)
|
25
|
+
i18n (~> 0.6, >= 0.6.4)
|
26
|
+
minitest (~> 4.2)
|
27
|
+
multi_json (~> 1.3)
|
28
|
+
thread_safe (~> 0.1)
|
29
|
+
tzinfo (~> 0.3.37)
|
30
|
+
addressable (2.3.5)
|
31
|
+
atomic (1.1.10)
|
32
|
+
builder (3.1.4)
|
33
|
+
coderay (1.0.9)
|
34
|
+
columnize (0.3.6)
|
35
|
+
daemons (1.1.9)
|
36
|
+
debugger (1.6.1)
|
37
|
+
columnize (>= 0.3.1)
|
38
|
+
debugger-linecache (~> 1.2.0)
|
39
|
+
debugger-ruby_core_source (~> 1.2.3)
|
40
|
+
debugger-linecache (1.2.0)
|
41
|
+
debugger-ruby_core_source (1.2.3)
|
42
|
+
deprecation (0.0.5)
|
43
|
+
activesupport
|
44
|
+
diff-lcs (1.2.4)
|
45
|
+
equivalent-xml (0.3.0)
|
46
|
+
nokogiri (>= 1.4.3)
|
47
|
+
fastercsv (1.5.5)
|
48
|
+
hooks (0.3.1)
|
49
|
+
i18n (0.6.4)
|
50
|
+
json (1.8.0)
|
51
|
+
mediashelf-loggable (0.4.9)
|
52
|
+
method_source (0.8.2)
|
53
|
+
mime-types (1.23)
|
54
|
+
mini_portile (0.5.1)
|
55
|
+
minitest (4.7.5)
|
56
|
+
multi_json (1.7.7)
|
57
|
+
nokogiri (1.6.0)
|
58
|
+
mini_portile (~> 0.5.0)
|
59
|
+
nom-xml (0.5.1)
|
60
|
+
activesupport
|
61
|
+
i18n
|
62
|
+
nokogiri
|
63
|
+
om (3.0.2)
|
64
|
+
activemodel
|
65
|
+
activesupport
|
66
|
+
deprecation
|
67
|
+
mediashelf-loggable
|
68
|
+
nokogiri (>= 1.4.2)
|
69
|
+
solrizer (~> 3.1.0)
|
70
|
+
pry (0.9.12.2)
|
71
|
+
coderay (~> 1.0.5)
|
72
|
+
method_source (~> 0.8)
|
73
|
+
slop (~> 3.4)
|
74
|
+
rake (10.1.0)
|
75
|
+
rdf (1.0.7)
|
76
|
+
addressable (>= 2.2)
|
77
|
+
rdf-rdfxml (1.0.1)
|
78
|
+
rdf (>= 1.0)
|
79
|
+
rdf-xsd (>= 1.0)
|
80
|
+
rdf-xsd (1.0.2.1)
|
81
|
+
nokogiri (>= 1.5.0)
|
82
|
+
rdf (>= 0.3.4)
|
83
|
+
rdoc (4.0.1)
|
84
|
+
json (~> 1.4)
|
85
|
+
redcarpet (3.0.0)
|
86
|
+
rest-client (1.6.7)
|
87
|
+
mime-types (>= 1.16)
|
88
|
+
rsolr (1.0.9)
|
89
|
+
builder (>= 2.1.2)
|
90
|
+
rspec (2.14.1)
|
91
|
+
rspec-core (~> 2.14.0)
|
92
|
+
rspec-expectations (~> 2.14.0)
|
93
|
+
rspec-mocks (~> 2.14.0)
|
94
|
+
rspec-core (2.14.3)
|
95
|
+
rspec-expectations (2.14.0)
|
96
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
97
|
+
rspec-mocks (2.14.1)
|
98
|
+
rubydora (1.6.5)
|
99
|
+
activemodel
|
100
|
+
activesupport
|
101
|
+
deprecation
|
102
|
+
equivalent-xml
|
103
|
+
fastercsv
|
104
|
+
hooks (~> 0.3.0)
|
105
|
+
mime-types
|
106
|
+
nokogiri
|
107
|
+
rest-client
|
108
|
+
slop (3.4.6)
|
109
|
+
solrizer (3.1.1)
|
110
|
+
activesupport
|
111
|
+
daemons
|
112
|
+
mediashelf-loggable (~> 0.4.7)
|
113
|
+
nokogiri
|
114
|
+
stomp
|
115
|
+
xml-simple
|
116
|
+
stomp (1.2.10)
|
117
|
+
thread_safe (0.1.0)
|
118
|
+
atomic
|
119
|
+
tzinfo (0.3.37)
|
120
|
+
xml-simple (1.1.2)
|
121
|
+
yard (0.8.6.2)
|
122
|
+
|
123
|
+
PLATFORMS
|
124
|
+
ruby
|
125
|
+
|
126
|
+
DEPENDENCIES
|
127
|
+
debugger
|
128
|
+
equivalent-xml
|
129
|
+
hydra-pbcore!
|
130
|
+
pry
|
131
|
+
rake
|
132
|
+
rdoc
|
133
|
+
redcarpet
|
134
|
+
rspec
|
135
|
+
yard
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# HydraPbcore
|
2
2
|
|
3
|
-
[](https://travis-ci.org/awead/hydra-pbcore)
|
4
4
|
|
5
5
|
A Hydra gem that offers PBCore datastream definitions using OM, as well as some other convenience
|
6
6
|
methods such as inserting xml templates into existing documents and reordering your PBCore xml
|
@@ -31,39 +31,46 @@ Use this with your hydra head to define a datastream in Fedora that will contain
|
|
31
31
|
end
|
32
32
|
|
33
33
|
Your descMetadata datastream will now have all the pbcore terms defined in HydraPbcore::Datastream::Document.
|
34
|
-
There are also two additional datastream definitions:
|
35
34
|
|
36
|
-
|
37
|
-
|
35
|
+
The HydraPbcore::Datastream::Instantiation datastream contains additional PBcore terms pertaining to
|
36
|
+
pbcoreInstantiation nodes. HydraPbcore supports an atomistic Fedora model where there are multiple
|
37
|
+
Fedora objects representing a single Pbcore document. This supports a use case where multiple video
|
38
|
+
files are represented as individual Fedora objects with the Instantiation datastream.
|
38
39
|
|
39
|
-
|
40
|
-
pbcoreInstantiation. The Document datastreams comes with a single instantiation that represents a tape
|
41
|
-
or other physical entity. DigitalDocument datastreams assume born-digital content and must have added
|
42
|
-
instantiations. These instantiations are defined in the Instantiation datastream.
|
40
|
+
### Atomistic Fedora Model
|
43
41
|
|
44
|
-
|
42
|
+
A parent pbcoreDocument object, with multiple instantiations, can be defined:
|
45
43
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
44
|
+
MyPbcoreDocument < ActiveFedora::Base
|
45
|
+
has_many :instantiations, :property => :is_part_of
|
46
|
+
has_metadata :name => "descMetadata", :type => HydraPbcore::Datastream::Document
|
47
|
+
end
|
50
48
|
|
51
|
-
|
49
|
+
Then, a child pbcoreInstantiation object with one parent pbcoreDocument is:
|
52
50
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
otherwise, the two functionally identical. By indexing your date fields as:
|
51
|
+
MyPbcoreInstantiation < ActiveFedora::Base
|
52
|
+
belongs_to :parent, :property => :is_part_of, :class_name => "MyPbcoreDocument"
|
53
|
+
has_metadata :name => "descMetadata", :type => HydraPbcore::Datastream::Instantiation
|
54
|
+
end
|
58
55
|
|
59
|
-
|
60
|
-
|
56
|
+
The objects can then be linked together using Fedora's RDF datastream via ActiveFedora's methods:
|
57
|
+
|
58
|
+
> doc = MyPbcoreDocument.new
|
59
|
+
> instantiation = MyPbcoreInstantiation.new
|
60
|
+
> doc.instantiations << instantiation
|
61
|
+
|
62
|
+
### Additional Methods
|
61
63
|
|
62
|
-
|
63
|
-
|
64
|
-
|
64
|
+
Complete PBcore documents can be assembled with their related instantiations using some of HydraPbcore's
|
65
|
+
convenience methods, which will reorder all nodes so the resulting document can be validated
|
66
|
+
according to the PBCore XML v.2 schema:
|
65
67
|
|
66
|
-
|
68
|
+
> doc = HydraPbcore::Datastream::Document.new
|
69
|
+
> instantiation1 = HydraPbcore::Datastream::Instantiation.new
|
70
|
+
> instantiation2 = HydraPbcore::Datastream::Instantiation.new
|
71
|
+
> pbcore = doc.to_pbcore_xml(instantiation1, instantiation2)
|
72
|
+
> pbcore.valid_pbcore?
|
73
|
+
=> true
|
67
74
|
|
68
75
|
## Testing
|
69
76
|
|
data/Rakefile
CHANGED
@@ -5,7 +5,7 @@ require 'rspec/core/rake_task'
|
|
5
5
|
# Rake task for getting an irb session
|
6
6
|
desc "Open an irb session preloaded with this library"
|
7
7
|
task :console do
|
8
|
-
sh "
|
8
|
+
sh "bin/pry -rubygems -I lib -e \"require 'hydra-pbcore'\""
|
9
9
|
end
|
10
10
|
|
11
11
|
RSpec::Core::RakeTask.new(:spec)
|
data/hydra-pbcore.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
|
|
18
18
|
|
19
19
|
# Dependencies
|
20
20
|
gem.add_dependency('active-fedora')
|
21
|
-
gem.add_dependency('solrizer'
|
21
|
+
gem.add_dependency('solrizer')
|
22
22
|
gem.add_development_dependency('yard')
|
23
23
|
gem.add_development_dependency('redcarpet')
|
24
24
|
# For Development
|
@@ -26,4 +26,6 @@ Gem::Specification.new do |gem|
|
|
26
26
|
gem.add_development_dependency 'rspec'
|
27
27
|
gem.add_development_dependency 'rdoc'
|
28
28
|
gem.add_development_dependency 'equivalent-xml'
|
29
|
+
gem.add_development_dependency 'debugger'
|
30
|
+
gem.add_development_dependency 'pry'
|
29
31
|
end
|
data/lib/hydra-pbcore.rb
CHANGED
@@ -3,6 +3,7 @@ require "nokogiri"
|
|
3
3
|
require "solrizer"
|
4
4
|
require "om"
|
5
5
|
require "active-fedora"
|
6
|
+
require "yaml"
|
6
7
|
|
7
8
|
module HydraPbcore
|
8
9
|
extend ActiveSupport::Autoload
|
@@ -56,6 +57,24 @@ module HydraPbcore
|
|
56
57
|
"instantiationExtension",
|
57
58
|
]
|
58
59
|
|
60
|
+
Config = {
|
61
|
+
"institution" => "Rock and Roll Hall of Fame and Museum",
|
62
|
+
"relator" => "MARC relator terms",
|
63
|
+
"address" => "Rock and Roll Hall of Fame and Museum,\n2809 Woodland Ave.,\nCleveland, OH, 44115\n216-515-1956\nlibrary@rockhall.org"
|
64
|
+
}
|
65
|
+
|
66
|
+
# load our config file
|
67
|
+
def self.config opts = {}
|
68
|
+
if File.exists? "config/pbcore.yml"
|
69
|
+
config = ::YAML::load(IO.read("config/pbcore.yml"))
|
70
|
+
Config.keys.collect { |k| config[k] = Config[k] if config[k].nil? }
|
71
|
+
else
|
72
|
+
logger.info "pbcore.yml file not found, using default values"
|
73
|
+
config = Config
|
74
|
+
end
|
75
|
+
return config
|
76
|
+
end
|
77
|
+
|
59
78
|
def self.version
|
60
79
|
HydraPbcore::VERSION
|
61
80
|
end
|
@@ -74,9 +93,7 @@ module HydraPbcore
|
|
74
93
|
xsd.validate(xml)
|
75
94
|
end
|
76
95
|
|
77
|
-
autoload :Mapper
|
78
96
|
autoload :Methods
|
79
|
-
autoload :Conversions
|
80
97
|
autoload :Behaviors
|
81
98
|
autoload :Templates
|
82
99
|
autoload :Datastream
|
@@ -1,22 +1,17 @@
|
|
1
1
|
module HydraPbcore::Datastream
|
2
2
|
class Document < ActiveFedora::OmDatastream
|
3
3
|
|
4
|
-
class_attribute :institution, :relator
|
5
|
-
self.institution = "Rock and Roll Hall of Fame and Museum"
|
6
|
-
self.relator = "MARC relator terms"
|
7
|
-
|
8
4
|
include HydraPbcore::Methods
|
9
5
|
include HydraPbcore::Templates
|
10
|
-
include HydraPbcore::Conversions
|
11
6
|
|
12
7
|
set_terminology do |t|
|
13
8
|
t.root(:path=>"pbcoreDescriptionDocument")
|
14
9
|
|
15
10
|
t.pbc_id(:path=>"pbcoreIdentifier",
|
16
|
-
:attributes=>{ :source=>
|
11
|
+
:attributes=>{ :source=>HydraPbcore.config["institution"], :annotation=>"PID" }
|
17
12
|
)
|
18
13
|
|
19
|
-
t.title(:path=>"pbcoreTitle", :attributes=>{ :titleType=>"Main" }, :index_as => [:searchable, :displayable])
|
14
|
+
t.title(:path=>"pbcoreTitle", :attributes=>{ :titleType=>"Main" }, :index_as => [:searchable, :displayable, :sortable])
|
20
15
|
t.alternative_title(:path=>"pbcoreTitle", :attributes=>{ :titleType=>"Alternative" },
|
21
16
|
:index_as => [:searchable, :displayable]
|
22
17
|
)
|
@@ -46,7 +41,7 @@ class Document < ActiveFedora::OmDatastream
|
|
46
41
|
:index_as => [:displayable]
|
47
42
|
)
|
48
43
|
t.rh_subject(:path=>"pbcoreSubject",
|
49
|
-
:attributes=>{ :source=>
|
44
|
+
:attributes=>{ :source=>HydraPbcore.config["institution"] },
|
50
45
|
:index_as => [:displayable]
|
51
46
|
)
|
52
47
|
|
@@ -120,7 +115,7 @@ class Document < ActiveFedora::OmDatastream
|
|
120
115
|
)
|
121
116
|
t.event_date(:path=>"pbcoreCoverage/coverage",
|
122
117
|
:attributes => {:annotation=>"Event Date"},
|
123
|
-
:index_as => [:
|
118
|
+
:index_as => [:dateable, :displayable]
|
124
119
|
)
|
125
120
|
|
126
121
|
# Creator names and roles
|
@@ -134,7 +129,7 @@ class Document < ActiveFedora::OmDatastream
|
|
134
129
|
# Contributor names and roles
|
135
130
|
t.contributor(:path=>"pbcoreContributor") do
|
136
131
|
t.name_(:path=>"contributor")
|
137
|
-
t.role_(:path=>"contributorRole", :attributes=>{ :source=>
|
132
|
+
t.role_(:path=>"contributorRole", :attributes=>{ :source=>HydraPbcore.config["relator"] })
|
138
133
|
end
|
139
134
|
t.contributor_name(:ref=>[:contributor, :name], :index_as => [:searchable, :facetable])
|
140
135
|
t.contributor_role(:ref=>[:contributor, :role], :index_as => [:searchable, :displayable])
|
@@ -162,7 +157,7 @@ class Document < ActiveFedora::OmDatastream
|
|
162
157
|
xml.pbcoreDescriptionDocument("xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance",
|
163
158
|
"xsi:schemaLocation"=>"http://www.pbcore.org/PBCore/PBCoreNamespace.html") {
|
164
159
|
|
165
|
-
xml.pbcoreIdentifier(:source=>
|
160
|
+
xml.pbcoreIdentifier(:source=>HydraPbcore.config["institution"], :annotation=>"PID")
|
166
161
|
xml.pbcoreTitle(:titleType=>"Main")
|
167
162
|
xml.pbcoreDescription(:descriptionType=>"Description",
|
168
163
|
:descriptionTypeSource=>"pbcoreDescription/descriptionType",
|
@@ -1,13 +1,8 @@
|
|
1
1
|
module HydraPbcore::Datastream
|
2
2
|
class Instantiation < ActiveFedora::OmDatastream
|
3
3
|
|
4
|
-
class_attribute :institution, :address
|
5
|
-
self.institution = "Rock and Roll Hall of Fame and Museum"
|
6
|
-
self.address = "Rock and Roll Hall of Fame and Museum,\n2809 Woodland Ave.,\nCleveland, OH, 44115\n216-515-1956\nlibrary@rockhall.org"
|
7
|
-
|
8
4
|
include HydraPbcore::Methods
|
9
5
|
include HydraPbcore::Templates
|
10
|
-
include HydraPbcore::Conversions
|
11
6
|
|
12
7
|
# Note: this is not a complete PBCore document, just an instantiation node
|
13
8
|
set_terminology do |t|
|
@@ -17,7 +12,7 @@ class Instantiation < ActiveFedora::OmDatastream
|
|
17
12
|
:path => "instantiationIdentifier",
|
18
13
|
:attributes=>{
|
19
14
|
:annotation=>"Filename",
|
20
|
-
:source=>
|
15
|
+
:source=>HydraPbcore.config["institution"]
|
21
16
|
},
|
22
17
|
:index_as => [:displayable]
|
23
18
|
)
|
@@ -25,12 +20,12 @@ class Instantiation < ActiveFedora::OmDatastream
|
|
25
20
|
:path => "instantiationIdentifier",
|
26
21
|
:attributes=>{
|
27
22
|
:annotation=>"Barcode",
|
28
|
-
:source=>
|
23
|
+
:source=>HydraPbcore.config["institution"]
|
29
24
|
},
|
30
|
-
:index_as => [:displayable]
|
25
|
+
:index_as => [:searchable, :displayable]
|
31
26
|
)
|
32
27
|
t.instantiationDate(:attributes=>{ :dateType=>"created" },
|
33
|
-
:index_as => [:
|
28
|
+
:index_as => [:dateable, :displayable]
|
34
29
|
)
|
35
30
|
t.instantiationDigital(:attributes=>{ :source=>"EBU file formats" },
|
36
31
|
:index_as => [:searchable, :facetable]
|
@@ -94,7 +89,7 @@ class Instantiation < ActiveFedora::OmDatastream
|
|
94
89
|
)
|
95
90
|
|
96
91
|
t.instantiationRelation do
|
97
|
-
t.instantiationRelationIdentifier(:attributes=>{ :source=>
|
92
|
+
t.instantiationRelationIdentifier(:attributes=>{ :source=>HydraPbcore.config["institution"] })
|
98
93
|
end
|
99
94
|
# The file we're describing at the root of this document preceeds the file marked "next"
|
100
95
|
t.next_inst(:ref => [:pbcoreInstantiation, :instantiationRelation],
|
data/lib/hydra_pbcore/methods.rb
CHANGED
@@ -73,10 +73,4 @@ module HydraPbcore::Methods
|
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
|
-
# Overrides Solrizer::XML::TerminologyBasedSolrizer.to_solr to use our own mapper
|
77
|
-
def to_solr(solr_doc = Hash.new)
|
78
|
-
Solrizer.default_field_mapper = HydraPbcore::Mapper.new
|
79
|
-
super(solr_doc)
|
80
|
-
end
|
81
|
-
|
82
76
|
end
|
@@ -21,7 +21,7 @@ module HydraPbcore::Templates
|
|
21
21
|
define_template :contributor do |xml, author, role|
|
22
22
|
xml.pbcoreContributor {
|
23
23
|
xml.contributor(author)
|
24
|
-
xml.contributorRole(role, :source=>
|
24
|
+
xml.contributorRole(role, :source=>HydraPbcore.config["relator"])
|
25
25
|
}
|
26
26
|
end
|
27
27
|
|
@@ -30,7 +30,7 @@ module HydraPbcore::Templates
|
|
30
30
|
xml.instantiationRelationType(:annotation=>"One of a multi-part instantiation") {
|
31
31
|
xml.text "Follows in Sequence"
|
32
32
|
}
|
33
|
-
xml.instantiationRelationIdentifier(file, :source=>
|
33
|
+
xml.instantiationRelationIdentifier(file, :source=>HydraPbcore.config["institution"])
|
34
34
|
}
|
35
35
|
end
|
36
36
|
|
@@ -39,7 +39,7 @@ module HydraPbcore::Templates
|
|
39
39
|
xml.instantiationRelationType(:annotation=>"One of a multi-part instantiation") {
|
40
40
|
xml.text "Precedes in Sequence"
|
41
41
|
}
|
42
|
-
xml.instantiationRelationIdentifier(file, :source=>
|
42
|
+
xml.instantiationRelationIdentifier(file, :source=>HydraPbcore.config["institution"])
|
43
43
|
}
|
44
44
|
end
|
45
45
|
|
@@ -108,7 +108,7 @@ module HydraPbcore::Templates
|
|
108
108
|
|
109
109
|
xml.pbcoreInstantiation {
|
110
110
|
|
111
|
-
xml.instantiationIdentifier(:annotation=>"Filename", :source=>
|
111
|
+
xml.instantiationIdentifier(:annotation=>"Filename", :source=>HydraPbcore.config["institution"])
|
112
112
|
xml.instantiationDate(:dateType=>"created")
|
113
113
|
xml.instantiationDigital(:source=>"EBU file formats")
|
114
114
|
xml.instantiationLocation
|
@@ -163,12 +163,12 @@ module HydraPbcore::Templates
|
|
163
163
|
xml.pbcoreInstantiation {
|
164
164
|
|
165
165
|
# Item details
|
166
|
-
xml.instantiationIdentifier(:annotation=>"Barcode", :source=>
|
166
|
+
xml.instantiationIdentifier(:annotation=>"Barcode", :source=>HydraPbcore.config["institution"])
|
167
167
|
xml.instantiationDate(:dateType=>"created")
|
168
168
|
xml.instantiationPhysical(:source=>"PBCore instantiationPhysical")
|
169
169
|
xml.instantiationStandard
|
170
170
|
xml.instantiationLocation {
|
171
|
-
xml.text
|
171
|
+
xml.text HydraPbcore.config["address"]
|
172
172
|
}
|
173
173
|
xml.instantiationMediaType(:source=>"PBCore instantiationMediaType") {
|
174
174
|
xml.text "Moving image"
|