mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
426 lines
11 KiB
TypeScript
426 lines
11 KiB
TypeScript
// This configuration is only used for unit tests, end-to-end tests use environment.production.ts
|
|
import { BuildConfig } from 'src/config/build-config.interface';
|
|
|
|
import { RestRequestMethod } from '../app/core/data/rest-request-method';
|
|
import { NotificationAnimationsType } from '../app/shared/notifications/models/notification-animations-type';
|
|
|
|
export const environment: BuildConfig = {
|
|
production: false,
|
|
|
|
// Angular SSR (Server Side Rendering) settings
|
|
ssr: {
|
|
enabled: true,
|
|
enablePerformanceProfiler: false,
|
|
inlineCriticalCss: false,
|
|
},
|
|
|
|
// Angular express server settings.
|
|
ui: {
|
|
ssl: false,
|
|
host: 'dspace.com',
|
|
port: 80,
|
|
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
|
nameSpace: '/angular-dspace',
|
|
baseUrl: 'http://dspace.com/angular-dspace',
|
|
// The rateLimiter settings limit each IP to a 'max' of 500 requests per 'windowMs' (1 minute).
|
|
rateLimiter: {
|
|
windowMs: 1 * 60 * 1000, // 1 minute
|
|
max: 500, // limit each IP to 500 requests per windowMs
|
|
},
|
|
useProxies: true,
|
|
},
|
|
|
|
// The REST API server settings.
|
|
rest: {
|
|
ssl: true,
|
|
host: 'rest.com',
|
|
port: 443,
|
|
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
|
nameSpace: '/api',
|
|
baseUrl: 'https://rest.com/api',
|
|
},
|
|
|
|
actuators: {
|
|
endpointPath: '/actuator/health',
|
|
},
|
|
|
|
// Caching settings
|
|
cache: {
|
|
// NOTE: how long should objects be cached for by default
|
|
msToLive: {
|
|
default: 15 * 60 * 1000, // 15 minutes
|
|
},
|
|
// msToLive: 1000, // 15 minutes
|
|
control: 'max-age=60',
|
|
autoSync: {
|
|
defaultTime: 0,
|
|
maxBufferSize: 100,
|
|
timePerMethod: { [RestRequestMethod.PATCH]: 3 } as any, // time in seconds
|
|
},
|
|
// In-memory cache of server-side rendered pages. Disabled in test environment (max=0)
|
|
serverSide: {
|
|
debug: false,
|
|
headers: ['Link'],
|
|
botCache: {
|
|
max: 0,
|
|
timeToLive: 24 * 60 * 60 * 1000, // 1 day
|
|
allowStale: true,
|
|
},
|
|
anonymousCache: {
|
|
max: 0,
|
|
timeToLive: 10 * 1000, // 10 seconds
|
|
allowStale: true,
|
|
},
|
|
},
|
|
},
|
|
|
|
// Authentication settings
|
|
auth: {
|
|
// Authentication UI settings
|
|
ui: {
|
|
// the amount of time before the idle warning is shown
|
|
timeUntilIdle: 20000,
|
|
|
|
// the amount of time the user has to react after the idle warning is shown before they are logged out.
|
|
idleGracePeriod: 20000, // 20 sec
|
|
},
|
|
// Authentication REST settings
|
|
rest: {
|
|
// If the rest token expires in less than this amount of time, it will be refreshed automatically.
|
|
// This is independent from the idle warning.
|
|
timeLeftBeforeTokenRefresh: 20000, // 20 sec
|
|
},
|
|
},
|
|
|
|
// Form settings
|
|
form: {
|
|
spellCheck: true,
|
|
// NOTE: Map server-side validators to comparative Angular form validators
|
|
validatorMap: {
|
|
required: 'required',
|
|
regex: 'pattern',
|
|
},
|
|
},
|
|
|
|
// Notifications
|
|
notifications: {
|
|
rtl: false,
|
|
position: ['top', 'right'],
|
|
maxStack: 8,
|
|
// NOTE: after how many seconds notification is closed automatically. If set to zero notifications are not closed automatically
|
|
timeOut: 5000,
|
|
clickToClose: true,
|
|
// NOTE: 'fade' | 'fromTop' | 'fromRight' | 'fromBottom' | 'fromLeft' | 'rotate' | 'scale'
|
|
animate: NotificationAnimationsType.Scale,
|
|
},
|
|
|
|
// Submission settings
|
|
submission: {
|
|
autosave: {
|
|
// NOTE: which metadata trigger an autosave
|
|
metadata: ['dc.title', 'dc.identifier.doi', 'dc.identifier.pmid', 'dc.identifier.arxiv'],
|
|
// NOTE: every how many minutes submission is saved automatically
|
|
timer: 5,
|
|
},
|
|
duplicateDetection: {
|
|
alwaysShowSection: false,
|
|
},
|
|
typeBind: {
|
|
field: 'dc.type',
|
|
},
|
|
icons: {
|
|
metadata: [
|
|
{
|
|
name: 'mainField',
|
|
style: 'fas fa-user',
|
|
},
|
|
{
|
|
name: 'relatedField',
|
|
style: 'fas fa-university',
|
|
},
|
|
{
|
|
name: 'otherRelatedField',
|
|
style: 'fas fa-circle',
|
|
},
|
|
{
|
|
name: 'default',
|
|
style: '',
|
|
},
|
|
],
|
|
authority: {
|
|
confidence: [
|
|
{
|
|
value: 600,
|
|
style: 'text-success',
|
|
icon: 'fa-circle-check',
|
|
},
|
|
{
|
|
value: 500,
|
|
style: 'text-info',
|
|
icon: 'fa-gear',
|
|
},
|
|
{
|
|
value: 400,
|
|
style: 'text-warning',
|
|
icon: 'fa-circle-question',
|
|
},
|
|
{
|
|
value: 'default',
|
|
style: 'text-muted',
|
|
icon: 'fa-circle-xmark',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
},
|
|
|
|
// NOTE: will log all redux actions and transfers in console
|
|
debug: false,
|
|
|
|
// Default Language in which the UI will be rendered if the user's browser language is not an active language
|
|
defaultLanguage: 'en',
|
|
|
|
// Languages. DSpace Angular holds a message catalog for each of the following languages.
|
|
// When set to active, users will be able to switch to the use of this language in the user interface.
|
|
languages: [{
|
|
code: 'en',
|
|
label: 'English',
|
|
active: true,
|
|
}, {
|
|
code: 'de',
|
|
label: 'Deutsch',
|
|
active: true,
|
|
}, {
|
|
code: 'cs',
|
|
label: 'Čeština',
|
|
active: true,
|
|
}, {
|
|
code: 'nl',
|
|
label: 'Nederlands',
|
|
active: true,
|
|
}, {
|
|
code: 'pt',
|
|
label: 'Português',
|
|
active: true,
|
|
}, {
|
|
code: 'fr',
|
|
label: 'Français',
|
|
active: true,
|
|
}, {
|
|
code: 'lv',
|
|
label: 'Latviešu',
|
|
active: true,
|
|
}, {
|
|
code: 'bn',
|
|
label: 'বাংলা',
|
|
active: true,
|
|
}, {
|
|
code: 'el',
|
|
label: 'Ελληνικά',
|
|
active: true,
|
|
}, {
|
|
code: 'disabled',
|
|
label: 'Disabled',
|
|
active: false,
|
|
}],
|
|
|
|
// Browse-By Pages
|
|
browseBy: {
|
|
// Amount of years to display using jumps of one year (current year - oneYearLimit)
|
|
oneYearLimit: 10,
|
|
// Limit for years to display using jumps of five years (current year - fiveYearLimit)
|
|
fiveYearLimit: 30,
|
|
// The absolute lowest year to display in the dropdown (only used when no lowest date can be found for all items)
|
|
defaultLowerLimit: 1900,
|
|
// Whether to add item thumbnail images to BOTH browse and search result lists.
|
|
showThumbnails: true,
|
|
// The number of entries in a paginated browse results list.
|
|
// Rounded to the nearest size in the list of selectable sizes on the
|
|
// settings menu. See pageSizeOptions in 'pagination-component-options.model.ts'.
|
|
pageSize: 20,
|
|
},
|
|
communityList: {
|
|
pageSize: 20,
|
|
},
|
|
homePage: {
|
|
recentSubmissions: {
|
|
pageSize: 5,
|
|
//sort record of recent submission
|
|
sortField: 'dc.date.accessioned',
|
|
},
|
|
topLevelCommunityList: {
|
|
pageSize: 5,
|
|
},
|
|
showDiscoverFilters: false,
|
|
},
|
|
item: {
|
|
edit: {
|
|
undoTimeout: 10000, // 10 seconds
|
|
},
|
|
// Show the item access status label in items lists
|
|
showAccessStatuses: false,
|
|
bitstream: {
|
|
// Number of entries in the bitstream list in the item view page.
|
|
// Rounded to the nearest size in the list of selectable sizes on the
|
|
// settings menu. See pageSizeOptions in 'pagination-component-options.model.ts'.
|
|
pageSize: 5,
|
|
},
|
|
},
|
|
community: {
|
|
searchSection: {
|
|
showSidebar: true,
|
|
},
|
|
},
|
|
collection: {
|
|
searchSection: {
|
|
showSidebar: true,
|
|
},
|
|
edit: {
|
|
undoTimeout: 10000, // 10 seconds
|
|
},
|
|
},
|
|
themes: [
|
|
{
|
|
name: 'full-item-page-theme',
|
|
regex: 'items/aa6c6c83-3a83-4953-95d1-2bc2e67854d2/full',
|
|
},
|
|
{
|
|
name: 'error-theme',
|
|
regex: 'collections/aaaa.*',
|
|
},
|
|
{
|
|
name: 'handle-theme',
|
|
handle: '10673/1233',
|
|
},
|
|
{
|
|
name: 'regex-theme',
|
|
regex: 'collections\/e8043bc2.*',
|
|
},
|
|
{
|
|
name: 'uuid-theme',
|
|
uuid: '0958c910-2037-42a9-81c7-dca80e3892b4',
|
|
},
|
|
{
|
|
name: 'base',
|
|
},
|
|
],
|
|
bundle: {
|
|
standardBundles: ['ORIGINAL', 'THUMBNAIL', 'LICENSE'],
|
|
},
|
|
mediaViewer: {
|
|
image: true,
|
|
video: true,
|
|
},
|
|
info: {
|
|
enableEndUserAgreement: true,
|
|
enablePrivacyStatement: true,
|
|
enableCOARNotifySupport: true,
|
|
},
|
|
markdown: {
|
|
enabled: false,
|
|
mathjax: false,
|
|
},
|
|
comcolSelectionSort: {
|
|
sortField:'dc.title',
|
|
sortDirection:'ASC',
|
|
},
|
|
qualityAssuranceConfig: {
|
|
sourceUrlMapForProjectSearch: {
|
|
openaire: 'https://explore.openaire.eu/search/project?projectId=',
|
|
},
|
|
pageSize: 5,
|
|
},
|
|
|
|
vocabularies: [
|
|
{
|
|
filter: 'subject',
|
|
vocabulary: 'srsc',
|
|
enabled: true,
|
|
},
|
|
],
|
|
|
|
suggestion: [],
|
|
|
|
search: {
|
|
advancedFilters: {
|
|
enabled: false,
|
|
filter: ['title', 'author', 'subject', 'entityType'],
|
|
},
|
|
},
|
|
|
|
notifyMetrics: [
|
|
{
|
|
title: 'admin-notify-dashboard.received-ldn',
|
|
boxes: [
|
|
{
|
|
color: '#B8DAFF',
|
|
title: 'admin-notify-dashboard.NOTIFY.incoming.accepted',
|
|
config: 'NOTIFY.incoming.accepted',
|
|
description: 'admin-notify-dashboard.NOTIFY.incoming.accepted.description',
|
|
},
|
|
{
|
|
color: '#D4EDDA',
|
|
title: 'admin-notify-dashboard.NOTIFY.incoming.processed',
|
|
config: 'NOTIFY.incoming.processed',
|
|
description: 'admin-notify-dashboard.NOTIFY.incoming.processed.description',
|
|
},
|
|
{
|
|
color: '#FDBBC7',
|
|
title: 'admin-notify-dashboard.NOTIFY.incoming.failure',
|
|
config: 'NOTIFY.incoming.failure',
|
|
description: 'admin-notify-dashboard.NOTIFY.incoming.failure.description',
|
|
},
|
|
{
|
|
color: '#FDBBC7',
|
|
title: 'admin-notify-dashboard.NOTIFY.incoming.untrusted',
|
|
config: 'NOTIFY.incoming.untrusted',
|
|
description: 'admin-notify-dashboard.NOTIFY.incoming.untrusted.description',
|
|
},
|
|
{
|
|
color: '#43515F',
|
|
title: 'admin-notify-dashboard.NOTIFY.incoming.involvedItems',
|
|
textColor: '#fff',
|
|
config: 'NOTIFY.incoming.involvedItems',
|
|
description: 'admin-notify-dashboard.NOTIFY.incoming.involvedItems.description',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
title: 'admin-notify-dashboard.generated-ldn',
|
|
boxes: [
|
|
{
|
|
color: '#D4EDDA',
|
|
title: 'admin-notify-dashboard.NOTIFY.outgoing.delivered',
|
|
config: 'NOTIFY.outgoing.delivered',
|
|
description: 'admin-notify-dashboard.NOTIFY.outgoing.delivered.description',
|
|
},
|
|
{
|
|
color: '#B8DAFF',
|
|
title: 'admin-notify-dashboard.NOTIFY.outgoing.queued',
|
|
config: 'NOTIFY.outgoing.queued',
|
|
description: 'admin-notify-dashboard.NOTIFY.outgoing.queued.description',
|
|
},
|
|
{
|
|
color: '#FDEEBB',
|
|
title: 'admin-notify-dashboard.NOTIFY.outgoing.queued_for_retry',
|
|
config: 'NOTIFY.outgoing.queued_for_retry',
|
|
description: 'admin-notify-dashboard.NOTIFY.outgoing.queued_for_retry.description',
|
|
},
|
|
{
|
|
color: '#FDBBC7',
|
|
title: 'admin-notify-dashboard.NOTIFY.outgoing.failure',
|
|
config: 'NOTIFY.outgoing.failure',
|
|
description: 'admin-notify-dashboard.NOTIFY.outgoing.failure.description',
|
|
},
|
|
{
|
|
color: '#43515F',
|
|
title: 'admin-notify-dashboard.NOTIFY.outgoing.involvedItems',
|
|
textColor: '#fff',
|
|
config: 'NOTIFY.outgoing.involvedItems',
|
|
description: 'admin-notify-dashboard.NOTIFY.outgoing.involvedItems.description',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|