1
0

Merge remote-tracking branch 'dspaceMain/main' into issue-815-controlled-vocabulary-hierarchical-facets-7.2

# Conflicts:
#	src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.spec.ts
#	src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.ts
#	src/app/shared/vocabulary-treeview/vocabulary-treeview.component.ts
#	src/assets/i18n/en.json5
#	src/config/app-config.interface.ts
#	src/config/default-app-config.ts
#	src/environments/environment.test.ts
This commit is contained in:
Jens Vannerum
2022-12-02 10:45:11 +01:00
1674 changed files with 96623 additions and 41197 deletions

View File

@@ -6,7 +6,7 @@ import { BrowseByConfig } from './browse-by-config.interface';
import { CacheConfig } from './cache-config.interface';
import { CollectionPageConfig } from './collection-page-config.interface';
import { FormConfig } from './form-config.interfaces';
import { ItemPageConfig } from './item-page-config.interface';
import { ItemConfig } from './item-config.interface';
import { LangConfig } from './lang-config.interface';
import { MediaViewerConfig } from './media-viewer-config.interface';
import { INotificationBoardOptions } from './notifications-config.interfaces';
@@ -14,19 +14,17 @@ import { ServerConfig } from './server-config.interface';
import { SubmissionConfig } from './submission-config.interface';
import { ThemeConfig } from './theme.model';
import { UIServerConfig } from './ui-server-config.interface';
import { UniversalConfig } from './universal-config.interface';
import { BundleConfig } from './bundle-config.interface';
import { ActuatorsConfig } from './actuators.config';
import { InfoConfig } from './info-config.interface';
import { CommunityListConfig } from './community-list-config.interface';
import { HomeConfig } from './homepage-config.interface';
import { MarkdownConfig } from './markdown-config.interface';
import { FilterVocabularyConfig } from './FilterVocabularyConfig';
export class DefaultAppConfig implements AppConfig {
production = false;
// Angular Universal settings
universal: UniversalConfig = {
preboot: true,
async: true,
time: false
};
// NOTE: will log all redux actions and transfers in console
debug = false;
@@ -43,7 +41,10 @@ export class DefaultAppConfig implements AppConfig {
rateLimiter: {
windowMs: 1 * 60 * 1000, // 1 minute
max: 500 // limit each IP to 500 requests per windowMs
}
},
// Trust X-FORWARDED-* headers from proxies
useProxies: true,
};
// The REST API server settings
@@ -56,6 +57,10 @@ export class DefaultAppConfig implements AppConfig {
nameSpace: '/',
};
actuators: ActuatorsConfig = {
endpointPath: '/actuator/health'
};
// Caching settings
cache: CacheConfig = {
// NOTE: how long should objects be cached for by default
@@ -119,6 +124,9 @@ export class DefaultAppConfig implements AppConfig {
*/
timer: 0
},
typeBind: {
field: 'dc.type'
},
icons: {
metadata: [
/**
@@ -191,7 +199,13 @@ export class DefaultAppConfig implements AppConfig {
{ code: 'nl', label: 'Nederlands', active: true },
{ code: 'pt-PT', label: 'Português', active: true },
{ code: 'pt-BR', label: 'Português do Brasil', active: true },
{ code: 'fi', label: 'Suomi', active: true }
{ code: 'fi', label: 'Suomi', active: true },
{ code: 'sv', label: 'Svenska', active: true },
{ code: 'tr', label: 'Türkçe', active: true },
{ code: 'kk', label: 'Қазақ', active: true },
{ code: 'bn', label: 'বাংলা', active: true },
{ code: 'hi', label: 'हिंदी', active: true},
{ code: 'el', label: 'Ελληνικά', active: true }
];
// Browse-By Pages
@@ -201,14 +215,38 @@ export class DefaultAppConfig implements AppConfig {
// 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
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
};
// Item Page Config
item: ItemPageConfig = {
communityList: CommunityListConfig = {
pageSize: 20
};
homePage: HomeConfig = {
recentSubmissions: {
//The number of item showing in recent submission components
pageSize: 5,
//sort record of recent submission
sortField: 'dc.date.accessioned',
},
topLevelCommunityList: {
pageSize: 5
}
};
// Item Config
item: ItemConfig = {
edit: {
undoTimeout: 10000 // 10 seconds
}
},
// Show the item access status label in items lists
showAccessStatuses: false
};
// Collection Page Config
@@ -308,6 +346,11 @@ export class DefaultAppConfig implements AppConfig {
]
},
];
// The default bundles that should always be displayed when you edit or add a bundle even when no bundle has been
// added to the item yet.
bundle: BundleConfig = {
standardBundles: ['ORIGINAL', 'THUMBNAIL', 'LICENSE']
};
// Whether to enable media viewer for image and/or video Bitstreams (i.e. Bitstreams whose MIME type starts with "image" or "video").
// For images, this enables a gallery viewer where you can zoom or page through images.
// For videos, this enables embedded video streaming
@@ -315,6 +358,25 @@ export class DefaultAppConfig implements AppConfig {
image: false,
video: false
};
// Whether the end-user-agreement and privacy policy feature should be enabled or not.
// Disabling the end user agreement feature will result in:
// - Users no longer being forced to accept the end-user-agreement before they can access the repository
// - A 404 page if you manually try to navigate to the end-user-agreement page at info/end-user-agreement
// - All end-user-agreement related links and pages will be removed from the UI (e.g. in the footer)
// Disabling the privacy policy feature will result in:
// - A 404 page if you manually try to navigate to the privacy policy page at info/privacy
// - All mentions of the privacy policy being removed from the UI (e.g. in the footer)
info: InfoConfig = {
enableEndUserAgreement: true,
enablePrivacyStatement: true
};
// Whether to enable Markdown (https://commonmark.org/) and MathJax (https://www.mathjax.org/)
// display in supported metadata fields. By default, only dc.description.abstract is supported.
markdown: MarkdownConfig = {
enabled: false,
mathjax: false,
};
vocabularies: FilterVocabularyConfig[] = [
{