active-fedora 11.0.0.rc7 → 11.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.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +2 -7
  4. data/.rubocop_todo.yml +40 -9
  5. data/active-fedora.gemspec +2 -2
  6. data/lib/active_fedora/associations/collection_association.rb +1 -1
  7. data/lib/active_fedora/associations/contained_finder.rb +2 -2
  8. data/lib/active_fedora/change_set.rb +6 -2
  9. data/lib/active_fedora/core.rb +18 -7
  10. data/lib/active_fedora/fedora_attributes.rb +1 -1
  11. data/lib/active_fedora/indexing_service.rb +0 -4
  12. data/lib/active_fedora/orders/ordered_list.rb +2 -2
  13. data/lib/active_fedora/relation/delegation.rb +4 -0
  14. data/lib/active_fedora/solr_hit.rb +0 -4
  15. data/lib/active_fedora/solr_query_builder.rb +16 -12
  16. data/lib/active_fedora/version.rb +1 -1
  17. data/spec/config_helper.rb +1 -1
  18. data/spec/integration/autosave_association_spec.rb +1 -1
  19. data/spec/integration/base_spec.rb +1 -1
  20. data/spec/integration/file_spec.rb +1 -1
  21. data/spec/integration/indexing_spec.rb +1 -1
  22. data/spec/integration/query_result_builder_spec.rb +1 -1
  23. data/spec/integration/relation_delegation_spec.rb +1 -3
  24. data/spec/integration/versionable_spec.rb +4 -4
  25. data/spec/spec_helper.rb +52 -3
  26. data/spec/unit/active_fedora_spec.rb +1 -1
  27. data/spec/unit/association_hash_spec.rb +8 -22
  28. data/spec/unit/attached_files_spec.rb +6 -6
  29. data/spec/unit/base_cma_spec.rb +1 -1
  30. data/spec/unit/base_extra_spec.rb +2 -18
  31. data/spec/unit/base_spec.rb +1 -1
  32. data/spec/unit/callback_spec.rb +2 -2
  33. data/spec/unit/checksum_spec.rb +2 -2
  34. data/spec/unit/code_configurator_spec.rb +1 -1
  35. data/spec/unit/core_spec.rb +36 -0
  36. data/spec/unit/default_model_mapper_spec.rb +3 -3
  37. data/spec/unit/file_configurator_spec.rb +4 -4
  38. data/spec/unit/file_path_builder_spec.rb +1 -1
  39. data/spec/unit/file_spec.rb +1 -1
  40. data/spec/unit/files_hash_spec.rb +2 -2
  41. data/spec/unit/finder_methods_spec.rb +3 -3
  42. data/spec/unit/has_and_belongs_to_many_association_spec.rb +0 -2
  43. data/spec/unit/has_many_association_spec.rb +2 -2
  44. data/spec/unit/indexing_spec.rb +2 -2
  45. data/spec/unit/logger_spec.rb +1 -1
  46. data/spec/unit/orders/reflection_spec.rb +1 -1
  47. data/spec/unit/property_spec.rb +2 -2
  48. data/spec/unit/query_spec.rb +1 -1
  49. data/spec/unit/reflection_spec.rb +3 -3
  50. data/spec/unit/solr_config_options_spec.rb +1 -1
  51. data/spec/unit/solr_service_spec.rb +4 -10
  52. data/spec/unit/with_metadata/default_metadata_class_factory_spec.rb +1 -1
  53. data/spec/unit/with_metadata/metadata_node_spec.rb +1 -1
  54. metadata +10 -17
  55. data/spec/fixtures/damsObjectModel.xml +0 -38
  56. data/spec/fixtures/dublin_core_rdf_descMetadata.nt +0 -13
  57. data/spec/fixtures/mixed_rdf_descMetadata.nt +0 -7
  58. data/spec/fixtures/mods_articles/mods_article1.xml +0 -98
  59. data/spec/fixtures/solr_rdf_descMetadata.nt +0 -7
  60. data/spec/samples/oral_history_sample.xml +0 -38
  61. data/spec/samples/oral_history_xml.xml +0 -35
@@ -7,8 +7,6 @@ describe ActiveFedora::Associations::HasAndBelongsToManyAssociation do
7
7
  end
8
8
  class Page < ActiveFedora::Base
9
9
  end
10
- allow_any_instance_of(Book).to receive(:load_datastreams).and_return(false)
11
- allow_any_instance_of(Page).to receive(:load_datastreams).and_return(false)
12
10
 
