sufia 6.0.0.rc4 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/Gemfile +1 -1
  4. data/History.md +280 -0
  5. data/README.md +180 -98
  6. data/SUFIA_VERSION +1 -1
  7. data/app/assets/images/site_images/collection-icon.svg +168 -0
  8. data/app/assets/javascripts/sufia/uploader.js +7 -4
  9. data/app/assets/stylesheets/sufia.css.scss +1 -1
  10. data/app/assets/stylesheets/sufia/_collections.scss +33 -13
  11. data/app/assets/stylesheets/sufia/_file-show.scss +24 -0
  12. data/app/assets/stylesheets/sufia/_settings.scss +4 -0
  13. data/app/controllers/concerns/sufia/catalog.rb +1 -11
  14. data/app/controllers/concerns/sufia/collections_controller_behavior.rb +13 -15
  15. data/app/controllers/concerns/sufia/dashboard_controller_behavior.rb +3 -1
  16. data/app/controllers/concerns/sufia/files_controller/browse_everything.rb +2 -1
  17. data/app/controllers/concerns/sufia/files_controller/local_ingest_behavior.rb +1 -0
  18. data/app/controllers/concerns/sufia/files_controller_behavior.rb +4 -1
  19. data/app/controllers/concerns/sufia/homepage_controller.rb +4 -11
  20. data/app/controllers/concerns/sufia/my_controller_behavior.rb +3 -21
  21. data/app/controllers/concerns/sufia/transfers_controller_behavior.rb +6 -6
  22. data/app/controllers/concerns/sufia/users_controller_behavior.rb +7 -7
  23. data/app/controllers/my/collections_controller.rb +1 -8
  24. data/app/controllers/my/files_controller.rb +1 -1
  25. data/app/controllers/my/highlights_controller.rb +1 -9
  26. data/app/controllers/my/shares_controller.rb +1 -8
  27. data/app/helpers/generic_file_helper.rb +4 -0
  28. data/app/helpers/sufia/sufia_helper_behavior.rb +3 -3
  29. data/app/helpers/sufia_url_helper.rb +9 -0
  30. data/app/jobs/content_depositor_change_event_job.rb +5 -5
  31. data/app/search_builders/sufia/search_builder.rb +50 -0
  32. data/app/views/_user_util_links.html.erb +6 -4
  33. data/app/views/batch_edits/_check_all.html.erb +1 -1
  34. data/app/views/catalog/index.html.erb +3 -30
  35. data/app/views/collections/_media_display.html.erb +1 -1
  36. data/app/views/collections/_show_descriptions.html.erb +1 -1
  37. data/app/views/collections/_show_document_list_row.html.erb +2 -2
  38. data/app/views/dashboard/_index_partials/_heading_actions.html.erb +16 -12
  39. data/app/views/generic_files/_browse_everything.html.erb +3 -1
  40. data/app/views/generic_files/_local_file_import.html.erb +0 -1
  41. data/app/views/generic_files/_multiple_upload.html.erb +0 -1
  42. data/app/views/generic_files/_show_descriptions.html.erb +6 -11
  43. data/app/views/generic_files/_show_details.html.erb +41 -65
  44. data/app/views/generic_files/new.html.erb +1 -0
  45. data/app/views/generic_files/show.html.erb +2 -1
  46. data/app/views/generic_files/upload/_alerts.html.erb +5 -13
  47. data/app/views/homepage/_home_header.html.erb +6 -7
  48. data/app/views/my/_index_partials/_list_collections.html.erb +1 -1
  49. data/app/views/my/index.html.erb +2 -2
  50. data/app/views/records/edit_fields/_resource_type.html.erb +1 -1
  51. data/config/initializers/sufia_events.rb +2 -3
  52. data/config/locales/sufia.en.yml +11 -2
  53. data/lib/generators/sufia/install_generator.rb +5 -1
  54. data/lib/generators/sufia/templates/catalog_controller.rb +3 -5
  55. data/lib/generators/sufia/upgrade600_generator.rb +26 -0
  56. data/lib/sufia/version.rb +1 -1
  57. data/spec/actors/generic_file/actor_spec.rb +14 -0
  58. data/spec/controllers/collections_controller_spec.rb +19 -2
  59. data/spec/controllers/dashboard_controller_spec.rb +43 -12
  60. data/spec/controllers/generic_files_controller_spec.rb +24 -1
  61. data/spec/controllers/transfers_controller_spec.rb +4 -4
  62. data/spec/controllers/users_controller_spec.rb +18 -4
  63. data/spec/fixtures/spoken-text.m4a +0 -0
  64. data/spec/helpers/dashboard_helper_spec.rb +1 -1
  65. data/spec/helpers/sufia_url_helper_spec.rb +15 -0
  66. data/spec/inputs/select_with_help_input_spec.rb +15 -0
  67. data/spec/jobs/{active_fedora_pid_based_job_spec.rb → active_fedora_id_based_job_spec.rb} +2 -2
  68. data/spec/jobs/audit_job_spec.rb +2 -2
  69. data/spec/lib/sufia/id_service_spec.rb +8 -8
  70. data/spec/lib/sufia/user_stat_importer_spec.rb +9 -1
  71. data/spec/models/ability_spec.rb +7 -4
  72. data/spec/models/checksum_audit_log_spec.rb +10 -10
  73. data/spec/models/collection_spec.rb +8 -13
  74. data/spec/models/fits_datastream_spec.rb +17 -0
  75. data/spec/models/generic_file_spec.rb +9 -1
  76. data/spec/models/proxy_deposit_request_spec.rb +15 -3
  77. data/spec/services/generic_file_audit_service_spec.rb +1 -1
  78. data/spec/support/features.rb +1 -0
  79. data/spec/support/rake_output.rb +20 -0
  80. data/spec/tasks/rake_spec.rb +58 -0
  81. data/spec/test_app_templates/Gemfile.extra +3 -1
  82. data/spec/views/batch/edit.html.erb_spec.rb +6 -2
  83. data/spec/views/catalog/index.html.erb_spec.rb +1 -1
  84. data/spec/views/catalog/sort_and_per_page.html.erb_spec.rb +6 -2
  85. data/spec/views/dashboard/index_spec.rb +49 -1
  86. data/spec/views/generic_file/_browse_everything.html.erb_spec.rb +9 -0
  87. data/spec/views/generic_file/show.html.erb_spec.rb +13 -8
  88. data/spec/views/homepage/_home_header.html.erb_spec.rb +26 -0
  89. data/spec/views/users/_user_util_links.html.erb_spec.rb +20 -0
  90. data/spec/views/users/show.html.erb_spec.rb +1 -1
  91. data/sufia-models/app/actors/sufia/generic_file/actor.rb +1 -1
  92. data/sufia-models/app/jobs/active_fedora_id_based_job.rb +22 -0
  93. data/sufia-models/app/jobs/active_fedora_pid_based_job.rb +5 -20
  94. data/sufia-models/app/jobs/audit_job.rb +5 -6
  95. data/sufia-models/app/jobs/characterize_job.rb +1 -1
  96. data/sufia-models/app/jobs/create_derivatives_job.rb +1 -1
  97. data/sufia-models/app/jobs/import_url_job.rb +2 -2
  98. data/sufia-models/app/models/batch.rb +18 -4
  99. data/sufia-models/app/models/checksum_audit_log.rb +2 -2
  100. data/sufia-models/app/models/concerns/sufia/ability.rb +7 -1
  101. data/sufia-models/app/models/concerns/sufia/collection_behavior.rb +1 -1
  102. data/sufia-models/app/models/concerns/sufia/generic_file/full_text_indexing.rb +23 -14
  103. data/sufia-models/app/models/concerns/sufia/generic_file/proxy_deposit.rb +1 -1
  104. data/sufia-models/app/models/datastreams/fits_datastream.rb +1 -36
  105. data/sufia-models/app/models/proxy_deposit_request.rb +6 -6
  106. data/sufia-models/app/services/sufia/generic_file_audit_service.rb +1 -1
  107. data/sufia-models/app/services/sufia/generic_file_indexing_service.rb +0 -1
  108. data/sufia-models/app/services/sufia/id_service.rb +2 -3
  109. data/sufia-models/app/services/sufia/noid.rb +1 -1
  110. data/sufia-models/lib/generators/sufia/models/templates/config/sufia.rb +1 -1
  111. data/sufia-models/lib/generators/sufia/models/templates/migrations/change_audit_log_pid_to_generic_file_id.rb +5 -0
  112. data/sufia-models/lib/generators/sufia/models/templates/migrations/change_proxy_deposit_request_pid_to_generic_file_id.rb +5 -0
  113. data/sufia-models/lib/generators/sufia/models/upgrade600_generator.rb +21 -0
  114. data/sufia-models/lib/sufia/models/stats/user_stat_importer.rb +20 -1
  115. data/sufia-models/lib/sufia/models/version.rb +1 -1
  116. data/sufia-models/lib/tasks/batch_cleanup.rake +19 -0
  117. data/sufia-models/lib/tasks/migrate.rake +21 -0
  118. data/sufia-models/lib/tasks/sufia-models_tasks.rake +55 -38
  119. data/sufia-models/sufia-models.gemspec +1 -1
  120. data/sufia.gemspec +2 -2
  121. metadata +44 -38
  122. data/app/assets/images/site_images/bg_body.png +0 -0
  123. data/app/assets/images/site_images/bg_breadcrumbs.png +0 -0
  124. data/app/assets/images/site_images/bg_button1.png +0 -0
  125. data/app/assets/images/site_images/bg_button2.png +0 -0
  126. data/app/assets/images/site_images/bg_button3.png +0 -0
  127. data/app/assets/images/site_images/bg_content.png +0 -0
  128. data/app/assets/images/site_images/bg_content2.png +0 -0
  129. data/app/assets/images/site_images/bg_footer.png +0 -0
  130. data/app/assets/images/site_images/bg_masthead.png +0 -0
  131. data/app/assets/images/site_images/bg_search_field.png +0 -0
  132. data/app/assets/images/site_images/bg_search_header.png +0 -0
  133. data/app/assets/images/site_images/bg_signin.png +0 -0
  134. data/app/assets/images/site_images/carrot_blue.png +0 -0
  135. data/app/assets/images/site_images/carrot_yellow.png +0 -0
  136. data/app/assets/images/site_images/icon_arrow2_up.png +0 -0
  137. data/app/assets/images/site_images/icon_arrow3_down.png +0 -0
  138. data/app/assets/images/site_images/icon_arrow3_right.png +0 -0
  139. data/app/assets/images/site_images/icon_arrow_down.png +0 -0
  140. data/app/assets/images/site_images/icons_sprite.png +0 -0
  141. data/app/assets/images/site_images/logo_psuss_footer.png +0 -0
  142. data/app/views/catalog/_edit_partials/_default.html.erb +0 -55
  143. data/spec/support/fedora_conf/fedora.fcfg +0 -953
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8e0e2744f7b799d2b4a2d090e260e66c6ed2cc5d
4
- data.tar.gz: 142e115791a129a7b013773cd20993909f4e3f86
3
+ metadata.gz: 2796b98ae30851164de5f1e0c2e39dcc91dda839
4
+ data.tar.gz: f4e1fa1b7eebf06bfca330f1f08373cd2931142b
5
5
  SHA512:
