arclight 0.1.4 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. checksums.yaml +5 -5
  2. data/.all-contributorsrc +450 -0
  3. data/.babelrc +3 -0
  4. data/.codeclimate.yml +5 -0
  5. data/.eslintrc +3 -0
  6. data/.gitignore +1 -0
  7. data/.rubocop.yml +20 -42
  8. data/.rubocop_todo.yml +139 -0
  9. data/.travis.yml +24 -20
  10. data/CONTRIBUTORS.md +79 -0
  11. data/README.md +34 -23
  12. data/Rakefile +0 -1
  13. data/app/assets/images/blacklight/bookmark.svg +1 -0
  14. data/app/assets/images/blacklight/collection.svg +5 -0
  15. data/app/assets/images/blacklight/compact.svg +1 -25
  16. data/app/assets/images/blacklight/container.svg +5 -0
  17. data/app/assets/images/blacklight/ead.svg +1 -0
  18. data/app/assets/images/blacklight/file.svg +5 -0
  19. data/app/assets/images/blacklight/folder.svg +1 -0
  20. data/app/assets/images/blacklight/list.svg +1 -0
  21. data/app/assets/images/blacklight/minus.svg +1 -0
  22. data/app/assets/images/blacklight/online.svg +5 -0
  23. data/app/assets/images/blacklight/pdf.svg +1 -0
  24. data/app/assets/images/blacklight/plus.svg +1 -0
  25. data/app/assets/images/blacklight/repository.svg +1 -0
  26. data/app/assets/javascripts/arclight/arclight.js +1 -2
  27. data/app/assets/javascripts/arclight/collection_navigation.js +36 -50
  28. data/app/assets/javascripts/arclight/collection_scrollspy.js +1 -1
  29. data/app/assets/javascripts/arclight/context_navigation.js +386 -0
  30. data/app/assets/javascripts/arclight/oembed_viewer.js +11 -4
  31. data/app/assets/javascripts/arclight/truncator.js.erb +8 -2
  32. data/app/assets/stylesheets/arclight/application.scss +4 -1
  33. data/app/assets/stylesheets/arclight/bootstrap_overrides.scss +23 -0
  34. data/app/assets/stylesheets/arclight/modules/context_navigation.scss +75 -0
  35. data/app/assets/stylesheets/arclight/modules/hierarchy_and_online_contents.scss +34 -38
  36. data/app/assets/stylesheets/arclight/modules/highlights.scss +2 -1
  37. data/app/assets/stylesheets/arclight/modules/icons.scss +4 -0
  38. data/app/assets/stylesheets/arclight/modules/layout.scss +149 -11
  39. data/app/assets/stylesheets/arclight/modules/mastheads.scss +60 -5
  40. data/app/assets/stylesheets/arclight/modules/repositories.scss +1 -5
  41. data/app/assets/stylesheets/arclight/modules/repository_card.scss +6 -7
  42. data/app/assets/stylesheets/arclight/modules/search_results.scss +145 -24
  43. data/app/assets/stylesheets/arclight/modules/show_collection.scss +38 -59
  44. data/app/assets/stylesheets/arclight/responsive.scss +13 -0
  45. data/app/assets/stylesheets/arclight/variables.scss +21 -1
  46. data/app/controllers/concerns/arclight/ead_format_helpers.rb +225 -0
  47. data/app/controllers/concerns/arclight/field_config_helpers.rb +23 -7
  48. data/app/factories/blacklight_field_configuration_factory.rb +1 -0
  49. data/app/helpers/arclight_helper.rb +198 -36
  50. data/app/models/arclight/document_downloads.rb +125 -0
  51. data/app/models/arclight/parent.rb +4 -2
  52. data/app/models/arclight/parents.rb +6 -4
  53. data/app/models/arclight/requests/aeon_external_request.rb +42 -0
  54. data/app/models/arclight/requests/aeon_web_ead.rb +47 -0
  55. data/app/models/arclight/requests/google_form.rb +2 -2
  56. data/app/models/concerns/arclight/catalog.rb +14 -2
  57. data/app/models/concerns/arclight/search_behavior.rb +27 -12
  58. data/app/models/concerns/arclight/solr_document.rb +29 -7
  59. data/app/views/arclight/_requests.html.erb +7 -0
  60. data/app/views/arclight/repositories/_in_person_repository.html.erb +2 -2
  61. data/app/views/arclight/repositories/_repository.html.erb +2 -2
  62. data/app/views/arclight/repositories/_repository_contact.html.erb +9 -0
  63. data/app/views/arclight/repositories/index.html.erb +3 -0
  64. data/app/views/arclight/repositories/show.html.erb +5 -4
  65. data/app/views/arclight/requests/_aeon_external_request_endpoint.html.erb +9 -0
  66. data/app/views/arclight/requests/_aeon_web_ead.html.erb +7 -0
  67. data/app/views/arclight/requests/_google_form.html.erb +2 -1
  68. data/app/views/arclight/viewers/_oembed.html.erb +2 -1
  69. data/app/views/catalog/_access_contents.html.erb +15 -0
  70. data/app/views/catalog/_arclight_abstract_or_scope.html.erb +5 -0
  71. data/app/views/catalog/_arclight_bookmark_control.html.erb +38 -0
  72. data/app/views/catalog/_arclight_document_header_icon.html.erb +1 -0
  73. data/app/views/catalog/_arclight_index_compact_default.html.erb +18 -11
  74. data/app/views/catalog/_arclight_index_default.html.erb +45 -0
  75. data/app/views/catalog/_arclight_index_group_document_compact_default.html.erb +19 -0
  76. data/app/views/catalog/_arclight_index_group_document_default.html.erb +18 -0
  77. data/app/views/catalog/_arclight_online_content_indicator.html.erb +1 -3
  78. data/app/views/catalog/_collection_contents.html.erb +2 -10
  79. data/app/views/catalog/_collection_context.html.erb +15 -0
  80. data/app/views/catalog/_collection_context_nav.html.erb +12 -0
  81. data/app/views/catalog/_collection_online_contents.html.erb +3 -3
  82. data/app/views/catalog/_component_context.html.erb +5 -0
  83. data/app/views/catalog/_containers.html.erb +3 -0
  84. data/app/views/catalog/_context_card.html.erb +1 -1
  85. data/app/views/catalog/_context_sidebar.html.erb +2 -2
  86. data/app/views/catalog/_custom_metadata.html.erb +1 -1
  87. data/app/views/catalog/_document_downloads.html.erb +14 -0
  88. data/app/views/catalog/_group.html.erb +21 -0
  89. data/app/views/catalog/_group_header_compact_default.html.erb +15 -0
  90. data/app/views/catalog/_group_header_default.html.erb +20 -0
  91. data/app/views/catalog/_group_toggle.html.erb +10 -0
  92. data/app/views/catalog/_home.html.erb +1 -1
  93. data/app/views/catalog/_index_breadcrumb_default.html.erb +5 -2
  94. data/app/views/catalog/_index_collection_context_default.html.erb +53 -0
  95. data/app/views/catalog/_index_default.html.erb +1 -1
  96. data/app/views/catalog/_index_header.html.erb +3 -3
  97. data/app/views/catalog/_index_online_contents_default.html.erb +1 -1
  98. data/app/views/catalog/_online_content_label.html.erb +5 -0
  99. data/app/views/catalog/_search_form.html.erb +34 -0
  100. data/app/views/catalog/_search_results.html.erb +1 -4
  101. data/app/views/catalog/_show_actions_box_default.html.erb +27 -0
  102. data/app/views/catalog/_show_breadcrumbs_default.html.erb +5 -6
  103. data/app/views/catalog/_show_collection.html.erb +42 -24
  104. data/app/views/catalog/_show_default.html.erb +64 -26
  105. data/app/views/catalog/_show_upper_metadata_collection.html.erb +1 -0
  106. data/app/views/catalog/_show_upper_metadata_default.html.erb +14 -0
  107. data/app/views/catalog/_sort_and_per_page.html.erb +8 -0
  108. data/app/views/catalog/_within_collection_dropdown.html.erb +26 -0
  109. data/app/views/shared/_breadcrumbs.html.erb +4 -4
  110. data/app/views/shared/_context_sidebar.html.erb +2 -2
  111. data/app/views/shared/_header_navbar.html.erb +51 -43
  112. data/app/views/shared/_main_menu_links.html.erb +1 -1
  113. data/app/views/shared/_show_breadcrumbs.html.erb +27 -0
  114. data/arclight.gemspec +15 -12
  115. data/config/i18n-tasks.yml +133 -0
  116. data/config/locales/arclight.en.yml +89 -55
  117. data/config/repositories.yml +0 -0
  118. data/lib/arclight/engine.rb +23 -12
  119. data/lib/arclight/hash_absolute_xpath.rb +61 -0
  120. data/lib/arclight/level_label.rb +46 -0
  121. data/lib/arclight/missing_id_strategy.rb +21 -0
  122. data/lib/arclight/normalized_date.rb +21 -12
  123. data/lib/arclight/normalized_id.rb +1 -0
  124. data/lib/arclight/normalized_title.rb +1 -0
  125. data/lib/arclight/repository.rb +61 -25
  126. data/lib/arclight/traject/ead2_config.rb +495 -0
  127. data/lib/arclight/traject/nokogiri_namespaceless_reader.rb +22 -0
  128. data/lib/arclight/version.rb +1 -1
  129. data/lib/arclight/viewers/oembed.rb +1 -0
  130. data/lib/arclight/year_range.rb +9 -1
  131. data/lib/generators/arclight/install_generator.rb +34 -3
  132. data/lib/generators/arclight/templates/catalog_controller.rb +162 -131
  133. data/lib/generators/arclight/templates/config/downloads.yml +12 -0
  134. data/lib/generators/arclight/templates/config/repositories.yml +20 -2
  135. data/lib/generators/arclight/update_generator.rb +1 -1
  136. data/lib/tasks/index.rake +19 -19
  137. data/package.json +8 -1
  138. data/solr/conf/schema.xml +56 -292
  139. data/solr/conf/solrconfig.xml +40 -125
  140. data/tasks/arclight.rake +6 -1
  141. data/template.rb +1 -1
  142. data/vendor/assets/javascripts/responsiveTruncator.js +2 -2
  143. metadata +159 -60
  144. data/app/assets/javascripts/arclight/collection_context.js +0 -18
  145. data/app/assets/javascripts/arclight/component_ancestors.js +0 -56
  146. data/app/assets/stylesheets/arclight/modules/sidebar.scss +0 -21
  147. data/app/views/catalog/_arclight_document_show_header.html.erb +0 -15
  148. data/app/views/catalog/_arclight_document_show_header_collection.html.erb +0 -12
  149. data/app/views/catalog/_collection_count.html.erb +0 -7
  150. data/app/views/catalog/_collection_downloads.html.erb +0 -15
  151. data/app/views/catalog/_collection_overview.html.erb +0 -7
  152. data/app/views/catalog/_component_overview.html.erb +0 -46
  153. data/app/views/catalog/_index_header_hierarchy_default.html.erb +0 -42
  154. data/app/views/catalog/_index_hierarchy_default.html.erb +0 -28
  155. data/app/views/catalog/_results_histogram.html.erb +0 -10
  156. data/app/views/catalog/_search_within_form.html.erb +0 -16
  157. data/app/views/catalog/_show_component_sidebar.html.erb +0 -12
  158. data/app/views/catalog/_show_header.html.erb +0 -5
  159. data/app/views/catalog/_show_sidebar.html.erb +0 -30
  160. data/lib/arclight/custom_component.rb +0 -99
  161. data/lib/arclight/custom_document.rb +0 -93
  162. data/lib/arclight/indexer.rb +0 -9
  163. data/lib/arclight/shared_indexing_behavior.rb +0 -97
  164. data/lib/arclight/shared_terminology_behavior.rb +0 -65
  165. data/lib/arclight/solr_ead_indexer_ext.rb +0 -159
  166. data/lib/generators/arclight/templates/arclight.js +0 -2
