curate 0.6.4 → 0.6.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/curate/organizations_controller.rb +96 -0
  3. data/app/helpers/curate/organizations_helper.rb +13 -0
  4. data/app/helpers/curate_helper.rb +4 -0
  5. data/app/models/concerns/curate/ability.rb +8 -0
  6. data/app/models/curate/user_behavior/base.rb +13 -0
  7. data/app/repository_models/collection.rb +1 -0
  8. data/app/repository_models/curation_concern/model.rb +1 -0
  9. data/app/repository_models/organization.rb +17 -0
  10. data/app/repository_models/person.rb +1 -0
  11. data/app/repository_models/profile_section.rb +1 -0
  12. data/app/views/curate/organizations/_button_create_organization.html.erb +1 -0
  13. data/app/views/curate/organizations/_document_list.html.erb +11 -0
  14. data/app/views/curate/organizations/_form.html.erb +49 -0
  15. data/app/views/curate/organizations/_organization.html.erb +24 -0
  16. data/app/views/curate/organizations/edit.html.erb +4 -0
  17. data/app/views/curate/organizations/index.html.erb +11 -0
  18. data/app/views/curate/organizations/new.html.erb +4 -0
  19. data/app/views/curate/organizations/show.html.erb +27 -0
  20. data/app/views/organizations/_organization.html.erb +30 -0
  21. data/app/views/shared/_add_content.html.erb +1 -0
  22. data/lib/curate/rails/routes.rb +1 -0
  23. data/lib/curate/version.rb +1 -1
  24. data/lib/generators/curate/application_template.rb +1 -1
  25. data/lib/generators/curate/curate_generator.rb +3 -0
  26. data/spec/abilities/generic_file_abilities_spec.rb +12 -0
  27. data/spec/abilities/generic_work_abilities_spec.rb +12 -0
  28. data/spec/controllers/curate/organizations_controller_spec.rb +50 -0
  29. data/spec/factories/organizations_factory.rb +21 -0
  30. data/spec/internal/Gemfile +4 -22
  31. data/spec/internal/Gemfile.lock +1 -376
  32. data/spec/internal/app/assets/javascripts/application.js +0 -4
  33. data/spec/internal/app/assets/stylesheets/application.css +0 -1
  34. data/spec/internal/app/controllers/application_controller.rb +0 -9
  35. data/spec/internal/config/application.rb +0 -6
  36. data/spec/internal/config/environments/test.rb +1 -2
  37. data/spec/internal/config/initializers/mime_types.rb +1 -8
  38. data/spec/internal/config/initializers/secret_token.rb +1 -1
  39. data/spec/internal/config/locales/en.yml +20 -11
  40. data/spec/internal/config/routes.rb +0 -8
  41. data/spec/internal/db/development.sqlite3 +0 -0
  42. data/spec/internal/db/schema.rb +1 -216
  43. data/spec/internal/db/test.sqlite3 +0 -0
  44. data/spec/internal/lib/generators/test_app_generator.rb +2 -23
  45. data/spec/internal/log/development.log +4 -323
  46. data/spec/repository_models/organization_spec.rb +66 -0
  47. metadata +20 -160
  48. data/spec/internal/app/assets/images/blacklight/bg.png +0 -0
  49. data/spec/internal/app/assets/images/blacklight/border.png +0 -0
  50. data/spec/internal/app/assets/images/blacklight/bul_sq_gry.gif +0 -0
  51. data/spec/internal/app/assets/images/blacklight/checkmark.gif +0 -0
  52. data/spec/internal/app/assets/images/blacklight/logo.png +0 -0
  53. data/spec/internal/app/assets/images/blacklight/magnifying_glass.gif +0 -0
  54. data/spec/internal/app/assets/images/blacklight/remove.gif +0 -0
  55. data/spec/internal/app/assets/images/blacklight/separator.gif +0 -0
  56. data/spec/internal/app/assets/images/blacklight/start_over.gif +0 -0
  57. data/spec/internal/app/models/ability.rb +0 -20
  58. data/spec/internal/app/models/solr_document.rb +0 -38
  59. data/spec/internal/app/models/user.rb +0 -23
  60. data/spec/internal/config/SolrMarc/config-test.properties +0 -37
  61. data/spec/internal/config/SolrMarc/config.properties +0 -37
  62. data/spec/internal/config/SolrMarc/index.properties +0 -97
  63. data/spec/internal/config/SolrMarc/index_scripts/dewey.bsh +0 -47
  64. data/spec/internal/config/SolrMarc/index_scripts/format.bsh +0 -126
  65. data/spec/internal/config/SolrMarc/translation_maps/README_MAPS +0 -1
  66. data/spec/internal/config/SolrMarc/translation_maps/callnumber_map.properties +0 -407
  67. data/spec/internal/config/SolrMarc/translation_maps/composition_era_map.properties +0 -56
  68. data/spec/internal/config/SolrMarc/translation_maps/country_map.properties +0 -379
  69. data/spec/internal/config/SolrMarc/translation_maps/format_map.properties +0 -50
  70. data/spec/internal/config/SolrMarc/translation_maps/instrument_map.properties +0 -101
  71. data/spec/internal/config/SolrMarc/translation_maps/language_map.properties +0 -490
  72. data/spec/internal/config/doi.yml +0 -5
  73. data/spec/internal/config/fedora.yml +0 -14
  74. data/spec/internal/config/initializers/action_dispatch_http_upload_monkey_patch.rb +0 -12
  75. data/spec/internal/config/initializers/curate_config.rb +0 -24
  76. data/spec/internal/config/initializers/devise.rb +0 -254
  77. data/spec/internal/config/initializers/hydra-remote_identifier_config.rb +0 -29
  78. data/spec/internal/config/initializers/hydra_config.rb +0 -28
  79. data/spec/internal/config/initializers/mailboxer.rb +0 -17
  80. data/spec/internal/config/initializers/redis_config.rb +0 -32
  81. data/spec/internal/config/initializers/resque_admin.rb +0 -10
  82. data/spec/internal/config/initializers/resque_config.rb +0 -5
  83. data/spec/internal/config/initializers/sufia.rb +0 -81
  84. data/spec/internal/config/jetty.yml +0 -5
  85. data/spec/internal/config/locales/devise.en.yml +0 -59
  86. data/spec/internal/config/recipients_list.yml +0 -2
  87. data/spec/internal/config/redis.yml +0 -6
  88. data/spec/internal/config/role_map_cucumber.yml +0 -10
  89. data/spec/internal/config/role_map_development.yml +0 -12
  90. data/spec/internal/config/role_map_production.yml +0 -2
  91. data/spec/internal/config/role_map_test.yml +0 -15
  92. data/spec/internal/config/solr.yml +0 -10
  93. data/spec/internal/db/migrate/20140131175455_devise_create_users.rb +0 -42
  94. data/spec/internal/db/migrate/20140131175500_add_devise_guests_to_users.rb +0 -15
  95. data/spec/internal/db/migrate/20140131175501_create_searches.rb +0 -16
  96. data/spec/internal/db/migrate/20140131175502_create_bookmarks.rb +0 -18
  97. data/spec/internal/db/migrate/20140131175503_remove_editable_fields_from_bookmarks.rb +0 -12
  98. data/spec/internal/db/migrate/20140131175504_add_user_types_to_bookmarks_searches.rb +0 -16
  99. data/spec/internal/db/migrate/20140131175505_acts_as_follower_migration.rb +0 -17
  100. data/spec/internal/db/migrate/20140131175506_add_social_to_users.rb +0 -13
  101. data/spec/internal/db/migrate/20140131175507_create_single_use_links.rb +0 -12
  102. data/spec/internal/db/migrate/20140131175508_add_ldap_attrs_to_user.rb +0 -27
  103. data/spec/internal/db/migrate/20140131175509_add_avatars_to_users.rb +0 -9
  104. data/spec/internal/db/migrate/20140131175510_create_checksum_audit_logs.rb +0 -20
  105. data/spec/internal/db/migrate/20140131175511_create_version_committers.rb +0 -15
  106. data/spec/internal/db/migrate/20140131175512_add_groups_to_users.rb +0 -11
  107. data/spec/internal/db/migrate/20140131175513_create_local_authorities.rb +0 -50
  108. data/spec/internal/db/migrate/20140131175514_create_trophies.rb +0 -10
  109. data/spec/internal/db/migrate/20140131175536_create_mailboxer.mailboxer_engine.rb +0 -62
  110. data/spec/internal/db/migrate/20140131175537_add_notified_object.mailboxer_engine.rb +0 -18
  111. data/spec/internal/db/migrate/20140131175538_add_notification_code.mailboxer_engine.rb +0 -14
  112. data/spec/internal/db/migrate/20140131175539_add_attachments.mailboxer_engine.rb +0 -10
  113. data/spec/internal/db/migrate/20140131175540_rename_receipts_read.mailboxer_engine.rb +0 -10
  114. data/spec/internal/db/migrate/20140131175541_add_global_notification_support.mailboxer_engine.rb +0 -10
  115. data/spec/internal/db/migrate/20140131175545_add_terms_of_service_to_user.curate_engine.rb +0 -6
  116. data/spec/internal/db/migrate/20140131175546_add_user_force_update_profile.curate_engine.rb +0 -9
  117. data/spec/internal/db/migrate/20140131175547_create_help_requests.curate_engine.rb +0 -23
  118. data/spec/internal/db/migrate/20140131175548_add_repository_id_to_user.curate_engine.rb +0 -7
  119. data/spec/internal/db/migrate/20140131175549_create_curate_proxy_deposit_rights.curate_engine.rb +0 -12
  120. data/spec/internal/db/migrate/20140131175550_change_display_name_to_name.curate_engine.rb +0 -7
  121. data/spec/internal/fedora_conf/conf/development/fedora.fcfg +0 -953
  122. data/spec/internal/fedora_conf/conf/test/fedora.fcfg +0 -953
  123. data/spec/internal/solr_conf/conf/schema.xml +0 -273
  124. data/spec/internal/solr_conf/conf/solrconfig.xml +0 -167
  125. data/spec/internal/solr_conf/solr.xml +0 -35
  126. data/spec/internal/test/models/user_test.rb +0 -7
