#---------------------------------------------------------------# #--------------------REST CONFIGURATIONS------------------------# #---------------------------------------------------------------# # These configs are used by the RESTv7 module # #---------------------------------------------------------------# # Allowed Cross-Origin-Resource-Sharing (CORS) origins (in "Access-Control-Allow-Origin" header). # Only these origins (client URLs) can successfully authenticate with your REST API. # Defaults to ${dspace.ui.url} if unspecified (as the UI must have access to the REST API). # Multiple allowed origin URLs may be comma separated. Wildcard value (*) is NOT SUPPORTED. # (Requires reboot of servlet container, e.g. Tomcat, to reload) rest.cors.allowed-origins = ${dspace.ui.url} # Whether or not to allow credentials (e.g. cookies) sent by the client/browser in CORS # requests (in "Access-Control-Allow-Credentials" header). # For DSpace, we default this to "true" to support external authentication via Shibboleth (and similar). # However, if any of the "allowed-origins" above are *not* trusted, you may choose to set this to "false" # for additional security. Defaults to "true" if unspecified. # (Requires reboot of servlet container, e.g. Tomcat, to reload) rest.cors.allow-credentials = true # This property determines the max embeddepth for a FullProjection. This is also used by the SpecificLevelProjection # as a fallback in case the property is defined on the bean rest.projections.full.max = 2 # This property determines the max embed depth for a SpecificLevelProjection rest.projection.specificLevel.maxEmbed = 5 # This property determines the max amount of rest operations that can be performed at the same time, for example when # batch removing bitstreams. The default value is set to 1000. rest.patch.operations.limit = 1000 # Define which configuration properties are exposed through the http:///api/config/properties/ # rest endpoint. If a rest request is made for a property which exists, but isn't listed here, the server will # respond that the property wasn't found. This property can be defined multiple times to allow access to multiple # configuration properties. # (Requires reboot of servlet container, e.g. Tomcat, to reload) rest.properties.exposed = plugin.named.org.dspace.curate.CurationTask rest.properties.exposed = google.analytics.key rest.properties.exposed = websvc.opensearch.enable rest.properties.exposed = versioning.item.history.include.submitter rest.properties.exposed = researcher-profile.entity-type rest.properties.exposed = orcid.application-client-id rest.properties.exposed = orcid.authorize-url rest.properties.exposed = orcid.scope rest.properties.exposed = orcid.disconnection.allowed-users rest.properties.exposed = registration.verification.enabled rest.properties.exposed = websvc.opensearch.svccontext rest.properties.exposed = submit.type-bind.field rest.properties.exposed = google.recaptcha.key.site rest.properties.exposed = google.recaptcha.version rest.properties.exposed = google.recaptcha.mode rest.properties.exposed = cc.license.jurisdiction rest.properties.exposed = identifiers.item-status.register-doi rest.properties.exposed = authentication-password.domain.valid rest.properties.exposed = coar-notify.enabled rest.properties.exposed = ldn.notify.inbox #---------------------------------------------------------------# # These configs are used by the deprecated REST (v4-6) module # #---------------------------------------------------------------# # record stats in DSpace statistics module rest.stats = true #------------------------------------------------------------------# # REST API Reporting Tools # #------------------------------------------------------------------# # TODO: Currently only supported by deprecated REST (v4-6) module # This project is intended as an optional add-on to DSpace to provide # Quality Control Reporting for Collection Managers. # # See https://github.com/DSpace-Labs/DSpace-REST-Reports # # These reports utilize the DSpace REST API to provide a Collection # Manager with # - an overview of their collections # - a tool to query metadata for consistency # # When deploying the DSpace REST API, and institution may choose to # make the API publicly accessible or to restrict access to the API. # If these reports are deployed in a protected manner, the reporting # tools can be configured to bypass DSpace authorization when # reporting on collections and items. ##### Configure the report pages that can be requested by name ##### # Create a map of named reports that are available to a report tool user # Each map entry should be prefixed with rest-report-url # The map key is a name for a report # The map value is a URL to a report page # A list of available reports will be available with the call /rest/reports. # If a request is sent to /rest/reports/[report key], the request will be re-directed to the specified URL # # This project currently contains 2 sample reports. Eventually, additional reports could be introduced through this mechanism. rest.report-url.collections = static/reports/index.html rest.report-url.item-query = static/reports/query.html #rest.report-url.custom = ##### database specific way to format a regex SQL clause ##### # The REST Report Tools may pass a regular expression test to the database. # The following configuration setting will construct a SQL regular expression test appropriate to your database engine rest.regex-clause = text_value ~ ? ##### Configure REST Report Filters ##### # A filter contains a set of tests that will be applied to an item to determine its inclusion in a particular report. # Private items and withdrawn items are frequently excluded from DSpace reports. # Additional filters can be configured to examine other item properties. # For instance, items containing an image bitstream often have different requirements from a item containing a PDF. # The DSpace REST reports come with a variety of filters that examine item properties, item bitstream properties, # and item authorization policies. The existing filters can be used as an example to construct institution specific filters # that will test conformity to a set of institutional policies. # plugin.sequence.org.dspace.rest.filter points to a list of classes that contain available filters. # Each class must implement the ItemFilterList interface. # ItemFilterDefs: Filters that examine simple item and bitstream type properties # ItemFilterDefsMisc: Filters that examine bitstream mime types and dependencies between bitstreams # ItemFilterDefsMeta: Filters that examine metadata properties # ItemFilterDefsPerm: Filters that examine item and bitstream authorization policies plugin.sequence.org.dspace.rest.filter.ItemFilterList = \ org.dspace.rest.filter.ItemFilterDefs,\ org.dspace.rest.filter.ItemFilterDefsMisc,\ org.dspace.rest.filter.ItemFilterDefsPerm # org.dspace.rest.filter.ItemFilterDefsMeta,\ ##### Configuration Settings used by REST Report Filters ##### # Define the set of supported bitstream bundle names for your repository as a comma separated list rest.report-supp-bundles = ORIGINAL,THUMBNAIL,TEXT,LICENSE # Define the bitstream mime types that will be interpreted as a "document". # Generally, a "document" should be expected to be searchable and to have a TEXT bitstream. An institution may expect document types to # have a thumbnail. rest.report-mime-document = text/plain,application/pdf,text/html,application/msword,text/xml,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet # Define the standard/preferred bitstream mime types for document items for your repository # This setting allows the reporting tools to report on "supported" and "unsupported" document types. rest.report-mime-document-supported = application/pdf # Define the standard/preferred bitstream mime types for image items for your repository # This setting allows the reporting tools to report on "supported" and "unsupported" image types. rest.report-mime-document-image = image/jpeg,image/jp2 # Minimum size for a supported PDF in the repository # PDF bitstreams smaller than this size will be highlighted in a report. # PDF files smaller than this size are potentially corrupt. rest.report-pdf-min-size = 20000 # Maximum size for a typical PDF in the repository # PDF bitstreams larger than this size will be highlighted in a report. # PDF files larger than this size may be slow to retrieve. rest.report-pdf-max-size = 25000000 # Minimum size for a thumbnail - could indicate a corrupted original # Thumbnail bitstreams smaller than this size will be highlighted in a report. # Thumbnail files smaller than this size are potentially corrupt. rest.report-thumbnail-min-size = 400 # Bitstream descriptor to identify generated thumbnails # The ImageMagick Thumbnail generator tags the thumbnails it has created with a standard description. # This description identifies thumbnails that can safely be re-generated. rest.report-gen-thumbnail-desc = Generated Thumbnail #### Metadata Filtering by Regular Expression ##### # Used by org.dspace.rest.filter.ItemFilterDefsMeta # This class filters items based on metadata properties. # These filters are useful for filtering a small set of items. These filters will be inefficient as a query tool. # regex to detect compound subjects - detect subject terms that should be split into individual terms rest.report-regex-compound-subject = .*;.* # regex to detect compound authors - detect author/creator names taht should be split into individual fields rest.report-regex-compound-author = .* and .* # regex to detect unbreaking metadata - detect long unbreaking text that may not render properly on a page # Be sure to escape commas to prevent Apache Config from breaking regex into array values rest.report-regex-unbreaking = ^.*[^ ]{50\,50}.*$ # regex to detect url in description - detect description fields that contain URL's rest.report-regex-url = ^.*(http://|https://|mailto:).*$ # regex to identify full text content from the provenance field # This test has been used to identfiy "full-text" content when harvesting DSpace content by Summon rest.report-regex-fulltext = ^.*No\\. of bitstreams(.|\\r|\\n|\\r\\n)*\\.(PDF|pdf|DOC|doc|PPT|ppt|DOCX|docx|PPTX|pptx).*$ # regex to identify very long metadata fields that may be slow to render # Be sure to escape commas to prevent Apache Config from breaking regex into array values rest.report-regex-long = ^[\\s\\S]{6000\,}$ # regex to identify partial XML entities within a description field (a frequent problem found in ProQuest ETD's) rest.report-regex-xml-entity = ^.*&#.*$ # regex to identify non ascii characters in metadata rest.report-regex-non-ascii = ^.*[^\\p{ASCII}].*$ # The maximum number of results to return for 1 request rest.search.max.results = 100