@@ -0,0 +1,3 @@
1
+ {
2
+ "presets": ["@babel/preset-env"]
3
+ }
@@ -0,0 +1,5 @@
1
+ version: "2"
2
+ exclude_patterns:
3
+ - "app/assets/javascripts/arclight/context_navigation.js"
4
+ - "vendor/assets/javascripts/**/*.js"
5
+ - "spec/**/*.rb"
data/.eslintrc CHANGED
@@ -1,4 +1,7 @@
1
1
  {
2
+ "env": {
3
+ "es6": true
4
+ },
2
5
  "extends": "airbnb-base/legacy",
3
6
  "globals": {
4
7
  "jQuery": true,
data/.gitignore CHANGED
@@ -2,6 +2,7 @@
2
2
  /.ruby-version
3
3
  /.yardoc
4
4
  /Gemfile.lock
5
+ /yarn.lock
5
6
  /_yardoc/
6
7
  /coverage/
7
8
  /doc/
@@ -1,5 +1,8 @@
1
1
  require: rubocop-rspec
2
2
 
3
+ inherit_from:
4
+ - .rubocop_todo.yml
5
+
3
6
  AllCops:
4
7
  Exclude:
5
8
  - '.internal_test_app/**/*'
@@ -7,60 +10,35 @@ AllCops:
7
10
  - 'db/**/*'
8
11
  - 'lib/generators/arclight/templates/**/*'
9
12
  - 'vendor/**/*'
13
+ - 'node_modules/**/*'
10
14
  TargetRubyVersion: 2.4
11
15
  DisplayCopNames: true
12
16
 
13
- Rails:
14
- Enabled: true
15
-
16
- Metrics/LineLength:
17
- Max: 120
18
- Exclude:
19
- - 'Gemfile'
20
- - 'lib/arclight/custom_document.rb' # XPaths get long
21
- - 'lib/arclight/custom_component.rb' # XPaths get long
22
-
23
17
  Metrics/ModuleLength:
24
- Max: 120
25
-
26
- Metrics/ClassLength:
27
- Max: 120
18
+ Exclude:
19
+ - 'app/helpers/arclight_helper.rb'
20
+ - 'app/models/concerns/arclight/solr_document.rb'
28
21
 
29
22
  Metrics/BlockLength:
30
23
  Exclude:
31
- - !ruby/regexp /\.rake$/
32
24
  - 'arclight.gemspec'
25
+ - 'lib/arclight/traject/ead2_config.rb'
26
+ - 'lib/tasks/**/*'
27
+ - 'spec/features/traject/ead2_indexing_spec.rb'
28
+ - 'spec/helpers/arclight_helper_spec.rb'
29
+ - 'spec/features/collection_page_spec.rb'
33
30
  - 'spec/**/*'
34
- - 'lib/arclight/custom_document.rb'
35
-
36
- Metrics/MethodLength:
37
- Exclude:
38
- - 'lib/arclight/custom_document.rb' # arclight_field_definitions too long
39
-
40
- Performance/RegexpMatch:
41
- Enabled: false
31
+ - 'tasks/**/*'
42
32
 
43
- Rails/OutputSafety:
44
- Exclude:
45
- - 'app/controllers/concerns/arclight/field_config_helpers.rb' # html_safe needs to be called to mimic BL JOIN behavior
46
-
47
- RSpec/ExampleLength:
48
- Enabled: false
33
+ Metrics/LineLength:
34
+ Max: 160
49
35
 
50
- RSpec/FilePath:
51
- Exclude:
52
- - 'spec/lib/arclight/viewers/oembed_spec.rb' # Default file path is o_embed, and that looks weird
36
+ Rails:
37
+ Enabled: true
53
38
 
54
- RSpec/MultipleExpectations:
39
+ Bundler/DuplicatedGem:
55
40
  Enabled: false
56
41
 
57
- RSpec/NestedGroups:
58
- Max: 4
59
-
60
- Style/Documentation:
42
+ Style/FormatStringToken:
61
43
  Exclude:
62
- - 'spec/**/*'
63
- - 'lib/arclight.rb'
64
-
65
- Bundler/DuplicatedGem:
66
- Enabled: false
44
+ - 'spec/test_app_templates/lib/generators/test_app_generator.rb'
@@ -0,0 +1,139 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2019-09-05 15:26:25 -0600 using RuboCop version 0.74.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 3
10
+ Lint/AmbiguousBlockAssociation:
11
+ Exclude:
12
+ - 'lib/arclight/traject/ead2_config.rb'
13
+
14
+ # Offense count: 1
15
+ # Configuration parameters: CheckForMethodsWithNoSideEffects.
16
+ Lint/Void:
17
+ Exclude:
18
+ - 'lib/arclight/year_range.rb'
19
+
20
+ # Offense count: 68
21
+ # Configuration parameters: CountComments, ExcludedMethods.
22
+ Metrics/BlockLength:
23
+ Max: 278
24
+ Exclude:
25
+ - 'spec/features/collection_page_spec.rb'
26
+
27
+ # Offense count: 1
28
+ # Configuration parameters: CountComments, ExcludedMethods.
29
+ Metrics/MethodLength:
30
+ Max: 11
31
+ Exclude:
32
+ - 'app/helpers/arclight_helper.rb'
33
+
34
+ # Offense count: 1
35
+ # Configuration parameters: Blacklist.
36
+ # Blacklist: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$))
37
+ Naming/HeredocDelimiterNaming:
38
+ Exclude:
39
+ - 'spec/features/autocomplete_spec.rb'
40
+
41
+ # Offense count: 91
42
+ # Configuration parameters: Prefixes.
43
+ # Prefixes: when, with, without
44
+ RSpec/ContextWording:
45
+ Enabled: false
46
+
47
+ # Offense count: 1
48
+ # Cop supports --auto-correct.
49
+ # Configuration parameters: SkipBlocks, EnforcedStyle.
50
+ # SupportedStyles: described_class, explicit
51
+ RSpec/DescribedClass:
52
+ Exclude:
53
+ - 'spec/presenters/arclight/show_presenter_spec.rb'
54
+
55
+ # Offense count: 61
56
+ # Cop supports --auto-correct.
57
+ RSpec/EmptyLineAfterExampleGroup:
58
+ Enabled: false
59
+
60
+ # Offense count: 12
61
+ # Cop supports --auto-correct.
62
+ RSpec/EmptyLineAfterHook:
63
+ Exclude:
64
+ - 'spec/features/collection_page_spec.rb'
65
+ - 'spec/features/home_page_spec.rb'
66
+ - 'spec/features/many_component_ead_spec.rb'
67
+ - 'spec/features/search_results_spec.rb'
68
+ - 'spec/helpers/arclight_helper_spec.rb'
69
+ - 'spec/views/_collection_count.html.erb_spec.rb'
70
+ - 'spec/views/repositories/index.html.erb_spec.rb'
71
+
72
+ # Offense count: 49
73
+ # Configuration parameters: Max.
74
+ RSpec/ExampleLength:
75
+ Enabled: false
76
+
77
+ # Offense count: 2
78
+ RSpec/ExpectInHook:
79
+ Exclude:
80
+ - 'spec/helpers/arclight_helper_spec.rb'
81
+ - 'spec/presenters/arclight/index_presenter_spec.rb'
82
+
83
+ # Offense count: 1
84
+ # Configuration parameters: CustomTransform, IgnoreMethods.
85
+ RSpec/FilePath:
86
+ Exclude:
87
+ - 'spec/lib/arclight/viewers/oembed_spec.rb'
88
+
89
+ # Offense count: 107
90
+ # Configuration parameters: AggregateFailuresByDefault.
91
+ RSpec/MultipleExpectations:
92
+ Max: 26
93
+
94
+ # Offense count: 8
95
+ RSpec/NestedGroups:
96
+ Max: 4
97
+
98
+ # Offense count: 7
99
+ # Cop supports --auto-correct.
100
+ # Configuration parameters: Strict, EnforcedStyle.
101
+ # SupportedStyles: inflected, explicit
102
+ RSpec/PredicateMatcher:
103
+ Exclude:
104
+ - 'spec/helpers/arclight_helper_spec.rb'
105
+ - 'spec/lib/arclight/year_range_spec.rb'
106
+
107
+ # Offense count: 1
108
+ Security/Open:
109
+ Exclude:
110
+ - 'lib/tasks/index.rake'
111
+
112
+ # Offense count: 1
113
+ # Cop supports --auto-correct.
114
+ # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, IgnoredMethods, AllowBracesOnProceduralOneLiners.
115
+ # SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
116
+ # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
117
+ # FunctionalMethods: let, let!, subject, watch
118
+ # IgnoredMethods: lambda, proc, it
119
+ Style/BlockDelimiters:
120
+ Exclude:
121
+ - 'lib/tasks/index.rake'
122
+
123
+ # Offense count: 1
124
+ Style/CommentedKeyword:
125
+ Exclude:
126
+ - 'lib/arclight/year_range.rb'
127
+
128
+ # Offense count: 1
129
+ Style/Documentation:
130
+ Exclude:
131
+ - 'spec/**/*'
132
+ - 'test/**/*'
133
+ - 'lib/arclight.rb'
134
+
135
+ # Offense count: 1
136
+ # Cop supports --auto-correct.
137
+ Style/IfUnlessModifier:
138
+ Exclude:
139
+ - 'app/models/concerns/arclight/search_behavior.rb'
@@ -2,32 +2,36 @@ sudo: false
2
2
  language: ruby
3
3
  notifications:
4
4
  email: false
5
- rvm:
6
- - 2.4.1
7
- jdk:
8
- - oraclejdk8
9
5
 
10
- # Update to phantomjs 2.1.1 to fix issues with < 2
11
- # See https://github.com/travis-ci/travis-ci/issues/3225#issuecomment-177592725
12
- # and https://github.com/travis-ci/travis-ci/issues/3225#issuecomment-200965782
13
- cache:
14
- bundler: true
15
- directories:
16
- - "travis_phantomjs"
6
+ matrix:
7
+ include:
8
+ - rvm: 2.7.1
9
+ env: RAILS_VERSION=6.0.3.2
10
+ - rvm: 2.7.1
11
+ env: RAILS_VERSION=5.2.4.3
12
+ - rvm: 2.6.6
13
+ env: RAILS_VERSION=6.0.3.2
14
+ - rvm: 2.6.6
15
+ env: RAILS_VERSION=5.2.4.3
17
16
 
18
- before_install:
19
- - "phantomjs --version"
20
- - "export PATH=$PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH"
21
- - "phantomjs --version"
22
- - "if [ $(phantomjs --version) != '2.1.1' ]; then rm -rf $PWD/travis_phantomjs; mkdir -p $PWD/travis_phantomjs; fi"
23
- - "if [ $(phantomjs --version) != '2.1.1' ]; then wget https://assets.membergetmember.co/software/phantomjs-2.1.1-linux-x86_64.tar.bz2 -O $PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2; fi"
24
- - "if [ $(phantomjs --version) != '2.1.1' ]; then tar -xvf $PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C $PWD/travis_phantomjs; fi"
25
- - "hash -r"
26
- - "phantomjs --version"
17
+ jdk:
18
+ - openjdk11
27
19
 
28
20
  before_script:
29
21
  - find spec/fixtures/ead -name '*.xml' | xargs xmllint --noout --schema spec/fixtures/xsd/ead.xsd
22
+ - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
23
+ - chmod +x ./cc-test-reporter
24
+ - ./cc-test-reporter before-build
25
+ - yarn install
30
26
  addons:
31
27
  apt:
32
28
  packages:
33
29
  - libxml2-utils
30
+ chrome: stable
31
+
32
+ env:
33
+ global:
34
+ - CC_TEST_REPORTER_ID=0bbc7b5fd7f6bab0c0517183ae34a4d2f6010ca1ef2d1c7c3ccdec55ea823115
35
+
36
+ after_script:
37
+ - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
@@ -0,0 +1,79 @@
1
+ ## Contributors ✨
2
+
3
+ ArcLight is a cross-institutional project led by Stanford University, with contributions from Duke University, Georgia Tech, Indiana University, LYRASIS, the National Library of Medicine, University of Michigan, Princeton University, and Rockefeller Archive Center.
4
+
5
+ Individual project contributors include ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
6
+
7
+ <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
8
+ <!-- prettier-ignore-start -->
9
+ <!-- markdownlint-disable -->
10
+ <table>
11
+ <tr>
12
+ <td align="center"><a href="https://github.com/seanaery"><img src="https://avatars3.githubusercontent.com/u/3933756?v=4" width="125px;" alt="Sean Aery"/><br /><sub><b>Sean Aery</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=seanaery" title="Code">đŸ’ģ</a></td>
13
+ <td align="center"><a href="http://hillelarnold.com"><img src="https://avatars0.githubusercontent.com/u/607621?v=4" width="125px;" alt="Hillel Arnold"/><br /><sub><b>Hillel Arnold</b></sub></a><br /><a href="#analysis-helrond" title="Functional requirements and related research">đŸ”Ŧ</a> <a href="#userTesting-helrond" title="User Testing">📓</a></td>
14
+ <td align="center"><a href="http://cbeer.info"><img src="https://avatars1.githubusercontent.com/u/111218?v=4" width="125px;" alt="Chris Beer"/><br /><sub><b>Chris Beer</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=cbeer" title="Code">đŸ’ģ</a> <a href="https://github.com/projectblacklight/arclight/commits?author=cbeer" title="Documentation">📖</a></td>
15
+ <td align="center"><a href="http://leaannbradford.com"><img src="https://avatars3.githubusercontent.com/u/18175797?v=4" width="125px;" alt="Lea Ann Bradford"/><br /><sub><b>Lea Ann Bradford</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=labradford" title="Code">đŸ’ģ</a></td>
16
+ <td align="center"><a href="http://actspatial.com"><img src="https://avatars0.githubusercontent.com/u/9905193?v=4" width="125px;" alt="Christina Chortaria"/><br /><sub><b>Christina Chortaria</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=christinach" title="Code">đŸ’ģ</a></td>
17
+ </tr>
18
+ <tr>
19
+ <td align="center"><a href="https://github.com/mark-cooper"><img src="https://avatars1.githubusercontent.com/u/551470?v=4" width="125px;" alt="Mark Cooper"/><br /><sub><b>Mark Cooper</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=mark-cooper" title="Code">đŸ’ģ</a> <a href="#plugin-mark-cooper" title="Plugin/utility libraries">🔌</a></td>
20
+ <td align="center"><a href="http://knittles.ticklefish.org/"><img src="https://avatars3.githubusercontent.com/u/856924?v=4" width="125px;" alt="EsmÊ Cowles"/><br /><sub><b>EsmÊ Cowles</b></sub></a><br /><a href="#business-escowles" title="Business development">đŸ’ŧ</a> <a href="#analysis-escowles" title="Functional requirements and related research">đŸ”Ŧ</a></td>
21
+ <td align="center"><a href="https://github.com/tomcramer"><img src="https://avatars3.githubusercontent.com/u/1054837?v=4" width="125px;" alt="Tom Cramer"/><br /><sub><b>Tom Cramer</b></sub></a><br /><a href="#business-tomcramer" title="Business development">đŸ’ŧ</a></td>
22
+ <td align="center"><a href="https://github.com/mdalmau"><img src="https://avatars0.githubusercontent.com/u/573273?v=4" width="125px;" alt="Michelle Dalmau"/><br /><sub><b>Michelle Dalmau</b></sub></a><br /><a href="#business-mdalmau" title="Business development">đŸ’ŧ</a></td>
23
+ <td align="center"><a href="http://robotlibrarian.billdueber.com/"><img src="https://avatars0.githubusercontent.com/u/114006?v=4" width="125px;" alt="Bill Dueber"/><br /><sub><b>Bill Dueber</b></sub></a><br /><a href="#analysis-billdueber" title="Functional requirements and related research">đŸ”Ŧ</a> <a href="https://github.com/projectblacklight/arclight/commits?author=billdueber" title="Code">đŸ’ģ</a></td>
24
+ </tr>
25
+ <tr>
26
+ <td align="center"><a href="https://github.com/jwd"><img src="https://avatars1.githubusercontent.com/u/842343?v=4" width="125px;" alt="Jon Dunn"/><br /><sub><b>Jon Dunn</b></sub></a><br /><a href="#business-jwd" title="Business development">đŸ’ŧ</a></td>
27
+ <td align="center"><a href="https://github.com/eckardm"><img src="https://avatars1.githubusercontent.com/u/7072443?v=4" width="125px;" alt="Max Eckard"/><br /><sub><b>Max Eckard</b></sub></a><br /><a href="#analysis-eckardm" title="Functional requirements and related research">đŸ”Ŧ</a> <a href="#productOwner-eckardm" title="Product owner">đŸ—ē</a> <a href="#userTesting-eckardm" title="User Testing">📓</a></td>
28
+ <td align="center"><a href="https://github.com/jrgriffiniii"><img src="https://avatars0.githubusercontent.com/u/1443986?v=4" width="125px;" alt="James R. Griffin III"/><br /><sub><b>James R. Griffin III</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=jrgriffiniii" title="Code">đŸ’ģ</a></td>
29
+ <td align="center"><a href="https://github.com/p-galligan"><img src="https://avatars2.githubusercontent.com/u/2585069?v=4" width="125px;" alt="Patrick Galligan"/><br /><sub><b>Patrick Galligan</b></sub></a><br /><a href="#userTesting-p-galligan" title="User Testing">📓</a></td>
30
+ <td align="center"><a href="http://ggeisler.com"><img src="https://avatars1.githubusercontent.com/u/101482?v=4" width="125px;" alt="Gary Geisler"/><br /><sub><b>Gary Geisler</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=ggeisler" title="Code">đŸ’ģ</a> <a href="#design-ggeisler" title="Design">🎨</a></td>
31
+ </tr>
32
+ <tr>
33
+ <td align="center"><a href="https://github.com/bonniegee"><img src="https://avatars3.githubusercontent.com/u/8737364?v=4" width="125px;" alt="Bonnie Gordon"/><br /><sub><b>Bonnie Gordon</b></sub></a><br /><a href="#userTesting-bonniegee" title="User Testing">📓</a></td>
34
+ <td align="center"><a href="https://github.com/mswendyh"><img src="https://avatars1.githubusercontent.com/u/7033667?v=4" width="125px;" alt="Wendy Hagenmaier"/><br /><sub><b>Wendy Hagenmaier</b></sub></a><br /><a href="#analysis-mswendyh" title="Functional requirements and related research">đŸ”Ŧ</a></td>
35
+ <td align="center"><img src="http://gravatar.com/avatar/8b53dcb509d4b1fe8dd74da6a94395ef.jpg?d=retro" width="125px;" alt="Jim Halliday"/><br /><sub><b>Jim Halliday</b></sub><br /><a href="#business" title="Business development">đŸ’ŧ</a></td>
36
+ <td align="center"><a href="https://github.com/jlhardes"><img src="https://avatars1.githubusercontent.com/u/3440166?v=4" width="125px;" alt="Julie Hardesty"/><br /><sub><b>Julie Hardesty</b></sub></a><br /><a href="#analysis-jlhardes" title="Functional requirements and related research">đŸ”Ŧ</a> <a href="#productOwner-jlhardes" title="Product owner">đŸ—ē</a></td>
37
+ <td align="center"><a href="http://stanford.edu/~drh"><img src="https://avatars3.githubusercontent.com/u/1861171?v=4" width="125px;" alt="Darren Hardy"/><br /><sub><b>Darren Hardy</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=drh-stanford" title="Code">đŸ’ģ</a> <a href="https://github.com/projectblacklight/arclight/commits?author=drh-stanford" title="Documentation">📖</a></td>
38
+ </tr>
39
+ <tr>
40
+ <td align="center"><a href="https://github.com/drhardy"><img src="https://avatars3.githubusercontent.com/u/25580222?v=4" width="125px;" alt="Darren Hardy"/><br /><sub><b>Darren Hardy</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=drhardy" title="Code">đŸ’ģ</a></td>
41
+ <td align="center"><a href="https://github.com/regineheberlein"><img src="https://avatars1.githubusercontent.com/u/5940563?v=4" width="125px;" alt="Regine Heberlein"/><br /><sub><b>Regine Heberlein</b></sub></a><br /><a href="#analysis-regineheberlein" title="Functional requirements and related research">đŸ”Ŧ</a> <a href="#productOwner-regineheberlein" title="Product owner">đŸ—ē</a></td>
42
+ <td align="center"><a href="https://github.com/noahgh221"><img src="https://avatars3.githubusercontent.com/u/7328518?v=4" width="125px;" alt="Noah Huffman"/><br /><sub><b>Noah Huffman</b></sub></a><br /><a href="#analysis-noahgh221" title="Functional requirements and related research">đŸ”Ŧ</a> <a href="#productOwner-noahgh221" title="Product owner">đŸ—ē</a></td>
43
+ <td align="center"><a href="https://github.com/njaffer"><img src="https://avatars0.githubusercontent.com/u/12487929?v=4" width="125px;" alt="Nabeela Jaffer"/><br /><sub><b>Nabeela Jaffer</b></sub></a><br /><a href="#analysis-njaffer" title="Functional requirements and related research">đŸ”Ŧ</a> <a href="#business-njaffer" title="Business development">đŸ’ŧ</a></td>
44
+ <td align="center"><a href="https://github.com/jkeck"><img src="https://avatars0.githubusercontent.com/u/96776?v=4" width="125px;" alt="Jessie Keck"/><br /><sub><b>Jessie Keck</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=jkeck" title="Code">đŸ’ģ</a> <a href="https://github.com/projectblacklight/arclight/commits?author=jkeck" title="Documentation">📖</a></td>
45
+ </tr>
46
+ <tr>
47
+ <td align="center"><a href="https://github.com/gordonleacock"><img src="https://avatars3.githubusercontent.com/u/12927191?v=4" width="125px;" alt="Gordon Leacock"/><br /><sub><b>Gordon Leacock</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=gordonleacock" title="Code">đŸ’ģ</a> <a href="https://github.com/projectblacklight/arclight/commits?author=gordonleacock" title="Documentation">📖</a></td>
48
+ <td align="center"><a href="https://matienzo.org/"><img src="https://avatars0.githubusercontent.com/u/73732?v=4" width="125px;" alt="Mark A. Matienzo"/><br /><sub><b>Mark A. Matienzo</b></sub></a><br /><a href="#projectManagement-anarchivist" title="Project Management">📆</a> <a href="#business-anarchivist" title="Business development">đŸ’ŧ</a> <a href="#analysis-anarchivist" title="Functional requirements and related research">đŸ”Ŧ</a> <a href="#productOwner-anarchivist" title="Product owner">đŸ—ē</a></td>
49
+ <td align="center"><a href="https://github.com/archivistsarah"><img src="https://avatars0.githubusercontent.com/u/25084902?v=4" width="125px;" alt="Sarah Newhouse"/><br /><sub><b>Sarah Newhouse</b></sub></a><br /><a href="#analysis-archivistsarah" title="Functional requirements and related research">đŸ”Ŧ</a></td>
50
+ <td align="center"><a href="https://github.com/grepcats"><img src="https://avatars0.githubusercontent.com/u/7513448?v=4" width="125px;" alt="Kayla Ondracek"/><br /><sub><b>Kayla Ondracek</b></sub></a><br /><a href="#analysis-grepcats" title="Functional requirements and related research">đŸ”Ŧ</a></td>
51
+ <td align="center"><a href="https://github.com/djpillen"><img src="https://avatars3.githubusercontent.com/u/11635158?v=4" width="125px;" alt="Dallas Pillen"/><br /><sub><b>Dallas Pillen</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=djpillen" title="Code">đŸ’ģ</a> <a href="#userTesting-djpillen" title="User Testing">📓</a></td>
52
+ </tr>
53
+ <tr>
54
+ <td align="center"><a href="https://github.com/cmkpowell"><img src="https://avatars1.githubusercontent.com/u/16540397?v=4" width="125px;" alt="Chris Powell"/><br /><sub><b>Chris Powell</b></sub></a><br /><a href="#analysis-cmkpowell" title="Functional requirements and related research">đŸ”Ŧ</a> <a href="#productOwner-cmkpowell" title="Product owner">đŸ—ē</a></td>
55
+ <td align="center"><a href="https://www.jack-reed.com/"><img src="https://avatars0.githubusercontent.com/u/1656824?v=4" width="125px;" alt="Jack Reed"/><br /><sub><b>Jack Reed</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=mejackreed" title="Code">đŸ’ģ</a> <a href="https://github.com/projectblacklight/arclight/commits?author=mejackreed" title="Documentation">📖</a></td>
56
+ <td align="center"><a href="https://github.com/John-Rees"><img src="https://avatars1.githubusercontent.com/u/29233549?v=4" width="125px;" alt="John Rees"/><br /><sub><b>John Rees</b></sub></a><br /><a href="#analysis-John-Rees" title="Functional requirements and related research">đŸ”Ŧ</a></td>
57
+ <td align="center"><a href="https://github.com/joshschneider"><img src="https://avatars3.githubusercontent.com/u/12468197?v=4" width="125px;" alt="Josh Schneider"/><br /><sub><b>Josh Schneider</b></sub></a><br /><a href="#analysis-joshschneider" title="Functional requirements and related research">đŸ”Ŧ</a> <a href="#productOwner-joshschneider" title="Product owner">đŸ—ē</a></td>
58
+ <td align="center"><a href="https://github.com/willsexton"><img src="https://avatars2.githubusercontent.com/u/1359320?v=4" width="125px;" alt="Will Sexton"/><br /><sub><b>Will Sexton</b></sub></a><br /><a href="#business-willsexton" title="Business development">đŸ’ŧ</a></td>
59
+ </tr>
60
+ <tr>
61
+ <td align="center"><a href="https://github.com/shallcro"><img src="https://avatars2.githubusercontent.com/u/43279347?v=4" width="125px;" alt="Mike Shallcross"/><br /><sub><b>Mike Shallcross</b></sub></a><br /><a href="#analysis-shallcro" title="Functional requirements and related research">đŸ”Ŧ</a></td>
62
+ <td align="center"><a href="https://github.com/remocrevo"><img src="https://avatars1.githubusercontent.com/u/8701105?v=4" width="125px;" alt="Remington Steed"/><br /><sub><b>Remington Steed</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=remocrevo" title="Code">đŸ’ģ</a></td>
63
+ <td align="center"><a href="https://github.com/tampakis"><img src="https://avatars2.githubusercontent.com/u/4650153?v=4" width="125px;" alt="Nikitas Tampakis"/><br /><sub><b>Nikitas Tampakis</b></sub></a><br /><a href="#analysis-tampakis" title="Functional requirements and related research">đŸ”Ŧ</a></td>
64
+ <td align="center"><a href="https://github.com/estelendur"><img src="https://avatars0.githubusercontent.com/u/10409866?v=4" width="125px;" alt="Esty Thomas"/><br /><sub><b>Esty Thomas</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=estelendur" title="Code">đŸ’ģ</a></td>
65
+ <td align="center"><a href="http://camillevilla.github.io"><img src="https://avatars2.githubusercontent.com/u/5402927?v=4" width="125px;" alt="Camille Villa"/><br /><sub><b>Camille Villa</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=camillevilla" title="Code">đŸ’ģ</a> <a href="https://github.com/projectblacklight/arclight/commits?author=camillevilla" title="Documentation">📖</a></td>
66
+ </tr>
67
+ <tr>
68
+ <td align="center"><a href="https://github.com/jvine"><img src="https://avatars0.githubusercontent.com/u/6945691?v=4" width="125px;" alt="Jennifer Vine"/><br /><sub><b>Jennifer Vine</b></sub></a><br /><a href="#design-jvine" title="Design">🎨</a></td>
69
+ <td align="center"><a href="https://github.com/jweise"><img src="https://avatars2.githubusercontent.com/u/114413?v=4" width="125px;" alt="John Weise"/><br /><sub><b>John Weise</b></sub></a><br /><a href="#business-jweise" title="Business development">đŸ’ŧ</a></td>
70
+ <td align="center"><a href="https://github.com/gwiedeman"><img src="https://avatars0.githubusercontent.com/u/10030353?v=4" width="125px;" alt="Gregory Wiedeman"/><br /><sub><b>Gregory Wiedeman</b></sub></a><br /><a href="https://github.com/projectblacklight/arclight/commits?author=gwiedeman" title="Code">đŸ’ģ</a> <a href="https://github.com/projectblacklight/arclight/issues?q=author%3Agwiedeman" title="Bug reports">🐛</a> <a href="#userTesting-gwiedeman" title="User Testing">📓</a> <a href="#inProduction-gwiedeman" title="Has a production implementation">🏆</a></td>
71
+ <td align="center"><a href="https://github.com/lauraw15"><img src="https://avatars2.githubusercontent.com/u/6343788?v=4" width="125px;" alt="Laura Wilsey"/><br /><sub><b>Laura Wilsey</b></sub></a><br /><a href="#analysis-lauraw15" title="Functional requirements and related research">đŸ”Ŧ</a></td>
72
+ </tr>
73
+ </table>
74
+
75
+ <!-- markdownlint-enable -->
76
+ <!-- prettier-ignore-end -->
77
+ <!-- ALL-CONTRIBUTORS-LIST:END -->
78
+
79
+ This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
data/README.md CHANGED
@@ -1,17 +1,18 @@
1
- [![Build Status](https://travis-ci.org/sul-dlss/arclight.svg?branch=master)](https://travis-ci.org/sul-dlss/arclight)
1
+ [![Build Status](https://travis-ci.org/projectblacklight/arclight.svg?branch=master)](https://travis-ci.org/projectblacklight/arclight)
2
+ [![All Contributors](https://img.shields.io/badge/all_contributors-17-orange.svg?style=flat-square)](CONTRIBUTORS.md)
3
+ [![Code Climate Test Coverage](https://codeclimate.com/github/projectblacklight/arclight/badges/coverage.svg)](https://codeclimate.com/github/projectblacklight/arclight/coverage)
2
4
 
3
- [![Coverage Status](https://coveralls.io/repos/github/sul-dlss/arclight/badge.svg?branch=master)](https://coveralls.io/github/sul-dlss/arclight?branch=master)
5
+ # ArcLight
4
6
 
5
- # Arclight
7
+ A Rails engine supporting discovery of archival materials, based on [Blacklight](https://projectblacklight.org/)
6
8
 
7
- A Rails engine supporting discovery of archival materials.
8
-
9
- During April - June 2017, ArcLight underwent its initial development as a Minimally Viable Product (MVP). The MVP is targeted for content that is described in the [Encoded Archival Description](http://eadiva.com/2/) (EAD) format. Future development is in the planning phase with no definitive timeline as yet.
9
+ > ℹī¸ From August-October 2019, Stanford University, University of Michigan, Indiana University, Princeton University, and Duke University are collaborating on a second phase of ArcLight! See the [project board](https://github.com/projectblacklight/arclight/projects/2) or our [demo videos](https://www.youtube.com/playlist?list=PLMdUaIJ0G8QiIXZ_SFHASJErD14CJW-p5) to follow our work.
10
10
 
11
11
  ## Requirements
12
12
 
13
- * [Ruby](https://www.ruby-lang.org/en/) 2.2 or later
13
+ * [Ruby](https://www.ruby-lang.org/en/) 2.5 or later
14
14
  * [Rails](http://rubyonrails.org) 5.0 or later
15
+ * Solr 8.1 or later
15
16
 
16
17
  ## Installation
17
18
 
@@ -51,29 +52,36 @@ See the [ArcLight demo](https://arclight-demo.projectblacklight.org/) and [ArcLi
51
52
 
52
53
  See [Arclight Major Features](https://github.com/sul-dlss/arclight/wiki/Arclight-Major-Features) for a list of features.
53
54
 
55
+ ### Traject indexing of EAD content
56
+ [Traject](https://github.com/traject/traject) is a high performance way of transforming documents for indexing into Solr and how ArcLight does indexing. An EAD2 can be indexed by doing the following:
57
+
58
+ ```sh
59
+ bundle exec traject -u http://127.0.0.1:8983/solr/blacklight-core -i xml -c lib/arclight/traject/ead2_config.rb spec/fixtures/ead/sample/large-components-list.xml
60
+ ```
61
+
62
+ Or
63
+
64
+ ```sh
65
+ bundle exec rake arclight:seed
66
+ ```
67
+
54
68
  ## Resources
55
69
 
56
70
  * General
57
- * [ArcLight team wiki](https://wiki.duraspace.org/display/hydra/ArcLight): includes design process documentation
58
- * Use the [ArcLight Google Group](http://groups.google.com/d/forum/arclight-community) to contact us with questions
59
- * MVP Implementation:
60
71
  * [ArcLight demo site](https://arclight-demo.projectblacklight.org/)
61
- * [YouTube channel](https://www.youtube.com/channel/UCbSaP93HdypsW6hXy7V1nFQ): MVP sprint demo videos
62
- * [ArcLight MVP Wiki](https://github.com/sul-dlss/arclight/wiki)
72
+ * [ArcLight project wiki](https://bit.ly/arclightproject): includes design process documentation
73
+ * [ArcLight Github Wiki](https://github.com/sul-dlss/arclight/wiki): developer/implementor documentation
63
74
  * [Blacklight wiki](https://github.com/projectblacklight/blacklight/wiki)
75
+ * Use the [ArcLight Google Group](http://groups.google.com/d/forum/arclight-community) to contact us with questions
76
+ * ArcLight Phase II:
77
+ * [Project overview](https://wiki.duraspace.org/display/samvera/ArcLight+Phase+II)
78
+ * ArcLight MVP:
79
+ * [MVP sprint demo videos](https://www.youtube.com/playlist?list=PLMdUaIJ0G8QgbuDCUVvFhTSTO96N37lRA)
80
+ * [Project overview](https://wiki.duraspace.org/display/samvera/ArcLight+MVP)
64
81
 
65
- ## ArcLight MVP Development team
82
+ ## Contributors
66
83
 
67
- * Stanford University
68
- * [Camille Villa](https://github.com/camillevilla)
69
- * [Darren Hardy](https://github.com/drh-stanford)
70
- * [Gary Geisler](https://github.com/ggeisler)
71
- * [Jack Reed](https://github.com/mejackreed)
72
- * [Jennifer Vine](https://github.com/jvine)
73
- * [Jessie Keck](https://github.com/jkeck)
74
- * [Mark Matienzo](https://github.com/anarchivist)
75
- * University of Michigan
76
- * [Gordon Leacock](https://github.com/gordonleacock)
84
+ See the [CONTRIBUTORS](CONTRIBUTORS.md) file.
77
85
 
78
86
  ## Development
79
87
 
@@ -86,6 +94,7 @@ Ensure Solr and Rails are _not_ running (ports 8983 and 3000 respectively), then
86
94
  ```sh
87
95
  $ bundle exec rake
88
96
  ```
97
+ If you find that the tests are failing when you run them on a Linux computer, you might need to install Google Chrome so the Selenium testing framework can run properly.
89
98
 
90
99
  ### Run a development server
91
100
 
@@ -112,3 +121,5 @@ To release a new version:
112
121
  ## License
113
122
 
114
123
  The gem is available as open source under the terms of the [Apache 2 License](https://opensource.org/licenses/Apache-2.0).
124
+
125
+ ArcLight also uses embedded SVG icons from the [FontAwesome](https://fontawesome.com) project. These icons are unmodified and licensed [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). All of these icons have the license and attribution embedded in them.