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
- Fetch the corresponding work from the controller
CitationExportsController
(app/controllers/ubiquity/citation_exports_controller.rb) and process the fetched record to render in RIF fromat. - A Controller Concern is added to handle the processing of data in Rif format (
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
{
'T1' => :title, 'T2' => %i[book_title alt_title], 'CR' => :creator, 'ED' => :editor, 'AB' => :abstract,
'DA' => :date_published, 'DO' => :doi, 'JO' => :journal_title, 'LA' => :language, 'N1' => :add_info,
'KW' => :keyword, 'IS' => :issue, 'PB' => :publisher, 'PP' => :place_of_publication, 'PY' => :date_published,
'SN' => %i[isbn issn eissn], 'SP' => %i[pagination article_num], 'UR' => :official_link, 'VL' => :volume
}
We will iterate the above hash and for each codes we call the corresponding field using the fetched record to generate the RIF Template.