Tutorial
Info |
---|
title | DSpace REST Report Tool Tutorial |
---|
|
The following repository contains a tutorial demonstrating the usage of the REST Base Report Tools: https://github.com/terrywbrady/restReportTutorial/blob/master/README.md |
Summary
These reports utilize the DSpace REST API to provide a Collection Manager with
...
- Install sortable.js http://www.kryogenix.org/code/browser/sorttable/
- Add to /dspace/modules/rest/src/main/webapp/static/reports
Include sortable.js in index.html and query.html
Code Block |
---|
language | xml |
---|
title | Uncomment the following in index.html and query.html |
---|
|
<!-- <script src="sorttable.js"></script> --> |
Enable sortable in the report code in restCollReport.js and restQueryReport.js
Code Block |
---|
|
var CollReport = function() {
Report.call(this);
//If sortable.js is included, uncomment the following
//this.hasSorttable = function(){return true;}
var QueryReport = function() {
Report.call(this);
//If sortable.js is included, uncomment the following
//this.hasSorttable = function(){return true;} |
Code Block |
---|
|
var CollReport = function() {
Report.call(this);
//If sortable.js is included, uncomment the following
this.hasSorttable = function(){return true;}
var QueryReport = function() {
Report.call(this);
//If sortable.js is included, uncomment the following
this.hasSorttable = function(){return true;} |
Troubleshooting
Normalizing Metadata Language Field for Bulk Edit
The report tools allow a user to export query results as a CSV file that can be input with the Batch Metadata Editing tool.
If your repository has *unintentionally* tagged metadata fields with language codes, you may need want to normalize the language values in use.
Non-normalized View
Code Block |
---|
language | text |
---|
title | Inconsistent use of language code |
---|
|
id,collection,subject[en],subject[en_us],subject[en_US]
111-222-333,123456789/1,cat,,
111-222-333,123456789/2,,dog,
111-222-333,123456789/3,,,bird |
Normalized View
Code Block |
---|
language | text |
---|
title | Consistent use of language code |
---|
|
id,collection,subject[en]
111-222-333,123456789/1,cat
111-222-333,123456789/2,dog
111-222-333,123456789/3,bird |
The report tools contain a function that can be overridden to explicitly set a default language. Use this with caution in a multi lingual DSpace deployment.
Code Block |
---|
title | Set language code on export |
---|
|
this.getLangSuffix = function(){
return "[en]";
} |
The following SQL might be helpful in this instance.
Code Block |
---|
title | Sample SQL to Normalize Language - Use with Caution |
---|
|
update metadatavalue set text_lang='en'
where text_lang is null and dspace_object_id in (select uuid from item);
update metadatavalue set text_lang='en'
where text_lang in ('','en_US', 'en-US','en_us')
and dspace_object_id in (select uuid from item); |
Installing in DSpace 5
This feature is not a part of the DSpace 5 code base. Please see the following notes to enable a DSpace 5 compatible version of these reports.
Install Install https://github.com/DSpace/DSpace/pull/1062
This code also exists at https://github.com/Georgetown-University-Libraries/DSpace/tree/rest-reports-for-5_x (https://github.com/DSpace/DSpace/pull/1532)1568
Change the following code into restCollReport.js and restQuery.js to pull the correct id for each DSpace Object
Code Block |
---|
language | js |
---|
title | Change the following in restCollReport.js and restQuery.js |
---|
|
var CollReport = function() {
Report.call(this);
var QueryReport = function() {
Report.call(this); |
Code Block |
---|
|
var CollReport = function() {
Report.call(this);
this.getId = function(obj) {return obj.id;}
var QueryReport = function() {
Report.call(this);
this.getId = function(obj) {return obj.id;} |