13
11
  allow(book).to receive(:new_record?).and_return(false)
14
12
  allow(book).to receive(:save).and_return(true)
@@ -110,8 +110,8 @@ describe ActiveFedora::Associations::HasManyAssociation do
110
110
  end
111
111
 
112
112
  describe "#ids_reader" do
113
- let(:owner) { double('owner') }
114
- let(:reflection) { double('reflection', check_validity!: true) }
113
+ let(:owner) { instance_double(ActiveFedora::Base) }
114
+ let(:reflection) { instance_double(ActiveFedora::Reflection::AssociationReflection, check_validity!: true) }
115
115
  let(:association) { described_class.new(owner, reflection) }
116
116
 
117
117
  let(:r1) { ActiveFedora::Base.new(id: 'r1-id', &:mark_for_destruction) }
@@ -72,8 +72,8 @@ describe ActiveFedora::Indexing do
72
72
  end
73
73
 
74
74
  context "with attached files" do
75
- let(:mock1) { double("ds1") }
76
- let(:mock2) { double("ds2") }
75
+ let(:mock1) { instance_double(ActiveFedora::File) }
76
+ let(:mock2) { instance_double(ActiveFedora::File) }
77
77
 
78
78
  it "calls .to_solr on all datastreams, passing the resulting document to solr" do
79
79
  expect(mock1).to receive(:to_solr).and_return("one" => "title one")
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe ActiveFedora::Base do
4
- let(:logger1) { double(debug?: false) }
4
+ let(:logger1) { instance_double(::Logger, debug?: false) }
5
5
 
6
6
  before do
7
7
  @initial_logger = described_class.logger
@@ -6,7 +6,7 @@ RSpec.describe ActiveFedora::Reflection::OrdersReflection do
6
6
  let(:name) { "ordered_member_proxies" }
7
7
  let(:options) { {} }
8
8
  let(:scope) { nil }
9
- let(:active_fedora) { double("active_fedora") }
9
+ let(:active_fedora) { instance_double(ActiveFedora::Base) }
10
10
 
11
11
  describe "#klass" do
12
12
  it "is a proxy" do
@@ -1,8 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe ActiveFedora::Property do
4
- before(:each) do
5
- @test_property = described_class.new(double("model_stub"), "file_name", :string)
4
+ before do
5
+ @test_property = described_class.new(instance_double(ActiveFedora::Base), "file_name", :string)
6
6
  end
7
7
 
8
8
  it 'provides .new' do
@@ -8,7 +8,7 @@ describe ActiveFedora::Base do
8
8
  end
9
9
  end
10
10
  let(:sort_query) { ActiveFedora.index_field_mapper.solr_name("system_create", :stored_sortable, type: :date) + ' asc' }
11
- let(:model_query) { "_query_:\"{!field f=has_model_ssim}SpecModel::Basic\"" }
11
+ let(:model_query) { "_query_:\"{!raw f=has_model_ssim}SpecModel::Basic\"" }
12
12
 
13
13
  after(:all) do
14
14
  Object.send(:remove_const, :SpecModel)
@@ -4,14 +4,14 @@ describe ActiveFedora::Reflection::AssociationReflection do
4
4
  describe "#derive_foreign_key" do
5
5
  let(:name) { 'dummy' }
6
6
  let(:options) { { inverse_of: :default_permissions } }
7
- let(:active_fedora) { double }
7
+ let(:active_fedora) { instance_double(ActiveFedora::Base) }
8
8
  subject { instance.send :derive_foreign_key }
9
9
 
10
10
  context "when a has_many" do
11
11
  let(:instance) { ActiveFedora::Reflection::HasManyReflection.new(name, nil, options, active_fedora) }
12
12
 
13
13
  context "and the inverse is a collection association" do
14
- let(:inverse) { double(collection?: true) }
14
+ let(:inverse) { instance_double(ActiveFedora::Reflection::HasAndBelongsToManyReflection, collection?: true) }
15
15
  before { allow(instance).to receive(:inverse_of).and_return(inverse) }
16
16
  it { is_expected.to eq 'default_permission_ids' }
17
17
  end
@@ -28,7 +28,7 @@ describe ActiveFedora::Reflection::AssociationReflection do
28
28
  after { Object.send(:remove_const, :Dummy) }
29
29
  let(:name) { 'dummy' }
30
30
  let(:options) { { as: 'foothing' } }
