If already exists and you want to start fresh DANGER: This will kill it all including data
docker-compose down
docker-compose system prune
Following are the steps we followed to implement the feature.
HyraxUploader
.For the mailer report we have WorkReportMailer
which acts as the controller of the Application Mailer. The mailer is called
in the ExportController file.
def send_mail_report
emails = process_email
emails.each do |email|
WorkReportMailer.send_report(email.strip, current_account.cname, params[:email_type]).deliver_later
end
redirect_to hyrax.admin_stats_path(anchor: 'email_reports')
For masking the url we created a seperate routes, controller to fetch the record and generate the url for the download file.
app/controllers/ubiquity/fail_uploads_controller.rb
def download_file
params[:fileset_id]
uuid = params[:uuid]
s3_file_set_url = Ubiquity::ImporterClient.get_s3_url uuid
For Rif template all the fileds have unique codes and we represent eah codes to the corresponding value. Following are the steps we follow to generate the report
CitationExportsController
(app/controllers/ubiquity/citation_exports_controller.rb)
and process the fetched record to render in RIF fromat.app/controllers/concerns/ubiquity/citations_export_concern.rb
)Basically we have a hash which consist of code and the fields that needs to map. Please find the hash below
For OAI we are using the BlackLightOaiProvider gem (https://github.com/projectblacklight/blacklight_oai_provider) which harvest the data automatically once it is configured in the catalog controller. We have divided into two phases.
We do have an ENV variable which acts as a switch to enable this feature .
ENABLE_OAI_METADATA: 'true'
Loading development environment (Rails 4.0.0) | |
2.0.0-p247 :001 > Date.today | |
=> Thu, 26 Sep 2013 | |
2.0.0-p247 :002 > Date.tomorrow | |
=> Thu, 26 Sep 2013 |
module SoftDelete | |
extend ActiveSupport::Concern | |
included do | |
define_model_callbacks :soft_delete | |
define_model_callbacks :recover | |
default_scope where(:deleted_at => nil) | |
class_eval do | |
class << self | |
alias_method :with_deleted, :unscoped |
require 'carrierwave/processing/mini_magick' | |
class ImageUploader < CarrierWave::Uploader::Base | |
include CarrierWave::MiniMagick | |
IMAGE_EXTENSIONS = %w(jpg jpeg gif png) | |
DOCUMENT_EXTENSIONS = %w(exe pdf doc docm xls) | |
def store_dir | |
"files/#{model.id}" |
# Install the MongoDB gem | |
%w{ mongo bson_ext }.each do |mongo_gem| | |
gem_install = gem_package mongo_gem do | |
action :nothing | |
end | |
gem_install.run_action(:install) | |
end | |
Gem.clear_paths | |
require 'mongo' |