6
- metadata.gz: 15e992259c723cf8cd267b89e1a3a1008650a009165cf8490d0cdb7c86bd577e6db0c298e7b7ea99301af325a7f76925e4339724ee015c2fda6c1457ba51b2c2
7
- data.tar.gz: 12b7cbf716a772af91f4740064cf148f6aac7726d4d6ac3f5fdb4d01aad12f30c378bd4393834f55d0f63e9407755a3395a26ba6f1b82b412ae6d468c68da849
6
+ metadata.gz: 2e10c49d8a7e0b075abdff71ca943189497c6c7dce4746dfc418604777405dd78d56e4142c0de6e261e2997c98e94630ca246d59ae2b5af8331ec15eea216d02
7
+ data.tar.gz: b135eb633c321d549b2b510e66a68cc814a45ff5d3ed19b6b3f7f0b216ebd7c95dded451bdb4728ab35309bf1afc5da46f374302501917792529e3c75eed6d79
@@ -13,7 +13,7 @@ env:
13
13
 
14
14
  matrix:
15
15
  - "RAILS_VERSION=4.1.8"
16
- - "RAILS_VERSION=4.2.0"
16
+ - "RAILS_VERSION=4.2.1"
17
17
 
18
18
  notifications:
19
19
  email:
data/Gemfile CHANGED
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  # Required for doing pagination inside an engine. See https://github.com/amatsuda/kaminari/pull/322
7
- gem 'kaminari', github: 'harai/kaminari', branch: 'route_prefix_prototype'
7
+ gem 'kaminari', github: 'jcoyne/kaminari', branch: 'sufia'
8
8
  gem 'sufia-models', path: './sufia-models'
9
9
  gem 'slop', '~> 3.6.0' # This just helps us generate a valid Gemfile.lock when Rails 4.2 is installed (which requires byebug which has a dependency on slop)
10
10
 
data/History.md CHANGED
@@ -1,5 +1,285 @@
1
1
  # History of Sufia releases
2
2
 