@@ -1,38 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- class SolrDocument
3
- # Adds Sufia behaviors to the SolrDocument.
4
- include Sufia::SolrDocumentBehavior
5
-
6
- include Blacklight::Solr::Document
7
- # The following shows how to setup this blacklight document to display marc documents
8
- extension_parameters[:marc_source_field] = :marc_display
9
- extension_parameters[:marc_format_type] = :marcxml
10
- use_extension( Blacklight::Solr::Document::Marc) do |document|
11
- document.key?( :marc_display )
12
- end
13
-
14
- field_semantics.merge!(
15
- :title => "title_display",
16
- :author => "author_display",
17
- :language => "language_facet",
18
- :format => "format"
19
- )
20
-
21
-
22
-
23
- # self.unique_key = 'id'
24
-
25
- # Email uses the semantic field mappings below to generate the body of an email.
26
- SolrDocument.use_extension( Blacklight::Solr::Document::Email )
27
-
28
- # SMS uses the semantic field mappings below to generate the body of an SMS email.
29
- SolrDocument.use_extension( Blacklight::Solr::Document::Sms )
30
-
31
- # DublinCore uses the semantic field mappings below to assemble an OAI-compliant Dublin Core document
32
- # Semantic mappings of solr stored fields. Fields may be multi or
33
- # single valued. See Blacklight::Solr::Document::ExtendableClassMethods#field_semantics
34
- # and Blacklight::Solr::Document#to_semantic_values
35
- # Recommendation: Use field names from Dublin Core
36
- use_extension( Blacklight::Solr::Document::DublinCore)
37
-
38
- end
@@ -1,23 +0,0 @@
1
- class User < ActiveRecord::Base
2
- # Connects this user object to Sufia behaviors.
3
- include Sufia::User
4
- include Curate::UserBehavior
5
-
6
- # Connects this user object to Hydra behaviors.
7
- include Hydra::User
8
-
9
- attr_accessible :email, :password, :password_confirmation if Rails::VERSION::MAJOR < 4
10
- # Connects this user object to Blacklights Bookmarks.
11
- include Blacklight::User
12
- # Include default devise modules. Others available are:
13
- # :confirmable, :lockable, :timeoutable and :omniauthable
14
- devise :database_authenticatable, :registerable,
15
- :recoverable, :rememberable, :trackable, :validatable
16
-
17
- # Method added by Blacklight; Blacklight uses #to_s on your
18
- # user class to get a user-displayable login/identifier for
19
- # the account.
20
- def to_s
21
- email
22
- end
23
- end
@@ -1,37 +0,0 @@
1
- # If using the solr:marc:index task, you can define environment-specific
2
- # config files that will be used instead of 'config.properties' for
3
- # a specific environment. config-development.properties,
4
- # config-production.properties, etc.
5
-
6
- # Relative paths for solrmarc.solr.war.path and solr.path are relative
7
- # to the location of SolrMarc.jar, which for blacklight is by default
8
- # in blacklight/config/solr_marc.
9
-
10
- # solrmarc.solr.war.path - must point to either a war file for the version of
11
- # Solr that you want to use, or to a directory of jar files extracted from a
12
- # Solr war files. If this is not provided, SolrMarc can only work by
13
- # communicating with a running Solr server.
14
- #solrmarc.solr.war.path=../jetty/webapps/solr.war
15
- # Path to your solr instance
16
- #solr.path = ../jetty/solr
17
-
18
- # Relative paths for solr.indexer can be relative to the location of
19
- # this config.properties file.
20
- solr.indexer = org.solrmarc.index.SolrIndexer
21
- solr.indexer.properties = index.properties
22
-
23
- # URL of running solr search engine to cause updates to be recognized.
24
- # * When solr.path and solrmarc.solr.war.path are defined, this is optional,
25
- # but if defined SolrMarc will issue a 'commit' after it's done indexing.
26
- # * Alternately, do not define solr.path or solrmarc.solr.war.path to have
27
- # SolrMarc use HTTP Post to add documents.
28
- # NOTE:
29
- # When using the solr:marc:index rake task, this value will be automatically
30
- # looked up from your solr.yml, and the value here will NOT be used.
31
- solr.hosturl = http://localhost:8888/solr/update
32
-
33
- # MARC handling parameters
34
- marc.to_utf_8 = true
35
- marc.permissive = true
36
- marc.default_encoding = MARC8
37
- marc.include_errors = false
@@ -1,37 +0,0 @@
1
- # If using the solr:marc:index task, you can define environment-specific
2
- # config files that will be used instead of 'config.properties' for
3
- # a specific environment. config-development.properties,
4
- # config-production.properties, etc.
5
-
6
- # Relative paths for solrmarc.solr.war.path and solr.path are relative
7
- # to the location of SolrMarc.jar, which for blacklight is by default
8
- # in blacklight/config/solr_marc.
9
-
10
- # solrmarc.solr.war.path - must point to either a war file for the version of
11
- # Solr that you want to use, or to a directory of jar files extracted from a
12
- # Solr war files. If this is not provided, SolrMarc can only work by
13
- # communicating with a running Solr server.
14
- # solrmarc.solr.war.path= ../../../../jetty/webapps/solr.war
15
- # Path to your solr instance
16
- # solr.path = ../../../../jetty/solr
17
-
18
- # Relative paths for solr.indexer can be relative to the location of
19
- # this config.properties file.
20
- solr.indexer = org.solrmarc.index.SolrIndexer
21
- solr.indexer.properties = index.properties
22
-
23
- # URL of running solr search engine to cause updates to be recognized.
24
- # * When solr.path and solrmarc.solr.war.path are defined, this is optional,
25
- # but if defined SolrMarc will issue a 'commit' after it's done indexing.
26
- # * Alternately, do not define solr.path or solrmarc.solr.war.path to have
27
- # SolrMarc use HTTP Post to add documents.
28
- # NOTE:
29
- # When using the solr:marc:index rake task, this value will be automatically
30
- # looked up from your solr.yml, and the value here will NOT be used.
31
- solr.hosturl = http://localhost:8983/solr/update
32
-
33
- # MARC handling parameters
34
- marc.to_utf_8 = true
35
- marc.permissive = true
36
- marc.default_encoding = MARC8
37
- marc.include_errors = false
@@ -1,97 +0,0 @@
1
- # for more information on solrmarc mappings,
2
- # see http://code.google.com/p/solrmarc/w/list
3
- #
4
- # GenericBlacklight uses these conventions, mostly.
5
- # _t for indexed fields (for searching)
6
- # _display for stored fields (for display in UI)
7
- # _facet for facet fields
8
- # _sort for sorting fields (fields used to sort results)
9
- #
10
- # see jetty/solr/conf/schema.xml in Blacklight demo project
11
- # see http://blacklight.rubyforge.org/ DEMO_README file
12
-
13
- id = 001, first
14
- marc_display = FullRecordAsXML
15
- text = custom, getAllSearchableFields(100, 900)
16
-
17
- language_facet = 008[35-37]:041a:041d, language_map.properties
18
- # format is for facet, display, and selecting partial for display in show view
19
- format = 007[0-1]:000[6-7]:000[6], (map.format), first
20
- isbn_t = 020a, (pattern_map.isbn_clean)
21
- material_type_display = custom, removeTrailingPunct(300aa)
22
-
23
- # Title fields
24
- # primary title
25
- title_t = custom, getLinkedFieldCombined(245a)
26
- title_display = custom, removeTrailingPunct(245a)
27
- title_vern_display = custom, getLinkedField(245a)
28
- # subtitle
29
- subtitle_t = custom, getLinkedFieldCombined(245b)
30
- subtitle_display = custom, removeTrailingPunct(245b)
31
- subtitle_vern_display = custom, getLinkedField(245b)
32
- # additional title fields
33
- title_addl_t = custom, getLinkedFieldCombined(245abnps:130[a-z]:240[a-gk-s]:210ab:222ab:242abnp:243[a-gk-s]:246[a-gnp]:247[a-gnp])
34
- title_added_entry_t = custom, getLinkedFieldCombined(700[gk-pr-t]:710[fgk-t]:711fgklnpst:730[a-gk-t]:740anp)
35
- title_series_t = custom, getLinkedFieldCombined(440anpv:490av)
36
- title_sort = custom, getSortableTitle
37
-
38
- # Author fields
39
- author_t = custom, getLinkedFieldCombined(100abcegqu:110abcdegnu:111acdegjnqu)
40
- author_addl_t = custom, getLinkedFieldCombined(700abcegqu:710abcdegnu:711acdegjnqu)
41
- author_display = custom, removeTrailingPunct(100abcdq:110[a-z]:111[a-z])
42
- author_vern_display = custom, getLinkedField(100abcdq:110[a-z]:111[a-z])
43
- author_sort = custom, getSortableAuthor
44
-
45
- # Subject fields
46
- subject_t = custom, getLinkedFieldCombined(600[a-u]:610[a-u]:611[a-u]:630[a-t]:650[a-e]:651ae:653aa:654[a-e]:655[a-c])
47
- subject_addl_t = custom, getLinkedFieldCombined(600[v-z]:610[v-z]:611[v-z]:630[v-z]:650[v-z]:651[v-z]:654[v-z]:655[v-z])
48
- subject_topic_facet = custom, removeTrailingPunct(600abcdq:610ab:611ab:630aa:650aa:653aa:654ab:655ab)
49
- subject_era_facet = custom, removeTrailingPunct(650y:651y:654y:655y)
50
- subject_geo_facet = custom, removeTrailingPunct(651a:650z)
51
-
52
- # Publication fields
53
- published_display = custom, removeTrailingPunct(260a)
54
- published_vern_display = custom, getLinkedField(260a)
55
- # used for facet and display, and copied for sort
56
- pub_date = custom, getDate
57
-
58
- # Call Number fields
59
- lc_callnum_display = 050ab, first
60
- lc_1letter_facet = 050a[0], callnumber_map.properties, first
61
- lc_alpha_facet = 050a, (pattern_map.lc_alpha), first
62
- lc_b4cutter_facet = 050a, first
63
-
64
- # URL Fields
65
- url_fulltext_display = custom, getFullTextUrls
66
- url_suppl_display = custom, getSupplUrls
67
-
68
-
69
- # MAPPINGS
70
-
71
- # format mapping
72
- # leader 06-07
73
- map.format.aa = Book
74
- map.format.ab = Serial
75
- map.format.am = Book
76
- map.format.as = Serial
77
- map.format.ta = Book
78
- map.format.tm = Book
79
- # leader 06
80
- map.format.c = Musical Score
81
- map.format.d = Musical Score
82
- map.format.e = Map or Globe
83
- map.format.f = Map or Globe
84
- map.format.i = Non-musical Recording
85
- map.format.j = Musical Recording
86
- map.format.k = Image
87
- map.format.m = Computer File
88
- # 007[0] when it doesn't clash with above
89
- map.format.h = Microform
90
- map.format.q = Musical Score
91
- map.format.v = Video
92
- # none of the above
93
- map.format = Unknown
94
-
95
- pattern_map.lc_alpha.pattern_0 = ^([A-Z]{1,3})\\d+.*=>$1
96
-
97
- pattern_map.isbn_clean.pattern_0 = ([- 0-9]*[0-9]).*=>$1
@@ -1,47 +0,0 @@
1
- import org.marc4j.marc.Record;
2
- import org.solrmarc.tools.Utils;
3
- import org.solrmarc.tools.CallNumUtils;
4
-
5
- // define the base level indexer so that its methods can be called from the script.
6
- // note that the SolrIndexer code will set this value before the script methods are called.
7
- org.solrmarc.index.SolrIndexer indexer = null;
8
-
9
- /**
10
- * returns the facet value for dewey hundreds digits, and dewey tens digits
11
- * @param record
12
- * @return Set of Strings containing facet value for dewey hundreds digits, and dewey tens digits
13
- */
14
- Set getDeweyFacet(Record record, String propertiesMapName)
15
- {
16
- LinkedHashSet resultSet = new LinkedHashSet();
17
- Set values = indexer.getFieldList(record, "082a");
18
- String mapName = indexer.loadTranslationMap(propertiesMapName);
19
-
20
- for (String dewey : values)
21
- {
22
- if (! CallNumUtils.isValidDewey(dewey)) continue;
23
- String hundreds = dewey.substring(0, 1) + "00";
24
- String tens = dewey.substring(0,2) + "0";
25
- String hundredsMapped = Utils.remap(hundreds, indexer.findMap(mapName), true);
26
- String tensMapped = Utils.remap(tens, indexer.findMap(mapName), true);
27
- if (hundredsMapped != null) resultSet.add(hundredsMapped);
28
- if (tensMapped != null) resultSet.add(tensMapped);
29
- }
30
-
31
- return resultSet;
32
- }
33
-
34
- Set getDeweyText(Record record)
35
- {
36
- LinkedHashSet resultSet = new LinkedHashSet();
37
- Set values = indexer.getFieldList(record, "082a");
38
-
39
- for (String dewey : values)
40
- {
41
- if (! CallNumUtils.isValidDewey(dewey)) continue;
42
- dewey = dewey.replaceAll("/[.]", ".").replaceAll("/", " ");
43
- resultSet.add(dewey);
44
- }
45
-
46
- return resultSet;
47
- }
@@ -1,126 +0,0 @@
1
- import org.marc4j.marc.Record;
2
- import org.solrmarc.tools.Utils;
3
-
4
- // define the base level indexer so that its methods can be called from the script.
5
- // note that the SolrIndexer code will set this value before the script methods are called.
6
- org.solrmarc.index.SolrIndexer indexer = null;
7
-
8
- /**
9
- * Determine Record Format(s)
10
- *
11
- * @param Record record
12
- * @return Set format of record
13
- */
14
-
15
- public Set getFormat(Record record)
16
- {
17
- Set result = new LinkedHashSet();
18
-
19
- // check if there's an h in the 245
20
- Set title_245h = indexer.getFieldList(record, "245h");
21
- if (Utils.setItemContains(title_245h, "electronic resource"))
22
- {
23
- result.add("Electronic");
24
- return result;
25
- }
26
- boolean field007hasC = false;
27
- // check the 007 - this is a repeating field
28
- // if we find a matching value there, grab it and return.
29
- Set fields007 = indexer.getFieldList(record, "007[0-1]");
30
- for (String f_007 : fields007)
31
- {
32
- f_007 = f_007.toUpperCase();
33
- if (f_007.startsWith("A"))
34
- if (f_007.equals( "AD")) result.add("Atlas");
35
- else result.add("Map");
36
- else if (f_007.startsWith("C"))
37
- if (f_007.equals("CA")) result.add("TapeCartridge");
38
- else if (f_007.equals("CB")) result.add("ChipCartridge");
39
- else if (f_007.equals("CC")) result.add("DiscCartridge");
40
- else if (f_007.equals("CF")) result.add("TapeCassette");
41
- else if (f_007.equals("CH")) result.add("TapeReel");
42
- else if (f_007.equals("CJ")) result.add("FloppyDisk");
43
- else if (f_007.equals("CM")) result.add("CDROM");
44
- else if (f_007.equals("C0")) result.add("CDROM");
45
- else if (f_007.equals("CR")) field007hasC = true; // Do not return - this will cause anything with an 856 field to be labeled as "Electronic"
46
- else result.add("Software");
47
- else if (f_007.startsWith("D")) result.add("Globe");
48
- else if (f_007.startsWith("F")) result.add("Braille");
49
- else if (f_007.startsWith("G"))
50
- if (f_007.equals("GC")) result.add("Filmstrip");
51
- else if (f_007.equals("GD")) result.add("Filmstrip");
52
- else if (f_007.equals("GT")) result.add("Transparency");
53
- else result.add("Slide");
54
- else if (f_007.startsWith("H")) result.add("Microfilm");
55
- else if (f_007.startsWith("K"))
56
- if (f_007.equals("KC")) result.add("Collage");
57
- else if (f_007.equals("KD")) result.add("Drawing");
58
- else if (f_007.equals("KE")) result.add("Painting");
59
- else if (f_007.equals("KF")) result.add("Print");
60
- else if (f_007.equals("KG")) result.add("Photonegative");
61
- else if (f_007.equals("KJ")) result.add("Print");
62
- else if (f_007.equals("KL")) result.add("Drawing");
63
- else if (f_007.equals("K0")) result.add("FlashCard");
64
- else if (f_007.equals("KN")) result.add("Chart");
65
- else result.add("Photo");
66
- else if (f_007.startsWith("M"))
67
- if (f_007.equals("MF")) result.add("VideoCassette");
68
- else if (f_007.equals("MR")) result.add("Filmstrip");
69
- else result.add("MotionPicture");
70
- else if (f_007.startsWith("O")) result.add("Kit");
71
- else if (f_007.startsWith("Q")) result.add("MusicalScore");
72
- else if (f_007.startsWith("R")) result.add("SensorImage");
73
- else if (f_007.startsWith("S"))
74
- if (f_007.equals("SD")) result.add("SoundDisc");
75
- else if (f_007.equals("SS")) result.add("SoundCassette");
76
- else result.add("SoundRecording");
77
- else if (f_007.startsWith("V"))
78
- if (f_007.equals("VC")) result.add("VideoCartridge");
79
- else if (f_007.equals("VD")) result.add("VideoDisc");
80
- else if (f_007.equals("VF")) result.add("VideoCassette");
81
- else if (f_007.equals("VR")) result.add("VideoReel");
82
- else result.add("Video");
83
-
84
- // if we found a matching value and return it.
85
- if (!result.isEmpty()) return result;
86
- }
87
- // check the Leader - this is NOT a repeating field
88
- // if we find a matching value there, grab it and return.
89
- String f_000 = indexer.getFirstFieldVal(record, null, "000[6-7]");
90
- f_000 = f_000.toUpperCase();
91
- if (f_000.startsWith("C")) result.add("MusicalScore");
92
- else if (f_000.startsWith("D")) result.add("MusicalScore");
93
- else if (f_000.startsWith("E")) result.add("Map");
94
- else if (f_000.startsWith("F")) result.add("Map");
95
- else if (f_000.startsWith("G")) result.add("Slide");
96
- else if (f_000.startsWith("I")) result.add("SoundRecording");
97
- else if (f_000.startsWith("J")) result.add("MusicRecording");
98
- else if (f_000.startsWith("K")) result.add("Photo");
99
- else if (f_000.startsWith("M")) result.add("Electronic");
100
- else if (f_000.startsWith("O")) result.add("Kit");
101
- else if (f_000.startsWith("P")) result.add("Kit");
102
- else if (f_000.startsWith("R")) result.add("PhysicalObject");
103
- else if (f_000.startsWith("T")) result.add("Manuscript");
104
- else if (f_000.startsWith("A"))
105
- {
106
- if (f_000.equals("AM"))
107
- {
108
- if (field007hasC) result.add("eBook");
109
- else result.add("Book");
110
- }
111
- else if (f_000.equals("AS"))
112
- {
113
- // Look in 008 to determine what type of Continuing Resource
114
- String formatCode = indexer.getFirstFieldVal(record, null, "008[21]");
115
- if (formatCode.equals("N")) result.add("Newspaper");
116
- else if (formatCode.equals("P")) result.add("Journal");
117
- else result.add("Serial");
118
- }
119
- }
120
- // Nothing worked!
121
- if (result.isEmpty()) {
122
- result.add("Unknown");
123
- }
124
-
125
- return result;
126
- }
@@ -1 +0,0 @@
1
- This is the directory in which you should place locally defined translation maps.
@@ -1,407 +0,0 @@
1
- # Map Call Number Classification pieces to User Friendly Description
2
- displayRawIfMissing = true
3
-
4
- # note: need more specific call numbers first so first matching is most specific
5
- AC = AC - Collections Works
6
- AE = AE - Encyclopedias
7
- AG = AG - General Reference Works
8
- AI = AI - Indexes
9
- AM = AM - Museums
10
- AN = AN - Newspapers
11
- AP = AP - Periodicals
12
- AS = AS - Academies & Learned Societies
13
- AY = AY - Yearbooks, Almanacs, Directories
14
- AZ = AZ - History of Scholarship & Learning
15
- A = A - General Works
16
- BC = BC - Logic
17
- BD = BD - Speculative Philosophy
18
- BF = BF - Psychology
19
- BH = BH - Aesthetics
20
- BJ = BJ - Ethics
21
- BL = BL - Religions (General)
22
- BM = BM - Judaism
23
- BP = BP - Islam, Bahaism, Theosophy, etc.
24
- BQ = BQ - Buddhism
25
- BR = BR - Christianity
26
- BS = BS - The Bible
27
- BT = BT - Doctrinal Theology
28
- BV = BV - Practical Theology
29
- BX = BX - Christian Denominations
30
- B = B - Philosophy, Psychology, Religion
31
- CB = CB - History of Civilization
32
- CC = CC - Archaeology
33
- CD = CD - Diplomatics
34
- CE = CE - Technical Chronology
35
- CJ = CJ - Numismatics
36
- CN = CN - Inscriptions
37
- CR = CR - Heraldry
38
- CS = CS - Genealogy
39
- CT = CT - Biography
40
- C = C - Historical Sciences (Archaeology, Genealogy)
41
- DA = DA - Great Britain (History)
42
- DB = DB - Austria, Liechtenstein, Czech Rep., Hungary, Slovakia (History)
43
- DC = DC - France (History)
44
- DD = DD - Germany (History)
45
- DE = DE - Greco-Roman World (History)
46
- DF = DF - Greece (History)
47
- DG = DG - Italy (History)
48
- DH = DH - Low Countries (History)
49
- DJK = DJK - Eastern Europe (History)
50
- DJ = DJ - Netherlands (History)
51
- DK = DK - Russia. Former Soviet Republics. Poland (History)
52
- DL = DL - Scandinavia (History)
53
- DP = DP - Spain. Portugal (History)
54
- DQ = DQ - Switzerland (History)
55
- DR = DR - Balkan Peninsula (History)
56
- DS = DS - Asia (History)
57
- DT = DT - Africa (History)
58
- DU = DU - Oceanía (History)
59
- DX = DX - Gypsies (History)
60
- D = D - World History
61
- E = E - History of the Americas (General)
62
- F = F - History of the Americas (Local)
63
- GA = GA - Mathematical Geography, Cartography
64
- GB = GB - Physical Geography
65
- GC = GC - Oceanography
66
- GE = GE - Environmental Sciences
67
- GF = GF - Human Ecology, Anthropogeography
68
- GN = GN - Anthropology
69
- GR = GR - Folklore
70
- GT = GT - Manners & Customs
71
- GV = GV - Recreation. Leisure
72
- G = G - Geography, Anthropology, Recreation
73
- HA = HA - Statistics
74
- HB = HB - Economic Theory, Demography
75
- HC = HC - Economic History & Conditions
76
- HD = HD - Industries, Land use, Labor
77
- HE = HE - Transportation & Communications
78
- HF = HF - Commerce
79
- HG = HG - Finance
80
- HJ = HJ - Public Finance
81
- HM = HM - Sociology
82
- HN = HN - Social History & Conditions
83
- HQ = HQ - The Family, Marriage, Woman
84
- HS = HS - Societies
85
- HT = HT - Communities, Classes, Races
86
- HV = HV - Social Pathology, Social & Public Welfare, Criminology
87
- HX = HX - Socialism, Communism, Anarchism
88
- H = H - Social Sciences
89
- JA = JA - Political Science
90
- JC = JC - Political Theory
91
- JF = JF - Political Institutions
92
- JK = JK - Political Institutions (U.S.)
93
- JL = JL - Political Institutions (Canada, Latin America)
94
- JN = JN - Political Institutions (Europe)
95
- JQ = JQ - Political Institutions (Asia, Africa, Australia, Pacific Area)
96
- JS = JS - Local Government
97
- JV = JV - Colonies & Colonization, Emigration & Immigration
98
- JX = JX - International Law
99
- JZ = JZ - International Relations
100
- J = J - Political Science
101
- KBM = KBM - Jewish Law
102
- KBP = KBP - Islamic Law
103
- KBR = KBR - Canon Law
104
- KBU = KBU - Law of Roman Catholic Church
105
- KB = KB - Religious Law (General)
106
- KDC = KDC - Law of Scotland
107
- KDE = KDE - Law of Northern Ireland
108
- KDG = KDG - Law of Isle of Man, Channel Islands
109
- KDK = KDK - Law of Ireland (EIRE)
110
- KDZ = KDZ - Law of America, North America
111
- KD = KD - Law of England & Wales
112
- KE = KE - Law of Canada
113
- KF = KF - Law of the U.S.
114
- KG = KG - Law of Latin America, Mexico, Central America, West Indies, Caribbean
115
- KH = KH - South America
116
- KJA = KJA - Roman Law
117
- KJC = KJC - Regional Comparative & Uniform Law
118
- KJE = KJE - Regional Organization & Integration
119
- KJG = KJG - Law of Albania
120
- KJH = KJH - Law of Andorra
121
- KJJ = KJJ - Law of Austria
122
- KJK = KJK - Law of Belgium, Bosnia & Hercegovina (Republic)
123
- KJM = KJM - Law of Bulgaria, Croatia
124
- KJN = KJN - Law of Cyprus
125
- KJP = KJP - Law of Czechoslovakia, Czech Republic
126
- KJQ = KJQ - Law of Slovakia
127
- KJR = KJR - Law of Denmark
128
- KJS = KJS - Law of Estonia
129
- KJT = KJT - Law of Finland
130
- KJV = KJV - Law of France
131
- KJW = KJW - Law of French Regions, Provinces, Departments
132
- KJ = KJ - Law of Europe
133
- KKE = KKE - Law of Greece
134
- KKF = KKF - Law of Hungary
135
- KKG = KKG - Law of Iceland
136
- KKH = KKH - Law of Italy
137
- KKI = KKI - Law of Latvia
138
- KKJ = KKJ - Law of Lithuania, Liechtenstein
139
- KKK = KKK - Law of Luxemburg, Malta
140
- KKL = KKL - Law of Monaco
141
- KKM = KKM - Law of the Netherlands
142
- KKN = KKN - Law of Norway
143
- KKP = KKP - Law of Poland
144
- KKQ = KKQ - Law of Portugal
145
- KKR = KKR - Law of Romania
146
- KKT = KKT - Law of Spain
147
- KKV = KKV - Law of Sweden
148
- KKW = KKW - Law of Switzerland
149
- KKX = KKX - Law of Turkey
150
- KKY = KKY - Law of Ukraine
151
- KKZ = KKZ - Law of Yugoslavia
152
- KK = KK - Law of Germany
153
- KLA = KLA - Law of Russia, Soviet Union
154
- KLB = KLB - Law of Russia (Federation)
155
- KLD = KLD - Law of Armenia (Republic)
156
- KLE = KLE - Law of Azerbaijan
157
- KLF = KLF - Law of Belarus
158
- KLH = KLH - Law of Georgia
159
- KLM = KLM - Law of Moldova
160
- KLP = KLP - Law of Ukraine
161
- KLR = KLR - Law of Kazakhstan
162
- KLS = KLS - Law of Kyrgyzstan
163
- KLT = KLT - Law of Tajikistan
164
- KLV = KLV - Law of Turkmenistan
165
- KLW = KLW - Law of Uzbekistan
166
- KL = KL - History of Law, The Ancient Orient
167
- KMC = KMC - Law of the Middle East, Southwest Asia
168
- KMH = KMH - Law of Iran
169
- KMJ = KMJ - Law of Iraq
170
- KMK = KMK - Law of Israel
171
- KML = KML - Law of Jerusalem
172
- KMM = KMM - Law of Jordan
173
- KMN = KMN - Law of Kuwait
174
- KMP = KMP - Law of Lebanon
175
- KMT = KMT - Law of Saudi Arabia
176
- KMU = KMU - Law of Syria
177
- KMX = KMX - Law of Yemen
178
- KM = KM - Law of Asia
179
- KNC = KNC - Law of South Asia
180
- KNN = KNN - Law of China
181
- KNP = KNP - Law of Taiwan
182
- KNR = KNR - Law of Hong Kong
183
- KNS = KNS - Law of India
184
- KNW = KNW - Law of Indonesia
185
- KNX = KNX - Law of Japan
186
- KPA = KPA - Law of Korea, South Korea
187
- KPC = KPC - Law of Korea, North Korea
188
- KQ = KQ - Law of Africa
189
- KU = KU - Law of the Pacific Area, Australia, New Zealand
190
- KWX = KWX - Law of Antarctica
191
- KZ = KZ - Law of Nations
192
- K = K - Law
193
- LA = LA - History of Education
194
- LB = LB - Theory & Practice of Education
195
- LC = LC - Special Aspects of Education
196
- LD = LD - Individual Educational Institutions (U.S.)
197
- LE = LE - Individual Educational Institutions: America (except U.S.)
198
- LF = LF - Individual Educational Institutions: Europe
199
- LG = LG - Individual Educational Institutions: Asia, Africa, Oceania
200
- LH = LH - College & School Magazines & Papers
201
- LT = LT - Textbooks
202
- L = L - Education
203
- MLCME = Unknown
204
- MLCSN = Unknown
205
- ML = ML - Literature on Music
206
- MT = MT - Musical Instruction & Study
207
- M = M - Music
208
- NA = NA - Architecture
209
- NB = NB - Sculpture
210
- NC = NC - Drawing, Design, Illustration
211
- ND = ND - Painting
212
- NE = NE - Print Media
213
- NK = NK - Decorative Arts
214
- NX = NX - Arts in General
215
- N = N - Fine Arts
216
- PA = PA - Greek & Latin Language & Literature
217
- PB = PB - Modern Language, Celtic Languages
218
- PC = PC - Romanic Languages
219
- PD = PD - Germanic Languages
220
- PE = PE - English Languages
221
- PF = PF - West Germanic Languages
222
- PG = PG - Slavic, Baltic, Albanian Languages, Russian Language & Literature
223
- PH = PH - Uralic & Basque Languages
224
- PJ = PJ - Oriental Languages & Literature
225
- PK = PK - Indo-Iranian Languages & Literature
226
- PL = PL - Languages & Literatures of Eastern Asia, Africa, Oceania
227
- PM = PM - Hyperborean, Indian & Artificial Languages
228
- PN = PN - Literature (General)
229
- PQ = PQ - French, Italian, Spanish & Portuguese Literature
230
- PR = PR - English Literature
231
- PS = PS - American Literature
232
- PT = PT - Germanic & Scandinavian Literatures
233
- PZ = PZ - Children’s Literature
234
- P = P - Language & Literature
235
- QA = QA - Mathematics
236
- QB = QB - Astronomy
237
- QC = QC - Physics
238
- QD = QD - Chemistry
239
- QE = QE - Geology
240
- QH = QH - Natural History, Biology
241
- QK = QK - Botany
242
- QL = QL - Zoology
243
- QM = QM - Human Anatomy
244
- QP = QP - Physiology
245
- QR = QR - Microbiology
246
- Q = Q - Science
247
- RA = RA - Public Aspects of Medicine
248
- RB = RB - Pathology
249
- RC = RC - Internal Medicine
250
- RD = RD - Surgery
251
- RE = RE - Ophthalmology
252
- RF = RF - Otorhinolaryngology
253
- RG = RG - Gynecology & Obstetrics
254
- RJ = RJ - Pediatrics
255
- RK = RK - Dentistry
256
- RL = RL - Dermatology
257
- RM = RM - Therapeutics, Pharmacology
258
- RS = RS - Pharmacy & Materia Medica
259
- RT = RT - Nursing
260
- RV = RV - Botanic, Thomsonian, & Eclectic Medicine
261
- RX = RX - Homeopathy
262
- RZ = RZ - Other Systems of Medicine
263
- R = R - Medicine
264
- SB = SB - Plant Culture
265
- SD = SD - Forestry
266
- SF = SF - Animal Culture
267
- SH = SH - Aquaculture
268
- SK = SK - Hunting Sports
269
- S = S - Agriculture
270
- TA = TA - Engineering, Civil Engineering
271
- TC = TC - Hydraulic Engineering
272
- TD = TD - Environmental Technology
273
- TE = TE - Highway Engineering
274
- TF = TF - Railroad Engineering & Operation
275
- TG = TG - Bridge Engineering
276
- TH = TH - Building Construction
277
- TJ = TJ - Mechanical Engineering & Machinery
278
- TK = TK - Electrical Engineering, Nuclear Engineering
279
- TL = TL - Motor Vehicles, Aeronautics, Astronautics
280
- TN = TN - Mining Engineering
281
- TP = TP - Chemical Technology
282
- TR = TR - Photography
283
- TS = TS - Manufactures
284
- TT = TT - Handicrafts
285
- TX = TX - Home Economics
286
- T = T - Technology
287
- UA = UA - Armies
288
- UB = UB - Military Administration
289
- UC = UC - Maintenance & Transportation
290
- UD = UD - Infantry
291
- UE = UE - Cavalry, Armor
292
- UF = UF - Artillery
293
- UG = UG - Military Engineering, Air Forces, Military Astronautics
294
- UH = UH - Other Military Services
295
- U = U - Military Science
296
- VA = VA - Navies
297
- VB = VB - Naval Administration
298
- VC = VC - Naval Maintenance
299
- VD = VD - Naval Seamen
300
- VE = VE - Marines
301
- VF = VF - Naval Ordnance
302
- VG = VG - Minor Services of Navies
303
- VK = VK - Navigation, Merchant Marine
304
- VM = VM - Naval Architecture, Marine Engineering
305
- V = V - Naval Science
306
- ZA = ZA - Information Science
307
- Z = Z - Bibliography, Library Science, Information Resources
308
-
309
- 000 = 000s - Computer Science, Information & General Works
310
- 010 = 010s - Bibliography
311
- 020 = 020s - Library & Information Sciences
312
- 030 = 030s - General Encyclopedic Works
313
- 050 = 050s - General Serials & their Indexes
314
- 060 = 060s - General Organization & Museology
315
- 070 = 070s - News Media, Journalism, Publishing
316
- 080 = 080s - General Collections
317
- 090 = 090s - Manuscripts & Rare Books
318
- 100 = 100s - Philosophy & Psychology
319
- 110 = 110s - Metaphysics
320
- 120 = 120s - Epistemology, Causation, Humankind
321
- 130 = 130s - Paranormal Phenomena
322
- 140 = 140s - Specific Philosophical Schools
323
- 150 = 150s - Psychology
324
- 160 = 160s - Logic
325
- 170 = 170s - Ethics (Moral Philosophy)
326
- 180 = 180s - Ancient, Medieval, Oriental Philosophy
327
- 190 = 190s - Modern Western Philosophy
328
- 200 = 200s - Religion
329
- 210 = 210s - Natural Theology
330
- 220 = 220s - Bible
331
- 230 = 230s - Christian Theology
332
- 240 = 240s - Christian Moral & Devotional Theology
333
- 250 = 250s - Christian Orders & Local Church
334
- 260 = 260s - Christian Social Theology
335
- 270 = 270s - Christian Church History
336
- 280 = 280s - Christian Denominations & Sects
337
- 290 = 290s - Other & Comparative Religions
338
- 300 = 300s - Social Sciences
339
- 310 = 310s - General Statistics
340
- 320 = 320s - Political Science
341
- 330 = 330s - Economics
342
- 340 = 340s - Law
343
- 350 = 350s - Public Administration
344
- 360 = 360s - Social Services; Association
345
- 370 = 370s - Education
346
- 380 = 380s - Commerce, Communications, Transport
347
- 390 = 390s - Customs, Etiquette, Folklore
348
- 400 = 400s - Language
349
- 410 = 410s - Linguistics
350
- 420 = 420s - English & Old English
351
- 430 = 430s - Germanic Languages German
352
- 440 = 440s - Romance Languages French
353
- 450 = 450s - Italian, Romanian, Rhaeto-Romantic
354
- 460 = 460s - Spanish & Portugese Languages
355
- 470 = 470s - Italic Latin
356
- 480 = 480s - Hellenic Languages Classical Greek
357
- 490 = 490s - Other Languages
358
- 500 = 500s - Science
359
- 510 = 510s - Mathematics
360
- 520 = 520s - Astronomy & Allied Sciences
361
- 530 = 530s - Physics
362
- 540 = 540s - Chemistry & Allied Sciences
363
- 550 = 550s - Earth Sciences
364
- 560 = 560s - Paleontology Paleozoology
365
- 570 = 570s - Life Sciences
366
- 580 = 580s - Botanical Sciences
367
- 590 = 590s - Zoological Sciences
368
- 600 = 600s - Technology
369
- 610 = 610s - Medical Sciences Medicine
370
- 620 = 620s - Engineering & Allied Operations
371
- 630 = 630s - Agriculture
372
- 640 = 640s - Home economics & Family Living
373
- 650 = 650s - Management & Auxiliary Services
374
- 660 = 660s - Chemical Engineering
375
- 670 = 670s - Manufacturing
376
- 680 = 680s - Manufacture for Specific Uses
377
- 690 = 690s - Buildings
378
- 700 = 700s - Arts & Recreation
379
- 710 = 710s - Civic & Landscape Art
380
- 720 = 720s - Architecture
381
- 730 = 730s - Plastic Arts Sculpture
382
- 740 = 740s - Drawing & Decorative Arts
383
- 750 = 750s - Painting & Paintings
384
- 760 = 760s - Graphic Arts Printmaking & Prints
385
- 770 = 770s - Photography & Photographs
386
- 780 = 780s - Music
387
- 790 = 790s - Recreational & Performing Arts
388
- 800 = 800s - Literature
389
- 810 = 810s - American Literature in English
390
- 820 = 820s - English & Old English Literatures
391
- 830 = 830s - Literatures of Germanic Languages
392
- 840 = 840s - Literatures of Romance Languages
393
- 850 = 850s - Italian, Romanian, Rhaeto-Romanic
394
- 860 = 860s - Spanish & Portuguese Literatures
395
- 870 = 870s - Italic Literatures Latin
396
- 880 = 880s - Hellenic Literatures Classical Greek
397
- 890 = 890s - Literatures of Other Languages
398
- 900 = 900s - History & Geography
399
- 910 = 910s - Geography & Travel
400
- 920 = 920s - Biography, Genealogy, Insignia
401
- 930 = 930s - History of Ancient World
402
- 940 = 940s - General History of Europe
403
- 950 = 950s - General History of Asia Far East
404
- 960 = 960s - General History of Africa
405
- 970 = 970s - General History of North America
406
- 980 = 980s - General History of South America
407
- 990 = 990s - General History of Other Areas