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.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/Gemfile +1 -1
- data/History.md +280 -0
- data/README.md +180 -98
- data/SUFIA_VERSION +1 -1
- data/app/assets/images/site_images/collection-icon.svg +168 -0
- data/app/assets/javascripts/sufia/uploader.js +7 -4
- data/app/assets/stylesheets/sufia.css.scss +1 -1
- data/app/assets/stylesheets/sufia/_collections.scss +33 -13
- data/app/assets/stylesheets/sufia/_file-show.scss +24 -0
- data/app/assets/stylesheets/sufia/_settings.scss +4 -0
- data/app/controllers/concerns/sufia/catalog.rb +1 -11
- data/app/controllers/concerns/sufia/collections_controller_behavior.rb +13 -15
- data/app/controllers/concerns/sufia/dashboard_controller_behavior.rb +3 -1
- data/app/controllers/concerns/sufia/files_controller/browse_everything.rb +2 -1
- data/app/controllers/concerns/sufia/files_controller/local_ingest_behavior.rb +1 -0
- data/app/controllers/concerns/sufia/files_controller_behavior.rb +4 -1
- data/app/controllers/concerns/sufia/homepage_controller.rb +4 -11
- data/app/controllers/concerns/sufia/my_controller_behavior.rb +3 -21
- data/app/controllers/concerns/sufia/transfers_controller_behavior.rb +6 -6
- data/app/controllers/concerns/sufia/users_controller_behavior.rb +7 -7
- data/app/controllers/my/collections_controller.rb +1 -8
- data/app/controllers/my/files_controller.rb +1 -1
- data/app/controllers/my/highlights_controller.rb +1 -9
- data/app/controllers/my/shares_controller.rb +1 -8
- data/app/helpers/generic_file_helper.rb +4 -0
- data/app/helpers/sufia/sufia_helper_behavior.rb +3 -3
- data/app/helpers/sufia_url_helper.rb +9 -0
- data/app/jobs/content_depositor_change_event_job.rb +5 -5
- data/app/search_builders/sufia/search_builder.rb +50 -0
- data/app/views/_user_util_links.html.erb +6 -4
- data/app/views/batch_edits/_check_all.html.erb +1 -1
- data/app/views/catalog/index.html.erb +3 -30
- data/app/views/collections/_media_display.html.erb +1 -1
- data/app/views/collections/_show_descriptions.html.erb +1 -1
- data/app/views/collections/_show_document_list_row.html.erb +2 -2
- data/app/views/dashboard/_index_partials/_heading_actions.html.erb +16 -12
- data/app/views/generic_files/_browse_everything.html.erb +3 -1
- data/app/views/generic_files/_local_file_import.html.erb +0 -1
- data/app/views/generic_files/_multiple_upload.html.erb +0 -1
- data/app/views/generic_files/_show_descriptions.html.erb +6 -11
- data/app/views/generic_files/_show_details.html.erb +41 -65
- data/app/views/generic_files/new.html.erb +1 -0
- data/app/views/generic_files/show.html.erb +2 -1
- data/app/views/generic_files/upload/_alerts.html.erb +5 -13
- data/app/views/homepage/_home_header.html.erb +6 -7
- data/app/views/my/_index_partials/_list_collections.html.erb +1 -1
- data/app/views/my/index.html.erb +2 -2
- data/app/views/records/edit_fields/_resource_type.html.erb +1 -1
- data/config/initializers/sufia_events.rb +2 -3
- data/config/locales/sufia.en.yml +11 -2
- data/lib/generators/sufia/install_generator.rb +5 -1
- data/lib/generators/sufia/templates/catalog_controller.rb +3 -5
- data/lib/generators/sufia/upgrade600_generator.rb +26 -0
- data/lib/sufia/version.rb +1 -1
- data/spec/actors/generic_file/actor_spec.rb +14 -0
- data/spec/controllers/collections_controller_spec.rb +19 -2
- data/spec/controllers/dashboard_controller_spec.rb +43 -12
- data/spec/controllers/generic_files_controller_spec.rb +24 -1
- data/spec/controllers/transfers_controller_spec.rb +4 -4
- data/spec/controllers/users_controller_spec.rb +18 -4
- data/spec/fixtures/spoken-text.m4a +0 -0
- data/spec/helpers/dashboard_helper_spec.rb +1 -1
- data/spec/helpers/sufia_url_helper_spec.rb +15 -0
- data/spec/inputs/select_with_help_input_spec.rb +15 -0
- data/spec/jobs/{active_fedora_pid_based_job_spec.rb → active_fedora_id_based_job_spec.rb} +2 -2
- data/spec/jobs/audit_job_spec.rb +2 -2
- data/spec/lib/sufia/id_service_spec.rb +8 -8
- data/spec/lib/sufia/user_stat_importer_spec.rb +9 -1
- data/spec/models/ability_spec.rb +7 -4
- data/spec/models/checksum_audit_log_spec.rb +10 -10
- data/spec/models/collection_spec.rb +8 -13
- data/spec/models/fits_datastream_spec.rb +17 -0
- data/spec/models/generic_file_spec.rb +9 -1
- data/spec/models/proxy_deposit_request_spec.rb +15 -3
- data/spec/services/generic_file_audit_service_spec.rb +1 -1
- data/spec/support/features.rb +1 -0
- data/spec/support/rake_output.rb +20 -0
- data/spec/tasks/rake_spec.rb +58 -0
- data/spec/test_app_templates/Gemfile.extra +3 -1
- data/spec/views/batch/edit.html.erb_spec.rb +6 -2
- data/spec/views/catalog/index.html.erb_spec.rb +1 -1
- data/spec/views/catalog/sort_and_per_page.html.erb_spec.rb +6 -2
- data/spec/views/dashboard/index_spec.rb +49 -1
- data/spec/views/generic_file/_browse_everything.html.erb_spec.rb +9 -0
- data/spec/views/generic_file/show.html.erb_spec.rb +13 -8
- data/spec/views/homepage/_home_header.html.erb_spec.rb +26 -0
- data/spec/views/users/_user_util_links.html.erb_spec.rb +20 -0
- data/spec/views/users/show.html.erb_spec.rb +1 -1
- data/sufia-models/app/actors/sufia/generic_file/actor.rb +1 -1
- data/sufia-models/app/jobs/active_fedora_id_based_job.rb +22 -0
- data/sufia-models/app/jobs/active_fedora_pid_based_job.rb +5 -20
- data/sufia-models/app/jobs/audit_job.rb +5 -6
- data/sufia-models/app/jobs/characterize_job.rb +1 -1
- data/sufia-models/app/jobs/create_derivatives_job.rb +1 -1
- data/sufia-models/app/jobs/import_url_job.rb +2 -2
- data/sufia-models/app/models/batch.rb +18 -4
- data/sufia-models/app/models/checksum_audit_log.rb +2 -2
- data/sufia-models/app/models/concerns/sufia/ability.rb +7 -1
- data/sufia-models/app/models/concerns/sufia/collection_behavior.rb +1 -1
- data/sufia-models/app/models/concerns/sufia/generic_file/full_text_indexing.rb +23 -14
- data/sufia-models/app/models/concerns/sufia/generic_file/proxy_deposit.rb +1 -1
- data/sufia-models/app/models/datastreams/fits_datastream.rb +1 -36
- data/sufia-models/app/models/proxy_deposit_request.rb +6 -6
- data/sufia-models/app/services/sufia/generic_file_audit_service.rb +1 -1
- data/sufia-models/app/services/sufia/generic_file_indexing_service.rb +0 -1
- data/sufia-models/app/services/sufia/id_service.rb +2 -3
- data/sufia-models/app/services/sufia/noid.rb +1 -1
- data/sufia-models/lib/generators/sufia/models/templates/config/sufia.rb +1 -1
- data/sufia-models/lib/generators/sufia/models/templates/migrations/change_audit_log_pid_to_generic_file_id.rb +5 -0
- data/sufia-models/lib/generators/sufia/models/templates/migrations/change_proxy_deposit_request_pid_to_generic_file_id.rb +5 -0
- data/sufia-models/lib/generators/sufia/models/upgrade600_generator.rb +21 -0
- data/sufia-models/lib/sufia/models/stats/user_stat_importer.rb +20 -1
- data/sufia-models/lib/sufia/models/version.rb +1 -1
- data/sufia-models/lib/tasks/batch_cleanup.rake +19 -0
- data/sufia-models/lib/tasks/migrate.rake +21 -0
- data/sufia-models/lib/tasks/sufia-models_tasks.rake +55 -38
- data/sufia-models/sufia-models.gemspec +1 -1
- data/sufia.gemspec +2 -2
- metadata +44 -38
- data/app/assets/images/site_images/bg_body.png +0 -0
- data/app/assets/images/site_images/bg_breadcrumbs.png +0 -0
- data/app/assets/images/site_images/bg_button1.png +0 -0
- data/app/assets/images/site_images/bg_button2.png +0 -0
- data/app/assets/images/site_images/bg_button3.png +0 -0
- data/app/assets/images/site_images/bg_content.png +0 -0
- data/app/assets/images/site_images/bg_content2.png +0 -0
- data/app/assets/images/site_images/bg_footer.png +0 -0
- data/app/assets/images/site_images/bg_masthead.png +0 -0
- data/app/assets/images/site_images/bg_search_field.png +0 -0
- data/app/assets/images/site_images/bg_search_header.png +0 -0
- data/app/assets/images/site_images/bg_signin.png +0 -0
- data/app/assets/images/site_images/carrot_blue.png +0 -0
- data/app/assets/images/site_images/carrot_yellow.png +0 -0
- data/app/assets/images/site_images/icon_arrow2_up.png +0 -0
- data/app/assets/images/site_images/icon_arrow3_down.png +0 -0
- data/app/assets/images/site_images/icon_arrow3_right.png +0 -0
- data/app/assets/images/site_images/icon_arrow_down.png +0 -0
- data/app/assets/images/site_images/icons_sprite.png +0 -0
- data/app/assets/images/site_images/logo_psuss_footer.png +0 -0
- data/app/views/catalog/_edit_partials/_default.html.erb +0 -55
- data/spec/support/fedora_conf/fedora.fcfg +0 -953
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2796b98ae30851164de5f1e0c2e39dcc91dda839
|
4
|
+
data.tar.gz: f4e1fa1b7eebf06bfca330f1f08373cd2931142b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e10c49d8a7e0b075abdff71ca943189497c6c7dce4746dfc418604777405dd78d56e4142c0de6e261e2997c98e94630ca246d59ae2b5af8331ec15eea216d02
|
7
|
+
data.tar.gz: b135eb633c321d549b2b510e66a68cc814a45ff5d3ed19b6b3f7f0b216ebd7c95dded451bdb4728ab35309bf1afc5da46f374302501917792529e3c75eed6d79
|
data/.travis.yml
CHANGED
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: '
|
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
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
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
|
-
|
79
|
+
# Help
|
38
80
|
|
39
|
-
|
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
|
-
|
83
|
+
# Creating a Sufia-based app
|
42
84
|
|
43
|
-
|
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.
|
52
|
-
|
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
|
-
|
107
|
+
## Environments
|
55
108
|
|
56
|
-
|
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
|
-
|
111
|
+
## Ruby
|
59
112
|
|
60
|
-
|
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
|
-
|
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
|
-
|
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.
|
73
|
-
gem 'kaminari', github: '
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
208
|
+
Turbolinks causes the dynamic content editor not to load.
|
105
209
|
|
106
|
-
|
210
|
+
## Integration with Dropbox, Box, etc.
|
107
211
|
|
108
|
-
|
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
|
-
|
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
|
-
|
218
|
+
```
|
219
|
+
rails g browse_everything:config
|
220
|
+
```
|
115
221
|
|
116
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
273
|
+
## Tag Cloud
|
161
274
|
|
162
|
-
Sufia provides
|
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
|
-
|
277
|
+
```ruby
|
278
|
+
configure_blacklight do |config|
|
279
|
+
...
|
167
280
|
|
168
|
-
|
169
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
291
|
+
## Customizing metadata
|
177
292
|
|
178
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
305
|
+
We'd love to accept your contributions. Please see our guide to [contributing to Sufia](CONTRIBUTING.md).
|
208
306
|
|
209
|
-
|
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
|
-
|
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
|
-
|
311
|
+
## Regenerating the README TOC
|
228
312
|
|
229
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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)
|