3
+ ## 6.0.0
4
+
5
+ * Replace pid with id in config [Adam Wead]
6
+ * Rename pid columns to generic_file_id [Justin Coyne]
7
+ * Remove unused default edit partial [Justin Coyne]
8
+ * Remove pid from TransfersControllerBehavior [Justin Coyne]
9
+ * add waffle.io badge [waffle-iron]
10
+ * Updating view test, fixes #991 [Adam Wead]
11
+ * Upgrade generator for 6.0 [Justin Coyne]
12
+ * Upgrade to Blacklight 5.12.1 [Justing Coyne]
13
+ * Update test grid to Rails 4.2.1 [Justin Coyne]
14
+ * In ContentDepositoryChangeEventJob change pid -> id [Justin Coyne]
15
+ * ActiveFedoraIdBasedJobs should use id instead of pid [Justin Coyne]
16
+ * Use the label instead of the file_name, #981 [Adam Wead]
17
+ * Rename ActiveFedoraPidBasedJob to ActiveFedoraIdBasedJob [Justin Coyne]
18
+ * Reconfigure and update blacklight_advanced_search [Adam Wead]
19
+ * Use Sufia::SearchBuilder; update hydra-collections [Adam Wead]
20
+ * Updating methods to remove deprecation warnings [Adam Wead]
21
+ * Only display upload link if you have permission [Trey Terrell]
22
+ * Replaces redundant title attribute with more beneficial text for all users [mtribone]
23
+ * Separate button viewing for files and collections. [Trey Terrell]
24
+ * Rename permission to view share work button [Trey Terrell]
25
+ * Allowing transfers of a file after original transfer has been closed. fixes #972 [Carolyn Cole]
26
+ * Use Net::HTTP to download full-text jar files [Adam Wead]
27
+ * Migrate pids in audit logs and proxy requests, fixes #853 [Adam Wead]
28
+ * Update FITS URL in README [Michael J. Giarlo]
29
+ * Delay creation of batch until the user actually submits files. This will reduce the number of orphan batches created since we won't create a new batch when the user issues an HTTP GET on the page, rather we will wait until the user issues an HTTP POST to the page [Hector Correa]
30
+ * Removes title attribute and adds sr-only span for better accessibility compliance [mtribone]
31
+ * Hide dashboard buttons if appropriate. [Trey Terrell]
32
+ * Only display upload if you can. [Trey Terrell]
33
+ * Removes old 1.0 background graphics [mtribone]
34
+ * Add link to metadata customization documentation. [Michael J. Giarlo]
35
+ * Fix search builder compatibility [Adam Wead]
36
+ * Use real objects for view test [Adam Wead]
37
+ * Update CollectionsControllerBehavior [Adam Wead]
38
+ * Upgrade hydra-collections to ~> 5.0 [Adam Wead]
39
+ * Fix generator for blacklight 5.10 [Adam Wead]
40
+ * Update to Blacklight 5.10 [Adam Wead]
41
+ * as an admin user, I can edit another user's profile fixes #923 [Tricia Jenkins]
42
+ * Dashboard controller should display incoming and outgoing transfers. [Michael J. Giarlo]
43
+ * Added delay to stats import. Allow for new users to be picked up first [Hector Correa]
44
+ * Rake task for deleting empty batches [Adam Wead]
45
+ * Adding a i18n warning to the user on cloud provider upload page to let the user know the uploading is time sensitive. [Adam Wead]
46
+ * Adds icons and labels for upload and create collection buttons to translation file. [mtribone]
47
+ * Use the latest Blaklight 5.9 version [Adam Wead]
48
+ * Reorganize and generate a TOC for the README [Michael J. Giarlo]
49
+ * Remove blank strings from Collection & GenericFile Remove blank strings from params when creating or updating a collection. Trim FitsDatastream xml template to avoid blanks in GenericFile: Newly initialized GenericFile would end up with ""' or[""]' in place of most characterization attributes because the blank XML template in FitsDatastream generated them. Fixes #941 [Piotr Hebal]
50
+ * Replaces icon font with default SVG graphic [mtribone]
51
+ * Updating to use the new blacklight partial instead of defining in-line [Carolyn Cole]
52
+ * Add auto-link to description, in #942 [Adam Wead]
53
+ * Adds CSS two column to match file show [mtribone]
54
+ * Use hasSize to calculate collection size [Adam Wead]
55
+ * Remove arrow in relevance sorting label [Adam Wead]
56
+ * Makes sure resource type is not a require field in GenericFile edit form. [Hector Correa]
57
+ * Moving alerts above the tabs so that it is not replicated on each tab. fixes #929 [Carolyn Cole]
58
+ * Replaces tables for description list and adds CSS column-count, refs #9133 [mtribone]
59
+ * Download aspectjrt jar to support m4a files [Adam Wead]
60
+ * README should be clearer w/r/t Solr/Fedora requirements [Michael J. Giarlo]
61
+ * Keep FFmpeg instructions together [Collin Brittle]
62
+ * Changing to use the latest jquery hide show instead of the old style class name. fixes #916 [Carolyn Cole]
63
+ * Remove the duplicate showing of title and move the description up above the table to match collection show view. [Carolyn Cole]
64
+ * Preparing for 6.0.0.rc4 release [Michael J. Giarlo]
65
+ * add class accessors for presenter and form class for batch form and single use link view - follow up to #906 [root]
66
+ * Adding a rescue for a TimeoutError as we are seeing those in production [Michael J. Giarlo]
67
+ * Updates hover states for better feedback and interaction, refs #9772 [mtribone]
68
+ * Fixes button stacking to display inline, refs #9771 [mtribone]
69
+ * Generate the necessary asset changes [Justin Coyne]
70
+ * Add accessors for presenter and form class This makes overriding the presenter and form easier and avoids all the overriding necessary in something like #904 [Justin Coyne]
71
+ * Fixes the save button alignment in batches and generic files, refs #9719 [mtribone]
72
+ * If RAILS_VERSION is not set use sass-rails 5 [Justin Coyne]
73
+ * Move blacklight-gallery generator from sufia-models generator to the sufia generator [Justin Coyne]
74
+ * GenericFile title should render in heading of show view [Michael J. Giarlo]
75
+ * Fixes the responsive overflow which hides the dropdown near the bottom of the listing table, refs #9718 [mtribone]
76
+ * Overrides Bootstrap button colors, updates button class names to match, variables for style sheet [mtribone]
77
+ * refactoring batch_controller to behavior for downstream overridding [Weiwei Shi]
78
+ * Hooked up select2 to autocomplete user key. Redmine story #9146 [val99erie]
79
+ * refactoring single_use_links_controller and single_use_links_viewer_controller [Weiwei Shi]
80
+ * Preparing for 6.0.0.rc3 [Justin Coyne]
81
+ * Index page for featured researchers. Redmine story #9666 [val99erie]
82
+ * Use released versions of the dependencies [Justin Coyne]
83
+ * IngestLocalFileJob should use the GenericFile::Actor. Fixes #885 [Justin Coyne]
84
+ * Added autocommit to solr config So you won't lose the docs when you restart Solr Changes from projecthydra/active_fedora@c9733e3#diff-a34e883c5c6fbed341364fc259dc854cR19 Fixes #889 [Justin Coyne]
85
+ * Move tweeter and itemtype to the presenter This prevents a null pointer error if the depositor can not be found Fixes #883 [Justin Coyne]
86
+ * Condense tests to speed up the build [Justin Coyne]
87
+ * Use the latest versions of hydra-head [Justin Coyne]
88
+ * Store old entries for featured researcher. Redmine story #9146 [val99erie]
89
+ * Redirects to 'my shares' when submiting files on behalf of somebody else [Hector Correa]
90
+ * Remove nested anchor tag Previously was generating HTML like this: html <a aria-hidden="true" href="/files/d5a64948-966c-497e-830d-87f01887cbe1"> <a data-context-href="/catalog/d5a64948-966c-497e-830d-87f01887cbe1/track?search_id=21" href="/files/d5a64948-966c-497e-830d-87f01887cbe1"> <img alt="D5a64948 966c 497e 830d 87f01887cbe1?datastream id=thumbnail" src="/downloads/d5a64948-966c-497e-830d-87f01887cbe1?datastream_id=thumbnail" width="90" /> </a> </a> This pull request removes the outer anchor. [Justin Coyne]
91
+ * Don't show update order button unless there are featured works. Fixes #865 [Justin Coyne]
92
+ * Preserve original creation date in date_uploaded field. Redmine story #9728 [val99erie]
93
+ * Resource type should not be required It was not required in previous versions of sufia, so this ensures it doesn't change [Justin Coyne]
94
+ * Noids should not be second-class citizens. [Michael J. Giarlo]
95
+ * Enable browser validations. Fixes #868 [Justin Coyne]
96
+ * Removed a script that moved to hydra-editor [Justin Coyne]
97
+ * Set a DateTime for date_uploaded and date_modified [Justin Coyne]
98
+ * Remove PSU group management. Fixes #864 [Justin Coyne]
99
+ * Refactor to encapsulate the PSU stuff into one view [Justin Coyne]
100
+ * Deliver mail in a rails 4.2 way [Justin Coyne]
101
+ * Pair back the number of builds [Justin Coyne]
102
+ * Refactor batch methods [Justin Coyne]
103
+ * Sufia should work under Ruby 2.2 [Michael J. Giarlo]
104
+ * Disabled invalid option in the form. Story 9717 [val99erie]
105
+ * Sufia should not override EngineCart's tasks. [Michael J. Giarlo]
106
+ * Bumping to require the latest version of hydra-collections to get the depositor indexed into the collection [Carolyn Cole]
107
+ * Changing to use symbol instead of searchable so that a fuzzy search is not used for the depositor [Carolyn Cole]
108
+ * Don't allow rails 4.2 to fail [ci skip] [Justin Coyne]
109
+ * Updating to allow the forms sent together to be properly enabled after the update [Carolyn Cole]
110
+ * CollectionPresenter should handle title, description, size and total_items [Justin Coyne]
111
+ * Fixed error when user submits upload with no file. Issue 9713 [val99erie]
112
+ * Making test more flexible so it should work with different version of rails [Carolyn Cole]
113
+ * Removed a rescue block Reasoning: * It was an untyped, so it's hard to say which conditions might be expected. This means it was obfuscating errors we should be solving like * It was untested * It didn't work. It didn't set the correct ivars to render the edit view [Justin Coyne]
114
+ * Converted spec file to to 'let' syntax. This is syntax changes only, no code changes. [val99erie]
115
+ * Permit the parameters that allow you to remove a permission Previously, attempting to remove a permission would fail because permissions_attributes id and _destroy were not permitted [Justin Coyne]
116
+ * Preparing for 5.0.0.rc1 release [Carolyn Cole]
117
+ * Preparing for 5.0.0.rc1 release [Carolyn Cole]
118
+ * Bumping for release canidate [cam156]
119
+ * Label and icon for 'My Computer' in upload screen should be separated by a space [Michael J. Giarlo]
120
+ * Don't show collections in shared files list. Story scholarsphere#48 [val99erie]
121
+ * Make sure versions are sorted by the created field (rather than the old date field) [Hector Correa]
122
+ * Preparing for 6.0.0.rc2 release [Michael J. Giarlo]
123
+ * Point at updated HH and JW which specify the FCR4-containing version of hydra-jetty [Michael J. Giarlo]
124
+ * Update README to be more specific about dependency versions [Michael J. Giarlo]
125
+ * Fix malformatted README [Michael J. Giarlo]
126
+ * Update README to point at recommended Rails version and FCR4-compatible Sufia release [Michael J. Giarlo]
127
+ * Clarify recommended Ruby and Rails versions in README [Michael J. Giarlo]
128
+ * Pulled in code from curate to manage add/remove fields on edit forms. Also story #3978 [Carolyn Cole]
129
+ * Changing the file query to be a solr query for loading the file id, so we do not wait lareg file content to load. This speed up the runs significantly on systems with large files or large numbers of files [Carolyn Cole]
130
+ * ORCIDs should allow the final character to be 'X' [Michael J. Giarlo]
131
+ * Update Copyright to 2015 and use i18n [Justin Coyne]
132
+ * Users controller should not call an undefined method. Fixes #532. [Michael J. Giarlo]
133
+ * Fix problem where batch edit forms weren't expanding. Fixes #820 [Carolyn Cole]
134
+ * Rename #initialize_fields_for_edit to #form on Sufia::CollectionsControllerBehavior This is a more descriptive name for what's being done Fixes #834 [Justin Coyne]
135
+ * Upgrade to Bootstrap 3.2 way of doing media elements. the "media-object" class is removed in Bootstrap 3. Attempting to extend the nonexistent class raises an error in sass-rails 3.0 (Rails 4.2) Fixes #813 See http://getbootstrap.com/components/#media [Justin Coyne]
136
+ * CollectionsController should be overrideable by downstream applications [Michael J. Giarlo]
137
+ * Preparing for 6.0.0.rc1 release [Michael J. Giarlo]
138
+ * Update and rename LICENSE.md to LICENSE per community convention. [Michael J. Giarlo]
139
+ * Setup the autocomplete when creating adding a new field with the newest hydra-editor [Justin Coyne]
140
+ * Refactored batch edit javascript. [Justin Coyne]
141
+ * Fix problem where batch edit forms weren't expanding. Fixes #820 [Justin Coyne]
142
+ * Brings some of the fixes in fedora-4/master into master. [Michael J. Giarlo]
143
+ * Fixes endnote export functionality and adds a test [Michael J. Giarlo]
144
+ * Adds production block to generated redis config. [Michael J. Giarlo]
145
+ * Point back at HEAD for hydra-editor [Michael J. Giarlo]
146
+ * Use the curate inspired hydra-editor [Justin Coyne]
147
+ * Adds condition to make the version of sass-rails dependent on the value of RAILS_VERSION [Michael J. Giarlo]
148
+ * Added row class to permission form This makes the wrapping well contain these rows. Otherwise they overflow [Justin Coyne]
149
+ * Remove value_to_boolean which is removed in Rails 4.2 [Justin Coyne]
150
+ * Added a presenter for collections [Justin Coyne]
151
+ * Added PresenterRenderer for displaying GF show view [Justin Coyne]
152
+ * Remove methods that exist in hydra-editor [Justin Coyne]
153
+ * There's no need to pass the record because it's held by the form in f.object. Fixes #761 [Justin Coyne]
154
+ * Put responsibility for protecting attributes into the UserController [Justin Coyne]
155
+ * Removed duplicate declaration of more_or_less_button. Fixes #795 [Justin Coyne]
156
+ * Remove an unused view [Justin Coyne]
157
+ * Moved presenter and forms into hydra-editor [Justin Coyne]
158
+ * Override indexing services rather than to_solr [Justin Coyne]
159
+ * Test rails 4.1 and 4.2 [Justin Coyne]
160
+ * Label and title should use different predicates. Fixes #801 [Justin Coyne]
161
+ * Support for rails 4.2 [Justin Coyne]
162
+ * Use permitted parameters [Justin Coyne]
163
+ * Remove accessible attributes [Justin Coyne]
164
+ * Reverted route helper name change. Fixes #798 [Justin Coyne]
165
+ * Use jbuilder for jQuery upload response [Justin Coyne]
166
+ * Extract form objects from the persistence objects [Justin Coyne]
167
+ * Adding the browse view link into the bread crumbs so it shows on both the edit and the stats page. [Carolyn Cole]
168
+ * Use travis' new container based arch [Justin Coyne]
169
+ * More facets modal defaults to numerical sort [Adam Wead]
170
+ * Upgrade to Blacklight 5.8 [Adam Wead]
171
+ * Faster feature tests by using rack_test driver when possible [Justin Coyne]
172
+ * Upgrade to Blacklight 5.8 [Justin Coyne]
173
+ * Unpend one test, remove another pending test. Fixes #783 The removed test was checking that the batch represented by the passed batch_id was created after the file was uploaded. But Fcrepo4 prevents us from referencing a URI that doesn't have an existing object, so the batches had earlier been set to create immediately. [Justin Coyne]
174
+ * Complete componentizing GenericFile [Justin Coyne]
175
+ * Extract Audit concern into GenericFileAuditService [Justin Coyne]
176
+ * Update visibility without params[:generic_file] [Adam Wead]
177
+ * Ensure we return only GenericFile objects [Adam Wead]
178
+ * Move RepositoryAuditService to the Sufia namespace [Justin Coyne]
179
+ * Added RepositoryAuditService [Justin Coyne]
180
+ * Removed audit! methods. They were never used [Justin Coyne]
181
+ * Restore the audit tests [Justin Coyne]
182
+ * Makes sure empty element is not inserted as an option for the rights dropdown list [Hector Correa]
183
+ * field_form partial does not need generic_file [Justin Coyne]
184
+ * Batch edit only needs one GenericFile to draw the form [Justin Coyne]
185
+ * remove form-horizontal. Fixes #763 [Justin Coyne]
186
+ * Update the edit page to work with the new ActiveFedora versions api [Justin Coyne]
187
+ * Refactored users controller spec [Justin Coyne]
188
+ * Refactor the user model spec [Justin Coyne]
189
+ * remove .tap from the files controller spec [Justin Coyne]
190
+ * Refactor Files controller specs for create [Justin Coyne]
191
+ * Moves GenericFile::Content behaviors out of GenericFile::Metadata and into a separate module [Adam Wead]
192
+ * Post-rebase adjustments [Adam Wead]
193
+ * Bump to version 5.0.0.beta1 [Adam Wead]
194
+ * The rights select box on the form should send an array [Adam Wead]
195
+ * Remove unused css_head and js_head yields [Adam Wead]
196
+ * Check for uniqueness of the field by using the existing class method [Adam Wead]
197
+ * Run audits on ResourceVersion instead of uris [Adam Wead]
198
+ * Bump to active-fedora beta 6 [Adam Wead]
199
+ * Using new versions interface [Adam Wead]
200
+ * Update to hydra-jetty 8.1.1 [Adam Wead]
201
+ * Set multiple to false for on_behalf_of and proxy_depositor [Adam Wead]
202
+ * Adjust string/arrayness of properties [Adam Wead]
203
+ * Handle the more restrictive singular/multiple fields [Adam Wead]
204
+ * Make some properties single valued. Fixes #706 [Adam Wead]
205
+ * Remove audit logic from the view This correctly causes an error which should be resolved by #722 Fixes #734 [Adam Wead]
206
+ * Audit tests updated to tests files with multiple versions. Updated code in ChecksumAuditLog to remove calls to deprecated properties [Adam Wead]
207
+ * Audit_each was missing path argument when calling logs. [Adam Wead]
208
+ * Update hydra-collections to hydra-collections 4.0.0.beta1 [Adam Wead]
209
+ * Audit_job and checksum_audit_logs updated to account for changes in Fedora 4. [Adam Wead]
210
+ * More bootstrap styling fixes [Adam Wead]
211
+ * Use fields_for to handle the permissions form. Fixes #742 [Adam Wead]
212
+ * Update the style on the batch edit page. Fixes #737 [Adam Wead]
213
+ * Versions returns uris and not labels [Adam Wead]
214
+ * Depends on hydra-head 9.0.0.beta1 [Adam Wead]
215
+ * Use hydra-collections 3.0.0.beta1 [Adam Wead]
216
+ * Use hydra-derivatives 1.0.0.beta1 [Adam Wead]
217
+ * Update to active-fedora beta 3 [Adam Wead]
218
+ * Batch Update job should set an array of titles. Fixes #729 [Adam Wead]
219
+ * Restore loading from solr Fixes #711 [Adam Wead]
220
+ * Removed deprecated methods/options [Adam Wead]
221
+ * Use active-fedora from master [Adam Wead]
222
+ * Update dependency to beta2 in the sufia-models gemspec [Adam Wead]
223
+ * Update to AF 9.0.0.beta2 and Sufia 4.2 [Adam Wead]
224
+ * Using ::RDF [Adam Wead]
225
+ * Update to AF 9 beta1 [Adam Wead]
226
+ * Updating tests with ActiveFedora [Adam Wead]
227
+ * on stub_models stub the datastream rather than set it. [Adam Wead]
228
+ * Remove invalid property 'versionable' for contains association [Adam Wead]
229
+ * Fixed a test. Pass an AF::Base object when creating a file [ci skip] [Adam Wead]
230
+ * Update to latest API changes in ActiveFedora [Adam Wead]
231
+ * Switched to use fcrepo4 beta 4 [Adam Wead]
232
+ * Set the content in the test setup before trying to retrieve it [Adam Wead]
233
+ * Use += instead of <<, or change tracking won't work [Adam Wead]
234
+ * Revert changes from #705 The changes only set permission related attributes, but we also need to set the descriptive metadata too. [Adam Wead]
235
+ * Use person instead of user in the spec to avoid a deprecation [Adam Wead]
236
+ * Removed unnecessary delete/destroy in after hooks [Adam Wead]
237
+ * Use a real batch id in GenericFilesController test Otherwhise Fedora will raise a 409 error because it can't find the "batch" resource the predicate points at. [Adam Wead]
238
+ * Restore changes originally made in #688, which were overwritten [Adam Wead]
239
+ * Removed deprecation warnings from job specs [Adam Wead]
240
+ * Remove shift operator An issue with ActiveModel::Dirty is affecting the shift operator in ActiveFedora. Until projecthydra/active_fedora#540 is resolved, we should avoid using it. [Adam Wead]
241
+ * Fixes bug in BatchUpdateJob::update_file by changing how params used to set permissions, conforming to the new way of using #permissions_attributes= instad of #attribures= [Adam Wead]
242
+ * Use the new Permission accessors. Fixes projecthydra/activefedora#547 Depends on projecthydra/hydra-head#215 [Adam Wead]
243
+ * Switch to using index_collection_ids which removes a deprecation [Adam Wead]
244
+ * Fixed error in Collections feature test [Adam Wead]
245
+ * Fixed tests for file usage [Adam Wead]
246
+ * Updated more deprecated methods [Adam Wead]
247
+ * Removed test for reload_on_save [Adam Wead]
248
+ * Update test for accessible attributes to include permissions_attributes [Adam Wead]
249
+ * Look for the correct exception when a file is deleted [Adam Wead]
250
+ * Set permissions in BatchEditsController [Adam Wead]
251
+ * Replaced deprecated method transform_datastream with transform_file [Adam Wead]
252
+ * Removed deprecation warnings [Adam Wead]
253
+ * Removed deprecation warnings [Adam Wead]
254
+ * Use id instead of pid to avoid deprecation [Adam Wead]
255
+ * Use id instead of pid to avoid deprecation [Adam Wead]
256
+ * Remove the properties datastream from Collection [Adam Wead]
257
+ * Remove deprecation by switching pid to id [Adam Wead]
258
+ * Get rid of the properties datastream [Adam Wead]
259
+ * Whitelist permissions_attributes parameter. Fixes projecthydra/active_fedora#550 [Adam Wead]
260
+ * Fixing Sufia's version control [Adam Wead]
261
+ * Don't namespaceize pids. Capture just AccessDenied Errors. Ref projecthydra/active_fedora#546 [Adam Wead]
262
+ * Update tests to show new permissions_attributes usage [Adam Wead]
263
+ * Remove useage of deprecated method datastreams [Adam Wead]
264
+ * Using hydra-jetty/fedora-4/edge [Adam Wead]
265
+ * Update to the latest version of ActiveFedora alpha [Adam Wead]
266
+ * Don't namespace ids [Adam Wead]
267
+ * Refactor spec file to remove some rspec deprecations [Adam Wead]
268
+ * Fix test for characterization [Adam Wead]
269
+ * Spec for file usage should expect escaped slashes [Adam Wead]
270
+ * Featured works shoudn't have namespaces [Adam Wead]
271
+ * Fixed loading trophies [Adam Wead]
272
+ * Fixed GenericFileRdfDatastream spec [Adam Wead]
273
+ * Refactor properties_datastream_spec [Adam Wead]
274
+ * Skip checksum audit log tests [Adam Wead]
275
+ * Fixing file content datastream spec [Adam Wead]
276
+ * Fix batch spec [Adam Wead]
277
+ * Removed the label setter [Adam Wead]
278
+ * Removed Persistence module from spec directory [Adam Wead]
279
+ * No need for fedora 3 namespaces [Adam Wead]
280
+ * Make datastreams versionable [Adam Wead]
281
+ * Upgrading to Fedora 4 [Adam Wead]
282
+
3
283
  ## 5.0.0
