-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathhyrax.rb
213 lines (163 loc) · 8.55 KB
/
hyrax.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
Hyrax.config do |config|
Tufts::Curation.setup_models!(configuration: config) do |model|
model.include(Tufts::Draftable)
model.indexer = MiraIndexer
end
# Register roles that are expected by your implementation.
# @see Hyrax::RoleRegistry for additional details.
# @note there are magical roles as defined in Hyrax::RoleRegistry::MAGIC_ROLES
# config.register_roles do |registry|
# registry.add(name: 'captaining', description: 'For those that really like the front lines')
# end
# When an admin set is created, we need to activate a workflow.
# The :default_active_workflow_name is the name of the workflow we will activate.
# @see Hyrax::Configuration for additional details and defaults.
config.default_active_workflow_name = 'mira_publication_workflow'
# Email recipient of messages sent via the contact form
# config.contact_email = "repo-admin@example.org"
# Text prefacing the subject entered in the contact form
# config.subject_prefix = "Contact form:"
# How many notifications should be displayed on the dashboard
# config.max_notifications_for_dashboard = 5
# How often clients should poll for notifications
# Removed in Hyrax 2.0.0
# config.notifications_update_poll_interval = 5.minutes
config.realtime_notifications = false
# How frequently should a file be fixity checked
# config.max_days_between_fixity_checks = 7
# Options to control the file uploader
config.uploader = {
limitConcurrentUploads: 6,
maxNumberOfFiles: 600,
maxFileSize: 6.gigabytes
}
# Enable displaying usage statistics in the UI
# Defaults to false
# Requires a Google Analytics id and OAuth2 keyfile. See README for more info
config.analytics = true
# Google Analytics tracking ID to gather usage statistics
config.google_analytics_id = ENV['GOOGLE_ANALYTICS_ID']
# Date you wish to start collecting Google Analytic statistics for
# Leaving it blank will set the start date to when ever the file was uploaded by
# NOTE: if you have always sent analytics to GA for downloads and page views leave this commented out
# config.analytic_start_date = DateTime.new(2014, 9, 10)
# Enables a link to the citations page for a work
# Default is false
# config.citations = false
# Where to store tempfiles, leave blank for the system temp directory (e.g. /tmp)
# config.temp_file_base = '/home/developer1'
# Hostpath to be used in Endnote exports
# config.persistent_hostpath = 'http://localhost/files/'
# If you have ffmpeg installed and want to transcode audio and video set to true
config.enable_ffmpeg = true
# Hyrax uses NOIDs for files and collections instead of Fedora UUIDs
# where NOID = 10-character string and UUID = 32-character string w/ hyphens
# config.enable_noids = true
# Template for your repository's NOID IDs
# config.noid_template = ".reeddeeddk"
# Use the database-backed minter class
# config.noid_minter_class = ActiveFedora::Noid::Minter::Db
# Store identifier minter's state in a file for later replayability
# config.minter_statefile = '/tmp/minter-state'
# Prefix for Redis keys
# config.redis_namespace = "hyrax"
# Path to the file characterization tool
config.fits_path = "fits.sh"
# Path to the file derivatives creation tool
# config.libreoffice_path = "soffice"
# Option to enable/disable full text extraction from PDFs
# Default is true, set to false to disable full text extraction
# config.extract_full_text = true
# How many seconds back from the current time that we should show by default of the user's activity on the user's dashboard
# config.activity_to_show_default_seconds_since_now = 24*60*60
# Hyrax can integrate with Zotero's Arkivo service for automatic deposit
# of Zotero-managed research items.
# config.arkivo_api = false
# Location autocomplete uses geonames to search for named regions
# Username for connecting to geonames
# config.geonames_username = ''
# Should the acceptance of the licence agreement be active (checkbox), or
# implied when the save button is pressed? Set to true for active
# The default is true.
config.active_deposit_agreement_acceptance = false
# Should work creation require file upload, or can a work be created first
# and a file added at a later time?
# The default is true.
# config.work_requires_files = true
# Should a button with "Share my work" show on the front page to all users (even those not logged in)?
# config.display_share_button_when_not_logged_in = true
# The user who runs batch jobs. Update this if you aren't using emails
# config.batch_user_key = 'batchuser@example.com'
# The user who runs fixity check jobs. Update this if you aren't using emails
# config.audit_user_key = 'audituser@example.com'
#
# The banner image. Should be 5000px wide by 1000px tall
# config.banner_image = 'https://cloud.githubusercontent.com/assets/92044/18370978/88ecac20-75f6-11e6-8399-6536640ef695.jpg'
# Temporary paths to hold uploads before they are ingested into FCrepo
# These must be lambdas that return a Pathname. Can be configured separately
config.upload_path = ->() { Rails.root.join('tmp', 'uploads') }
config.cache_path = ->() { Rails.root.join('tmp', 'uploads', 'cache') }
# Location on local file system where derivatives will be stored
# If you use a multi-server architecture, this MUST be a shared volume
# config.derivatives_path = Rails.root.join('tmp', 'derivatives')
# Should schema.org microdata be displayed?
# config.display_microdata = true
# What default microdata type should be used if a more appropriate
# type can not be found in the locale file?
# config.microdata_default_type = 'http://schema.org/CreativeWork'
# Location on local file system where uploaded files will be staged
# prior to being ingested into the repository or having derivatives generated.
# If you use a multi-server architecture, this MUST be a shared volume.
# config.working_path = Rails.root.join( 'tmp', 'uploads')
# Should the media display partial render a download link?
# config.display_media_download_link = true
# A configuration point for changing the behavior of the license service
# @see Hyrax::LicenseService for implementation details
# config.license_service_class = Hyrax::LicenseService
# Labels for display of permission levels
# config.permission_levels = { "View/Download" => "read", "Edit access" => "edit" }
# Labels for permission level options used in dropdown menus
# config.permission_options = { "Choose Access" => "none", "View/Download" => "read", "Edit" => "edit" }
# Labels for owner permission levels
# config.owner_permission_levels = { "Edit Access" => "edit" }
# Path to the ffmpeg tool
# config.ffmpeg_path = 'ffmpeg'
# Max length of FITS messages to display in UI
# config.fits_message_length = 5
# ActiveJob queue to handle ingest-like jobs
# config.ingest_queue_name = :default
## Attributes for the lock manager which ensures a single process/thread is mutating a ore:Aggregation at once.
# How many times to retry to acquire the lock before raising UnableToAcquireLockError
# config.lock_retry_count = 600 # Up to 2 minutes of trying at intervals up to 200ms
#
# Maximum wait time in milliseconds before retrying. Wait time is a random value between 0 and retry_delay.
# config.lock_retry_delay = 200
#
# How long to hold the lock in milliseconds
# config.lock_time_to_live = 60_000
## Do not alter unless you understand how ActiveFedora handles URI/ID translation
# config.translate_id_to_uri = ActiveFedora::Noid.config.translate_id_to_uri
# config.translate_uri_to_id = ActiveFedora::Noid.config.translate_uri_to_id
## Fedora import/export tool
#
# Path to the Fedora import export tool jar file
# config.import_export_jar_file_path = "tmp/fcrepo-import-export.jar"
#
# Location where BagIt files should be exported
# config.bagit_dir = "tmp/descriptions"
# If browse-everything has been configured, load the configs. Otherwise, set to nil.
begin
if defined? BrowseEverything
config.browse_everything = BrowseEverything.config
else
Rails.logger.warn "BrowseEverything is not installed"
end
rescue Errno::ENOENT
config.browse_everything = nil
end
end
Date::DATE_FORMATS[:standard] = "%m/%d/%Y"
Qa::Authorities::Geonames.username = 'mkorcy'
Qa::Authorities::Local.register_subauthority('subjects', 'Qa::Authorities::Local::TableBasedAuthority')
Qa::Authorities::Local.register_subauthority('languages', 'Qa::Authorities::Local::TableBasedAuthority')
Qa::Authorities::Local.register_subauthority('genres', 'Qa::Authorities::Local::TableBasedAuthority')