31
- let(:active_fedora) { double }
31
+ let(:active_fedora) { instance_double(ActiveFedora::Base) }
32
32
  subject { instance.send :automatic_inverse_of }
33
33
 
34
34
  context "when a has_many" do
@@ -25,7 +25,7 @@ describe ActiveFedora do
25
25
  it "is used by ActiveFedora::Base#search_with_conditions" do
26
26
  mock_response = double("SolrResponse")
27
27
  expect(ActiveFedora::SolrService).to receive(:query)
28
- .with("_query_:\"{!field f=has_model_ssim}SolrSpecModel::Basic\" AND " \
28
+ .with("_query_:\"{!raw f=has_model_ssim}SolrSpecModel::Basic\" AND " \
29
29
  "_query_:\"{!field f=#{field}}changeme:30\"",
30
30
  sort: ["#{described_class.index_field_mapper.solr_name('system_create', :stored_sortable, type: :date)} asc"])
31
31
  .and_return(mock_response)
@@ -9,6 +9,8 @@ describe ActiveFedora::SolrService do
9
9
  described_class.reset!
10
10
  end
11
11
 
12
+ let(:mock_conn) { instance_double(RSolr::Client) }
13
+
12
14
  describe '#conn' do
13
15
  it "takes a n-arg constructor and configure for localhost" do
14
16
  expect(RSolr).to receive(:connect).with(read_timeout: 120, open_timeout: 120, url: 'http://localhost:8080/solr')
@@ -21,10 +23,9 @@ describe ActiveFedora::SolrService do
21
23
  end
22
24
 
23
25
  describe '#conn=' do
24
- let(:new_connection) { double }
25
26
  it 'is settable' do
26
- described_class.instance.conn = new_connection
27
- expect(described_class.instance.conn).to eq new_connection
27
+ described_class.instance.conn = mock_conn
28
+ expect(described_class.instance.conn).to eq mock_conn
28
29
  end
29
30
  end
30
31
 
@@ -44,14 +45,12 @@ describe ActiveFedora::SolrService do
44
45
 
45
46
  describe "#get" do
46
47
  it "calls solr" do
47
- mock_conn = double("Connection")
48
48
  stub_result = double("Result")
49
49
  expect(mock_conn).to receive(:get).with('select', params: { q: 'querytext', qt: 'standard' }).and_return(stub_result)
50
50
  allow(described_class).to receive(:instance).and_return(double("instance", conn: mock_conn))
51
51
  expect(described_class.get('querytext')).to eq stub_result
52
52
  end
53
53
  it "uses select_path" do
54
- mock_conn = double("Connection")
55
54
  stub_result = double("Result")
56
55
  expect(mock_conn).to receive(:get).with('select_test', params: { q: 'querytext', qt: 'standard' }).and_return(stub_result)
57
56
  expect(described_class).to receive(:select_path).and_return('select_test')
@@ -65,7 +64,6 @@ describe ActiveFedora::SolrService do
65
64
  let(:docs) { [doc] }
66
65
 
67
66
  it "wraps the solr response documents in Solr hits" do
68
- mock_conn = double("Connection")
69
67
  stub_result = { 'response' => { 'docs' => docs } }
70
68
  expect(mock_conn).to receive(:get).with('select', params: { q: 'querytext', qt: 'standard' }).and_return(stub_result)
71
69
  allow(described_class).to receive(:instance).and_return(double("instance", conn: mock_conn))
@@ -77,14 +75,12 @@ describe ActiveFedora::SolrService do
77
75
 
78
76
  describe ".count" do
79
77
  it "returns a count of matching records" do
80
- mock_conn = double("Connection")
81
78
  stub_result = { 'response' => { 'numFound' => '7' } }
82
79
  expect(mock_conn).to receive(:get).with('select', params: { rows: 0, q: 'querytext', qt: 'standard' }).and_return(stub_result)
83
80
  allow(described_class).to receive(:instance).and_return(double("instance", conn: mock_conn))
84
81
  expect(described_class.count('querytext')).to eq 7
85
82
  end
86
83
  it "accepts query args" do
87
- mock_conn = double("Connection")
88
84
  stub_result = { 'response' => { 'numFound' => '7' } }
89
85
  expect(mock_conn).to receive(:get).with('select', params: { rows: 0, q: 'querytext', qt: 'standard', fq: 'filter' }).and_return(stub_result)
90
86
  allow(described_class).to receive(:instance).and_return(double("instance", conn: mock_conn))
@@ -104,7 +100,6 @@ describe ActiveFedora::SolrService do
104
100
 
105
101
  describe ".add" do
106
102
  it "calls solr" do
107
- mock_conn = double("Connection")
108
103
  doc = { 'id' => '1234' }
109
104
  expect(mock_conn).to receive(:add).with(doc, params: {})
110
105
  allow(described_class).to receive(:instance).and_return(double("instance", conn: mock_conn))
@@ -114,7 +109,6 @@ describe ActiveFedora::SolrService do
114
109
 
115
110
  describe ".commit" do
116
111
  it "calls solr" do
117
- mock_conn = double("Connection")
118
112
  expect(mock_conn).to receive(:commit)
119
113
  allow(described_class).to receive(:instance).and_return(double("instance", conn: mock_conn))
120
114
  described_class.commit
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe ActiveFedora::WithMetadata::DefaultMetadataClassFactory do
4
- let(:parent) { double("Parent") }
4
+ let(:parent) { class_double(ActiveFedora::File) }
5
5
  let(:object) { described_class.new }
6
6
 
7
7
  describe "default class attributes" do
@@ -37,7 +37,7 @@ describe ActiveFedora::WithMetadata::MetadataNode do
37
37
  end
38
38
 
39
39
  it "is expected to have the rdf type statement" do
40
- expect(changes_for_update[::RDF.type]).to be_kind_of RDF::Queryable::Enumerator
40
+ expect(changes_for_update[::RDF.type]).to be_present
41
41
  end
42
42
  end
43
43
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active-fedora
3
3
  version: !ruby/object:Gem::Version
4
- version: 11.0.0.rc7
4
+ version: 11.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Zumwalt
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-08-18 00:00:00.000000000 Z
13
+ date: 2016-09-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rsolr
@@ -18,20 +18,20 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: '1.0'
21
+ version: '1.1'
22
22
  - - ">="
23
23
  - !ruby/object:Gem::Version
24
- version: 1.0.10
24
+ version: 1.1.2
25
25
  type: :runtime
26
26
  prerelease: false
27
27
  version_requirements: !ruby/object:Gem::Requirement
28
28
  requirements:
29
29
  - - "~>"
30
30
  - !ruby/object:Gem::Version
31
- version: '1.0'
31
+ version: '1.1'
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: 1.0.10
34
+ version: 1.1.2
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: solrizer
37
37
  requirement: !ruby/object:Gem::Requirement
@@ -92,14 +92,14 @@ dependencies:
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: 0.10.0
95
+ version: 0.11.0
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: 0.10.0
102
+ version: 0.11.0
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: deprecation
105
105
  requirement: !ruby/object:Gem::Requirement
@@ -530,20 +530,15 @@ files:
530
530
  - script/destroy
531
531
  - script/generate
532
532
  - spec/config_helper.rb
533
- - spec/fixtures/damsObjectModel.xml
534
533
  - spec/fixtures/dino.jpg
535
534
  - spec/fixtures/dino_jpg_no_file_ext
536
- - spec/fixtures/dublin_core_rdf_descMetadata.nt
537
535
  - spec/fixtures/minivan.jpg
538
- - spec/fixtures/mixed_rdf_descMetadata.nt
539
- - spec/fixtures/mods_articles/mods_article1.xml
540
536
  - spec/fixtures/rails_root/config/fake_fedora.yml
541
537
  - spec/fixtures/rails_root/config/fedora.yml
542
538
  - spec/fixtures/rails_root/config/solr.yml
543
539
  - spec/fixtures/rails_root/config/solr_mappings.yml
544
540
  - spec/fixtures/rails_root/config/solr_mappings_af_0.1.yml
545
541
  - spec/fixtures/rails_root/config/solr_mappings_bl_2.4.yml
546
- - spec/fixtures/solr_rdf_descMetadata.nt
547
542
  - spec/integration/associations/rdf_spec.rb
548
543
  - spec/integration/associations_spec.rb
549
544
  - spec/integration/attached_files_spec.rb
@@ -586,8 +581,6 @@ files:
586
581
  - spec/integration/versionable_spec.rb
587
582
  - spec/integration/with_metadata_spec.rb
588
583
  - spec/rcov.opts
589
- - spec/samples/oral_history_sample.xml
590
- - spec/samples/oral_history_xml.xml
591
584
  - spec/spec.opts
592
585
  - spec/spec_helper.rb
593
586
  - spec/support/an_active_model.rb
@@ -676,9 +669,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
676
669
  version: '2.0'
677
670
  required_rubygems_version: !ruby/object:Gem::Requirement
678
671
  requirements:
679
- - - ">"
672
+ - - ">="
680
673
  - !ruby/object:Gem::Version
681
- version: 1.3.1
674
+ version: '0'
682
675
  requirements: []
683
676
  rubyforge_project:
684
677
  rubygems_version: 2.5.1
@@ -1,38 +0,0 @@
1
- <rdf:RDF
2
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
3
- xmlns:dams="http://library.ucsd.edu/ontology/dams#"
4
- xmlns:mads="http://www.loc.gov/mads/rdf/v1#"
5
- xmlns:damsid="http://library.ucsd.edu/ark:/20775/">
6
- <dams:Object rdf:about="http://library.ucsd.edu/ark:/20775/">
7
- <dams:title rdf:parseType="Resource">
8
- <rdf:value>example title</rdf:value>
9
- <dams:relatedTitle rdf:parseType="Resource">
10
- <rdf:value xml:lang="fr">example translated relatedTitle</rdf:value>
11
- <dams:type>translated</dams:type>
12
- </dams:relatedTitle>
13
- </dams:title>
14
-
15
- <dams:date rdf:parseType="Resource">
16
- <dams:beginDate>2012-11-27</dams:beginDate>
17
- <dams:endDate>2012-11-30</dams:endDate>
18
- <rdf:value>2012-11-29</rdf:value>
19
- </dams:date>
20
-
21
- <dams:language rdf:resource="http://library.ucsd.edu/ark:/20775/bb12345678"/>
22
- <dams:typeOfResource>image</dams:typeOfResource>
23
- <dams:otherResource>
24
- <dams:RelatedResource>
25
- <dams:type>online exhibit</dams:type>
26
- <dams:description>foo</dams:description>
27
- <dams:uri>http://library.ucsd.edu/test/foo/</dams:uri>
28
- </dams:RelatedResource>
29
- </dams:otherResource>
30
- <dams:relationship>
31
- <dams:Relationship>
32
- <dams:role rdf:resource="http://library.ucsd.edu/ark:/20775/bd55639754"/>
33
- <dams:name rdf:resource="http://library.ucsd.edu/ark:/20775/bb08080808"/>
34
- </dams:Relationship>
35
- </dams:relationship>
36
- <dams:assembledCollection rdf:resource="http://library.ucsd.edu/ark:/20775/bb03030303"/>
37
- </dams:Object>
38
- </rdf:RDF>
@@ -1,13 +0,0 @@
1
- <http://id.psu.edu/object42> <http://purl.org/dc/terms/description> "This is a work by JD in the field of biology." .
2
- <http://id.psu.edu/object42> <http://purl.org/dc/terms/publisher> "Penn State" .
3
- <http://id.psu.edu/object42> <http://purl.org/dc/terms/contributor> "Department of Bioinformatics" .
4
- <http://id.psu.edu/object42> <http://purl.org/dc/terms/created> "2010-12-31"^^<http://www.w3.org/2001/XMLSchema#date> .
5
- <http://id.psu.edu/object42> <http://purl.org/dc/terms/title> "Title of work" .
6
- <http://id.psu.edu/object42> <http://purl.org/dc/terms/subject> "Biology" .
7
- <http://id.psu.edu/object42> <http://purl.org/dc/terms/language> "en" .
8
- <http://id.psu.edu/object42> <http://purl.org/dc/terms/date> "2009-12-31"^^<http://www.w3.org/2001/XMLSchema#date> .
9
- <http://id.psu.edu/object42> <http://purl.org/dc/terms/rights> "insert rights statement here" .
10
- <http://id.psu.edu/object42> <http://purl.org/dc/terms/type> <http://purl.org/dc/dcmitype/Image> .
11
- <http://id.psu.edu/object42> <http://purl.org/dc/terms/format> "image/jpeg" .
12
- <http://id.psu.edu/object42> <http://purl.org/dc/terms/creator> "John Doe" .
13
- <http://id.psu.edu/object42> <http://purl.org/dc/terms/identifier> "old:identifier:7779" .
@@ -1,7 +0,0 @@
1
- <http://localhost:8983/fedora/rest/test/test:1> <http://purl.org/dc/terms/created> "2010-12-31"^^<http://www.w3.org/2001/XMLSchema#date> .
2
- <http://localhost:8983/fedora/rest/test/test:1> <http://purl.org/dc/terms/title> "Title of work" .
3
- <http://localhost:8983/fedora/rest/test/test:1> <http://purl.org/dc/terms/publisher> "Penn State" .
4
- <http://localhost:8983/fedora/rest/test/test:1> <http://xmlns.com/foaf/0.1/based_near> "New York, NY, US" .
5
- <http://localhost:8983/fedora/rest/test/test:1> <http://www.w3.org/2000/01/rdf-schema#seeAlso> <http://google.com/> .
6
- <http://localhost:8983/fedora/rest/test/test:1/content> <http://purl.org/dc/terms/title> "Title of datastream" .
7
-
@@ -1,98 +0,0 @@
1
- <mods version="3.0" xsi:schemaLocation="http://www.loc.gov/mods/v3
2
- http://www.loc.gov/standards/mods/v3/mods-3-0.xsd" xmlns="http://www.loc.gov/mods/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
3
-
4
- <titleInfo>
5
- <nonSort>THE</nonSort>
6
- <title>ARTICLE TITLE</title>
7
- <subTitle>SUBTITLE</subTitle>
8
- </titleInfo>
9
- <titleInfo type="alternative">
10
- <title>VARYING FORM OF TITLE</title>
11
- </titleInfo>
12
-
13
- <name type="personal">
14
- <namePart type="family">FAMILY NAME</namePart>
15
- <namePart type="given">GIVEN NAMES</namePart>
16
- <namePart type="termsOfAddress">DR.</namePart>
17
- <displayForm>NAME AS IT APPEARS</displayForm>
18
- <affiliation>FACULTY, UNIVERSITY</affiliation>
19
- <role>
20
- <roleTerm authority="marcrelator" type="text">Creator</roleTerm>
21
- </role>
22
- </name>
23
- <name type="personal">
24
- <namePart type="family">Lacks</namePart>
25
- <namePart type="given">Henrietta</namePart>
26
- <displayForm>HeLa</displayForm>
27
- <affiliation>Baltimore</affiliation>
28
- <role>
29
- <roleTerm authority="marcrelator" type="text">Contributor</roleTerm>
30
- </role>
31
- </name>
32
- <name type="corporate">
33
- <namePart>NSF</namePart>
34
- <role>
35
- <roleTerm authority="marcrelator" type="text">Funder</roleTerm>
36
- </role>
37
- </name>
38
- <name type="conference">
39
- <namePart>some conference</namePart>
40
- <role>
41
- <roleTerm authority="marcrelator" type="text">Host</roleTerm>
42
- </role>
43
- </name>
44
-
45
- <typeOfResource>text</typeOfResource>
46
- <genre authority="local">journal article</genre>
47
-
48
- <abstract>ABSTRACT</abstract>
49
- <subject>
50
- <topic>TOPIC 1</topic>
51
- <topic>TOPIC 2</topic>
52
- </subject>
53
- <subject authority="AUTHORITY SOURCE (RFCD, LCSH)">
54
- <topic>CONTROLLED TERM</topic>
55
- </subject>
56
-
57
- <language>
58
- <languageTerm authority="iso639-2b" type="code">en-aus </languageTerm>
59
- </language>
60
-
61
- <physicalDescription>
62
- <internetMediaType>application/pdf</internetMediaType>
63
- <extent>36 p.</extent>
64
- </physicalDescription>
65
-
66
- <relatedItem type="host">
67
- <titleInfo>
68
- <title>TITLE OF HOST JOURNAL</title>
69
- </titleInfo>
70
- <originInfo>
71
- <publisher>PUBLISHER</publisher>
72
- <dateIssued>DATE</dateIssued>
73
- </originInfo>
74
- <identifier type="issn">0013-8908</identifier>
75
- <part>
76
- <detail type="volume">
77
- <number>2</number>
78
- </detail>
79
- <detail type="level">
80
- <number>2</number>
81
- </detail>
82
- <extent unit="pages">
83
- <start>195</start>
84
- <end>230</end>
85
- </extent>
86
- <date>FEB. 2007</date>
87
- </part>
88
- </relatedItem>
89
-
90
- <identifier type="uri">http://URL.edu.au/</identifier>
91
- <identifier type="doi">doi:10.1006/jmbi.1995.0238</identifier>
92
- <location>
93
- <url>http://URL.edu.au/</url>
94
- </location>
95
- <accessCondition type="restrictionOnAccess">EMBARGO NOTE</accessCondition>
96
- <accessCondition type="use and reproduction">OPEN ACCESS</accessCondition>
97
-
98
- </mods>