4
284
 
5
285
  * Update README to be more specific about dependency versions [Michael J. Giarlo]
data/README.md CHANGED
@@ -1,8 +1,50 @@
1
- # Sufia [![Version](https://badge.fury.io/rb/sufia.png)](http://badge.fury.io/rb/sufia) [![Build Status](https://travis-ci.org/projecthydra/sufia.png?branch=master)](https://travis-ci.org/projecthydra/sufia) [![Dependency Status](https://gemnasium.com/projecthydra/sufia.png)](https://gemnasium.com/projecthydra/sufia)
2
-
3
- ## What is Sufia?
4
- Sufia is a component that adds self-deposit institutional repository features to a Rails app.
5
- Sufia is created with Ruby on Rails and builds on the Hydra Framework.
1
+ [![Stories in Ready](https://badge.waffle.io/projecthydra/sufia.png?label=ready&title=Ready)](https://waffle.io/projecthydra/sufia)
2
+ # Sufia
3
+
4
+ [![Version](https://badge.fury.io/rb/sufia.png)](http://badge.fury.io/rb/sufia)
5
+ [![Apache 2.0 License](http://img.shields.io/badge/APACHE2-license-blue.svg)](./LICENSE)
6
+ [![Contribution Guidelines](http://img.shields.io/badge/CONTRIBUTING-Guidelines-blue.svg)](./CONTRIBUTING.md)
7
+ [![API Docs](http://img.shields.io/badge/API-docs-blue.svg)](http://rubydoc.info/gems/sufia)
8
+ [![Build Status](https://travis-ci.org/projecthydra/sufia.png?branch=master)](https://travis-ci.org/projecthydra/sufia)
9
+ [![Dependency Status](https://gemnasium.com/projecthydra/sufia.png)](https://gemnasium.com/projecthydra/sufia)
10
+ [![Coverage Status](https://img.shields.io/coveralls/projecthydra/sufia.svg)](https://coveralls.io/r/projecthydra/sufia?branch=master)
11
+
12
+ # Table of Contents
13
+
14
+ * [What is Sufia?](#what-is-sufia)
15
+ * [Help](#help)
16
+ * [Creating a Sufia-based app](#creating-a-sufia-based-app)
17
+ * [Prerequisites](#prerequisites)
18
+ * [Characterization](#characterization)
19
+ * [Environments](#environments)
20
+ * [Ruby](#ruby)
21
+ * [Rails](#rails)
22
+ * [Sufia-related dependencies](#sufia-related-dependencies)
23
+ * [Pagination](#pagination)
24
+ * [Install Sufia](#install-sufia)
25
+ * [Database tables and indexes](#database-tables-and-indexes)
26
+ * [Solr and Fedora](#solr-and-fedora)
27
+ * [Start background workers](#start-background-workers)
28
+ * [Audiovisual transcoding](#audiovisual-transcoding)
29
+ * [User interface](#user-interface)
30
+ * [Integration with Dropbox, Box, etc.](#integration-with-dropbox-box-etc)
31
+ * [Analytics and usage statistics](#analytics-and-usage-statistics)
32
+ * [Capturing usage](#capturing-usage)
33
+ * [Displaying usage in the UI](#displaying-usage-in-the-ui)
34
+ * [Tag Cloud](#tag-cloud)
35
+ * [Customizing metadata](#customizing-metadata)
36
+ * [Proxies and Transfers (Sufia 4.x only)](#proxies-and-transfers-sufia-4x-only)
37
+ * [License](#license)
38
+ * [Contributing](#contributing)
39
+ * [Development](#development)
40
+ * [Regenerating the README TOC](#regenerating-the-readme-toc)
41
+ * [Run the test suite](#run-the-test-suite)
42
+ * [Change validation behavior](#change-validation-behavior)
43
+ * [Acknowledgments](#acknowledgments)
44
+
45
+ # What is Sufia?
46
+
47
+ Sufia is a component that adds self-deposit institutional repository features to a Rails app. Sufia builds on the [Hydra framework](http://projecthydra.org/).
6
48
 
7
49
  Sufia has the following features:
8
50
 
@@ -34,96 +76,167 @@ Sufia has the following features:
34
76
  * Dynamically configurable featured works and researchers on homepage
35
77
  * Proxy deposit and transfers of ownership
36
78
 
37
- ## License
79
+ # Help
38
80
 
39
- Sufia is available under [the Apache 2.0 license](LICENSE.md).
81
+ If you have questions or need help, please email [the Hydra community tech list](mailto:hydra-tech@googlegroups.com) or stop by [the Hydra community IRC channel](irc://irc.freenode.net/projecthydra).
40
82
 
41
- ## Contributing
83
+ # Creating a Sufia-based app
42
84
 
43
- We'd love to accept your contributions. Please see our guide to [contributing to Sufia](CONTRIBUTING.md).
85
+ ## Prerequisites
86
+
87
+ Sufia requires the following software to work:
44
88
 
45
- ## Sufia needs the following software to work:
46
89
  1. Solr
47
90
  1. [Fedora Commons](http://www.fedora-commons.org/) digital repository
48
- 1. A SQL RDBMS (MySQL, SQLite)
91
+ 1. A SQL RDBMS (MySQL, PostgreSQL), though **note** that SQLite will be used by default if you're looking to get up and running quickly
49
92
  1. [Redis](http://redis.io/) key-value store
50
93
  1. [ImageMagick](http://www.imagemagick.org/)
51
- 1. Ruby (*latest 2.1 recommended*)
52
- 2. Rails (*latest 4.1 recommended*)
94
+ 1. [FITS](#characterization)
95
+
96
+ **NOTE: If you do not already have Solr and Fedora instances you can use in your development environment, you may use hydra-jetty (instructions are provided below to get you up and running quickly and with minimal hassle).**
97
+
98
+ ### Characterization
99
+
100
+ 1. Go to http://projects.iq.harvard.edu/fits/downloads and download a copy of FITS & unpack it somewhere on your machine. You can also install FITS on OSX with homebrew `brew install fits` (you may also have to create a symlink from `fits.sh -> fits` in the next step).
101
+ 1. Mark fits.sh as executable (`chmod a+x fits.sh`)
102
+ 1. Run "fits.sh -h" from the command line and see a help message to ensure FITS is properly installed
103
+ 1. Give your Sufia app access to FITS by:
104
+ 1. Adding the full fits.sh path to your PATH (e.g., in your .bash_profile), **OR**
105
+ 1. Changing `config/initializers/sufia.rb` to point to your FITS location: `config.fits_path = "/<your full path>/fits.sh"`
53
106
 
54
- #### !! Ensure that you have all of the above components installed before you continue. !!
107
+ ## Environments
55
108
 
56
- ## Need Help?
109
+ Note here that the following commands assume you're setting up Sufia in a development environment (using the Rails built-in development environment). If you're setting up a production or production-like environment, you may wish to tell Rails that by prepending `RAILS_ENV=production` to the commands that follow, e.g., `rails`, `rake`, `bundle`, and so on.
57
110
 
58
- If you have questions or need help, please email [the Hydra community development list](mailto:hydra-tech@googlegroups.com).
111
+ ## Ruby
59
112
 
60
- ## Creating an application
113
+ First, you'll need a working Ruby installation. You can install this via your operating system's package manager -- you are likely to get farther with OSX, Linux, or UNIX than Windows but your mileage may vary -- but we recommend using a Ruby version manager such as [RVM](https://rvm.io/) or [rbenv](https://github.com/sstephenson/rbenv).
61
114
 
62
- ### Generate base Rails install
115
+ We recommend either Ruby 2.2 or the latest 2.1 version.
116
+
117
+ ## Rails
118
+
119
+ Generate a new Rails application. We recommend either Rails 4.2 or the latest 4.1 version.
63
120
 
64
121
  ```
65
122
  gem install rails -v 4.1.8
66
123
  rails new my_app
67
124
  ```
68
125
 
69
- ### Add gems to Gemfile
126
+ ## Sufia-related dependencies
127
+
128
+ Add the following lines to your application's Gemfile.
70
129
 
71
130
  ```
72
- gem 'sufia', '6.0.0.rc1'
73
- gem 'kaminari', github: 'harai/kaminari', branch: 'route_prefix_prototype' # required to handle pagination properly in dashboard. See https://github.com/amatsuda/kaminari/pull/322
131
+ gem 'sufia', '6.0.0.rc4'
132
+ gem 'kaminari', github: 'jcoyne/kaminari', branch: 'sufia' # required to handle pagination properly in dashboard. See https://github.com/amatsuda/kaminari/pull/322
74
133
  ```
75
134
 
76
- Then `bundle install`
135
+ Then install Sufia as a dependency of your app via `bundle install`
136
+
137
+ ### Pagination
138
+
139
+ The line with kaminari -- a Ruby library that helps build pagination into applications -- listed as a dependency in the Gemfile is a temporary fix to address a
140
+ [known problem](https://github.com/amatsuda/kaminari/pull/322) in the current release of kaminari.
141
+
142
+ ## Install Sufia
143
+
144
+ Install Sufia into your app using its built-in install generator. This step adds a number of files that Sufia requires within your Rails app, including e.g. a number of database migrations.
77
145
 
78
- ### Run the sufia generator
79
146
  ```
80
147
  rails generate sufia:install -f
81
148
  ```
82
149
 
83
- ### Run the migrations
150
+ ## Database tables and indexes
151
+
152
+ Now that Sufia's required database migrations have been generated into your app, you'll need to load them into your application's database.
84
153
 
85
154
  ```
86
155
  rake db:migrate
87
156
  ```
88
157
 
89
- ### Get a copy of jetty (Solr and Fedora)
158
+ ## Solr and Fedora
159
+
160
+ If you already have instances of Solr and Fedora that you would like to use, you may skip this step. Otherwise feel free to use the bundled copy of Jetty, a Java servlet container that is configured to run versions of Solr and Fedora that are known to work with Sufia.
161
+
90
162
  ```
91
163
  rake jetty:clean
92
164
  rake sufia:jetty:config
93
165
  rake jetty:start
94
166
  ```
95
167
 
96
- ### To use the CSS and JavaScript and other assets that ship with Sufia...
168
+ ## Start background workers
169
+
170
+ Sufia uses a queuing system named Resque to manage long-running or slow processes. Resque relies on the [redis](http://redis.io/) key-value store, so [redis](http://redis.io/) must be installed *and running* on your system in order for background workers to pick up jobs.
171
+
172
+ Unless redis has already been started, you will want to start it up. You can do this either by calling the `redis-server` command, or if you're on certain Linuxes, you can do this via `sudo service redis-server start`.
173
+
174
+ Next you will need to spawn Resque's workers. The following command will run until you stop it, so you may want to do this in a dedicated terminal.
175
+
176
+ ```
177
+ QUEUE=* rake environment resque:work
178
+ ```
179
+
180
+ Or, if you prefer (e.g., in production-like environments), you may want to set up a `config/resque-pool.yml` -- [here is a simple example](https://github.com/projecthydra/sufia/blob/master/sufia-models/lib/generators/sufia/models/templates/config/resque-pool.yml) -- and run resque-pool which will manage your background workers in a dedicated process.
181
+
182
+ ```
183
+ resque-pool --daemon --environment development start
184
+ ```
185
+
186
+ See https://github.com/defunkt/resque for more options. If you do wind up using resque-pool, you might also be interested in a shell script to help manage it. [Here is an example](https://github.com/psu-stewardship/scholarsphere/blob/develop/script/restart_resque.sh) which you can adapt for your needs.
187
+
188
+ ## Audiovisual transcoding
189
+
190
+ Sufia includes support for transcoding audio and video files. To enable this, make sure to have ffmpeg > 1.0 installed.
191
+
192
+ On OSX, you can use homebrew for this.
193
+
194
+ ```
195
+ brew install ffmpeg --with-fdk-aac --with-libvpx --with-libvorbis
196
+ ```
197
+
198
+ To compile ffmpeg yourself, see https://trac.ffmpeg.org/wiki/CompilationGuide
199
+
200
+ ## User interface
201
+
202
+ **Remove** turbolinks support from `app/assets/stylesheets/application.css` if present:
97
203
 
98
- #### Modify app/assets/stylesheets/application.css
99
- **Remove** this line, if present:
100
204
  ```
101
205
  //= require turbolinks
102
206
  ```
103
207
 
104
- Turbolinks causes the TinyMCE editor to not load.
208
+ Turbolinks causes the dynamic content editor not to load.
105
209
 
106
- ### Install Notes
210
+ ## Integration with Dropbox, Box, etc.
107
211
 
108
- #### Kaminari
212
+ Sufia provides built-in support for the [browse-everything](https://github.com/projecthydra/browse-everything) gem, which provides a consolidated file picker experience for selecting files from [DropBox](http://www.dropbox.com),
213
+ [Skydrive](https://skydrive.live.com/), [Google Drive](http://drive.google.com),
214
+ [Box](http://www.box.com), and a server-side directory share.
109
215
 
110
- The line with kaminari listed as a dependency in Gemfile is a temporary fix to address a
111
- [problem](https://github.com/amatsuda/kaminari/pull/322) in the current release of kaminari.
112
- Technically you should not have to list kaminari, which is a dependency of blacklight and sufia.
216
+ To activate browse-everything in your sufia app, run the browse-everything config generator
113
217
 
114
- ### Proxies and Transfers
218
+ ```
219
+ rails g browse_everything:config
220
+ ```
115
221
 
116
- To add proxies and transfers to your Sufia 4-based app, run the 'sufia:models:proxies' generator and then run 'rake db:migrate'.
222
+ This will generate a file at _config/browse_everything_providers.yml_. Open that file and enter the API keys for the providers that you want to support in your app. For more info on configuring browse-everything, go to the [project page](https://github.com/projecthydra/browse-everything) on github.
117
223
 
118
- ### Analytics
224
+ After running the browse-everything config generator and setting the API keys for the desired providers, an extra tab will appear in your app's Upload page allowing users to pick files from those providers and submit them into your app's repository.
225
+
226
+ **If your config/initializers/sufia.rb was generated with sufia 3.7.2 or earlier**, then you need to add this line to an initializer (probably _config/initializers/sufia.rb _):
227
+ ```ruby
228
+ config.browse_everything = BrowseEverything.config
229
+ ```
230
+
231
+ ## Analytics and usage statistics
119
232
 
120
233
  Sufia provides support for capturing usage information via Google Analytics and for displaying usage stats in the UI.
121
234
 
122
- #### Capturing usage
235
+ ### Capturing usage
123
236
 
124
237
  To enable the Google Analytics javascript snippet, make sure that `config.google_analytics_id` is set in your app within the `config/initializers/sufia.rb` file. A Google Analytics ID typically looks like _UA-99999999-1_.
125
238
 
126
- #### Displaying usage
239
+ ### Displaying usage in the UI
127
240
 
128
241
  To display data from Google Analytics in the UI, first head to the Google Developers Console and create a new project:
129
242
 
@@ -157,84 +270,53 @@ Lastly, you will need to set `config.analytics = true` and `config.analytic_star
157
270
  has the proper access within your Google Analyics account. To do so, go to the _Admin_ tab for your Google Analytics account.
158
271
  Click on _User Management_, in the _Account_ column, and add "Read & Analyze" permissions for the OAuth client email address.
159
272
 
160
- ### To use browse-everything
273
+ ## Tag Cloud
161
274
 
162
- Sufia provides built-in support for the [browse-everything](https://github.com/projecthydra/browse-everything) gem, which provides a consolidated file picker experience for selecting files from [DropBox](http://www.dropbox.com),
163
- [Skydrive](https://skydrive.live.com/), [Google Drive](http://drive.google.com),
164
- [Box](http://www.box.com), and a server-side directory share.
275
+ Sufia provides a tag cloud on the home page. To change which field is displayed in that cloud, change the value of `config.tag_cloud_field_name` in the `blacklight_config` section of your CatalogController. For example:
165
276
 
166
- To activate browse-everything in your sufia app, run the browse-everything config generator
277
+ ```ruby
278
+ configure_blacklight do |config|
279
+ ...
167
280
 
168
- ```
169
- rails g browse_everything:config
281
+ # Specify which field to use in the tag cloud on the homepage.
282
+ # To disable the tag cloud, comment out this line.
283
+ config.tag_cloud_field_name = Solrizer.solr_name("tag", :facetable)
284
+ end
170
285
  ```
171
286
 
172
- This will generate a file at _config/browse_everything_providers.yml_. Open that file and enter the API keys for the providers that you want to support in your app. For more info on configuring browse-everything, go to the [project page](https://github.com/projecthydra/browse-everything) on github.
287
+ If your CatalogController was generated by a version of Sufia older than 3.7.3 you need to add that line to the Nlacklight configuration in order to make the tag cloud appear.
173
288
 
174
- After running the browse-everything config generator and setting the API keys for the desired providers, an extra tab will appear in your app's Upload page allowing users to pick files from those providers and submit them into your app's repository.
289
+ The contents of the cloud are retrieved as JSON from Blacklight's CatalogController#facet method. If you need to change how that content is returned (ie. if you need to limit the number of results), override the `render_facet_list_as_json` method in your CatalogController.
175
290
 
176
- *Note*: If you want to use the built-in browse-everything support, _you need to include the browse-everything css and javascript files_. If you already included the sufia css and javascript (see [above](#if-you-want-to-use-the-css-and-javascript-and-other-assets-that-ship-with-sufia)), then you don't need to do anything. Otherwise, follow the instructions in the [browse-everything README page](https://github.com/projecthydra/browse-everything)
291
+ ## Customizing metadata
177
292
 
178
- *If your config/initializers/sufia.rb was generated with sufia 3.7.2 or older*, then you need to add this line to an initializer (probably _config/initializers/sufia.rb _):
179
- ```ruby
180
- config.browse_everything = BrowseEverything.config
181
- ```
293
+ Chances are you will want to customize the default metadata provided by Sufia. Here's [a guide](https://github.com/projecthydra/sufia/wiki/Customizing-Metadata) to help you with that
182
294
 
183
- ### Install Fits.sh
184
- 1. Go to http://code.google.com/p/fits/downloads/list and download a copy of fits & unpack it somewhere on your machine. You can also install fits on OSX with homebrew `brew install fits` (you may also have to create a symlink from `fits.sh -> fits` in the next step).
185
- 1. Give your system access to fits
186
- 1. By adding the path to fits.sh to your excutable PATH. (ex. in your .bashrc)
187
- * OR
188
- 1. By adding/changing config/initializers/sufia.rb to point to your fits location: `config.fits_path = "/<your full path>/fits.sh"`
189
- 1. You may additionally need to chmod the fits.sh (chmod a+x fits.sh)
190
- 1. You may need to restart your shell to pick up the changes to your path
191
- 1. You should be able to run "fits.sh" from the command line and see a help message
295
+ ## Proxies and Transfers (Sufia 4.x only)
192
296
 
193
- ### Start background workers
194
- **Note:** Resque relies on the [redis](http://redis.io/) key-value store. You must install [redis](http://redis.io/) on your system and *have redis running* in order for this command to work.
195
- To start redis, you usually want to call the `redis-server` command.
297
+ To add proxies and transfers to your **Sufia 4**-based app, run the 'sufia:models:proxies' generator and then run 'rake db:migrate'. If you're already running Sufia 5 or 6, this is already added and you may skip this step.
196
298
 
197
- ```
198
- QUEUE=* rake environment resque:work
199
- ```
299
+ # License
200
300
 
201
- For production you may want to set up a config/resque-pool.yml and run resque pool in daemon mode
301
+ Sufia is available under [the Apache 2.0 license](LICENSE.md).
202
302
 
203
- ```
204
- resque-pool --daemon --environment development start
205
- ```
303
+ # Contributing
206
304
 
207
- See https://github.com/defunkt/resque for more options
305
+ We'd love to accept your contributions. Please see our guide to [contributing to Sufia](CONTRIBUTING.md).
208
306
 
209
- ### If you want to enable transcoding of video, install ffmpeg version 1.0+
210
- #### On a mac
211
- Use homebrew:
212
- ```
213
- brew install ffmpeg --with-fdk-aac --with-libvpx --with-libvorbis
214
- ```
215
- ### Tag Cloud
216
- Sufia provides a tag cloud on the home page. To change which field is displayed in that cloud, change the value of `config.tag_cloud_field_name` in the `blacklight_config` section of your CatalogController. For example:
217
- ```ruby
218
- configure_blacklight do |config|
219
- ...
307
+ # Development
220
308
 
221
- # Specify which field to use in the tag cloud on the homepage.
222
- # To disable the tag cloud, comment out this line.
223
- config.tag_cloud_field_name = Solrizer.solr_name("tag", :facetable)
224
- end
225
- ```
309
+ This information is for people who want to modify the engine itself, not an application that uses the engine:
226
310
 
227
- If your CatalogController was generated by a version of sufia older than 3.7.3 you need to add that line to the blacklight configuration in order to make the tag cloud appear.
311
+ ## Regenerating the README TOC
228
312
 
229
- The contents of the cloud are retrieved as JSON from Blacklight's CatalogController#facet method. If you need to change how that content is returned (ie. if you need to limit the number of results), override the `render_facet_list_as_json` method in your CatalogController.
313
+ [Install the gh-md-toc tool](https://github.com/ekalinin/github-markdown-toc/blob/master/README.md#installation), then ensure your README changes are up on GitHub, and then run:
230
314
 
231
- #### On Ubuntu Linux
232
- See https://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
315
+ `gh-md-toc https://github.com/USERNAME/sufia/blog/BRANCH/README.md`
233
316
 
234
- ## Developers:
235
- This information is for people who want to modify the engine itself, not an application that uses the engine:
317
+ That will print to stdout the new TOC, which you can copy into `README.md`, commit, and push.
236
318
 
237
- ### run the tests
319
+ ## Run the test suite
238
320
 
239
321
  ```
240
322
  rake jetty:start
@@ -244,7 +326,7 @@ rake engine_cart:generate
244
326
  rake spec
245
327
  ```
246
328
 
247
- ### Change validation behavior
329
+ ## Change validation behavior
248
330
 
249
331
  To change what happens to files that fail validation add an after_validation hook
250
332
  ```
@@ -258,7 +340,7 @@ To change what happens to files that fail validation add an after_validation hoo
258
340
  end
259
341
  ```
260
342
 
261
- ## Acknowledgments
343
+ # Acknowledgments
262
344
 
263
345
  This software has been developed by and is brought to you by the Hydra community. Learn more at the
264
346
  [Project Hydra website](http://projecthydra.org)