diff --git a/config/config.example.yml b/config/config.example.yml index 8c2ab389807..652fd16c686 100644 --- a/config/config.example.yml +++ b/config/config.example.yml @@ -29,7 +29,7 @@ universal: # 'synced' with the 'dspace.server.url' setting in your backend's local.cfg. rest: ssl: true - host: demo.dspace.org + host: dspacecris7.4science.cloud port: 443 # NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript nameSpace: /server @@ -82,7 +82,7 @@ cache: anonymousCache: # Maximum number of pages to cache. Default is zero (0) which means anonymous user cache is disabled. # As all pages are cached in server memory, increasing this value will increase memory needs. - # Individual cached pages are usually small (<100KB), so a value of max=1000 would only require ~100MB of memory. + # Individual cached pages are usually small (<100KB), so a value of max=1000 would only require ~100MB of memory. max: 0 # Amount of time after which cached pages are considered stale (in ms). After becoming stale, the cached # copy is automatically refreshed on the next request. @@ -134,10 +134,10 @@ notifications: submission: autosave: # NOTE: which metadata trigger an autosave - metadata: [] + metadata: ['dc.title', 'dc.identifier.doi', 'dc.identifier.pmid', 'dc.identifier.arxiv', 'dc.identifier.patentno', 'dc.identifier.scopus', 'dc.identifier.isi', 'dcterms.dateSubmitted', 'dc.identifier.applicationnumber'] # NOTE: after how many time (milliseconds) submission is saved automatically # eg. timer: 5 * (1000 * 60); // 5 minutes - timer: 0 + timer: 300000 icons: metadata: # NOTE: example of configuration @@ -146,7 +146,17 @@ submission: # # NOTE: fontawesome (v5.x) icon classes and bootstrap utility classes can be used # style: fas fa-user - name: dc.author - style: fas fa-user + style: "fas fa-user" + - name: dc.contributor.author + style: "fas fa-user" + - name: dc.contributor.editor + style: "fas fa-user" + - name: oairecerif.author.affiliation + style: "fas fa-university" + - name: oairecerif.editor.affiliation + style: "fas fa-university" + - name: dc.relation.grantno + style: "fas fa-info-circle" # default configuration - name: default style: '' @@ -160,12 +170,23 @@ submission: - value: 600 style: text-success - value: 500 - style: text-info - - value: 400 style: text-warning + - value: 400 + style: text-danger + - value: 300 + style: text-dark + - value: 200 + style: text-dark + - value: 100 + style: text-dark # default configuration - value: default style: text-muted + detectDuplicate: + # NOTE: list of additional item metadata to show for duplicate match presentation list + metadataDetailsList: + - label: 'Document type' + name: dc.type # Default Language in which the UI will be rendered if the user's browser language is not an active language defaultLanguage: en @@ -218,6 +239,9 @@ languages: - code: kk label: Қазақ active: true + - code: it + label: Italiano + active: true - code: lv label: Latviešu active: true @@ -261,8 +285,12 @@ browseBy: 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 badges to BOTH browse and search result lists. + showLabels: true # If true, thumbnail images for items will be added to BOTH search and browse result lists. showThumbnails: true + # Whether to add item thumbnail images to BOTH browse and search result lists. + showMetrics: false # 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. @@ -294,6 +322,19 @@ item: # 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 + # The maximum number of metadata values to add to the metatag list of the item page + metatagLimit: 20 + # The maximum number of values for repeatable metadata to show in the full item + metadataLimit: 20 + +# When the search results are retrieved, for each item type the metadata with a valid authority value are inspected. +# Referenced items will be fetched with a find all by id strategy to avoid individual rest requests +# to efficiently display the search results. +followAuthorityMetadata: + - type: Publication + metadata: dc.contributor.author + - type: Product + metadata: dc.contributor.author # Collection Page Config collection: @@ -359,6 +400,10 @@ themes: attributes: rel: manifest href: assets/dspace/images/favicons/manifest.webmanifest + - tagName: link + attributes: + rel: stylesheet + href: "https://fonts.googleapis.com/icon?family=Material+Icons" # The default bundles that should always be displayed as suggestions when you upload a new bundle bundle: @@ -392,7 +437,87 @@ vocabularies: vocabulary: 'srsc' enabled: true -# Default collection/community sorting order at Advanced search, Create/update community and collection when there are not a query. +# Default collection/community sorting order at Advanced search, Create/update community and collection when there are not a query. comcolSelectionSort: sortField: 'dc.title' sortDirection: 'ASC' + +crisLayout: + urn: + - name: doi + baseUrl: "https://doi.org/" + - name: hdl + baseUrl: "https://hdl.handle.net/" + - name: scopus + baseUrl: "https://www.scopus.com/authid/detail.uri?authorId=" + - name: researcherid + baseUrl: "http://www.researcherid.com/rid/" + - name: mailto + baseUrl: "mailto:" + crisRef: + - entityType: PRIVATE + entityStyle: + "dc.contributor.author": + icon: fa fa-user + style: text-muted + - entityType: DEFAULT + entityStyle: + default: + icon: fa fa-user + style: text-info + - entityType: PERSON + entityStyle: + person: + icon: fa fa-user + style: text-success + personStaff: + icon: fa fa-user + style: text-danger + default: + icon: fa fa-user + style: text-info + - entityType: ORGUNIT + entityStyle: + default: + icon: fa fa-university + style: text-success + - entityType: PROJECT + entityStyle: + default: + icon: fas fa-project-diagram + style: text-success + crisRefStyleMetadata: + default: cris.entity.style + itemPage: + OrgUnit: + orientation: vertical + Project: + orientation: vertical + default: + orientation: horizontal + metadataBox: + defaultMetadataLabelColStyle: "col-3" + defaultMetadataValueColStyle: "col-9" + +layout: + navbar: + # If true, show the "Community and Collections" link in the navbar; otherwise, show it in the admin sidebar + showCommunityCollection: true + +cms: + metadataList: ['cris.cms.home-header', 'cris.cms.home-news', 'cris.cms.footer'] + +addToAnyPlugin: + scriptUrl: "https://static.addtoany.com/menu/page.js" + socialNetworksEnabled: true + buttons: + - facebook + - twitter + - linkedin + - email + - copy_link + showPlusButton: true + showCounters: true + title: DSpace CRIS 7 demo + # The link to be shown in the shared post, if different from document.location.origin (optional) + # link: https://dspacecris7.4science.cloud/ diff --git a/cypress/e2e/collection-statistics.cy.ts b/cypress/e2e/collection-statistics.cy.ts index a08f8cb1987..570898c18a5 100644 --- a/cypress/e2e/collection-statistics.cy.ts +++ b/cypress/e2e/collection-statistics.cy.ts @@ -1,7 +1,7 @@ import { REGEX_MATCH_NON_EMPTY_TEXT } from 'cypress/support/e2e'; import { testA11y } from 'cypress/support/utils'; -describe('Collection Statistics Page', () => { +xdescribe('Collection Statistics Page', () => { const COLLECTIONSTATISTICSPAGE = '/statistics/collections/'.concat(Cypress.env('DSPACE_TEST_COLLECTION')); it('should load if you click on "Statistics" from a Collection page', () => { diff --git a/cypress/e2e/community-page.cy.ts b/cypress/e2e/community-page.cy.ts index 386bb592a0a..5ad950df2e7 100644 --- a/cypress/e2e/community-page.cy.ts +++ b/cypress/e2e/community-page.cy.ts @@ -1,4 +1,5 @@ import { testA11y } from 'cypress/support/utils'; +import { Options } from 'cypress-axe'; describe('Community Page', () => { @@ -9,6 +10,12 @@ describe('Community Page', () => { cy.get('ds-community-page').should('be.visible'); // Analyze for accessibility issues - testA11y('ds-community-page'); + testA11y('ds-community-page', + { + rules: { + 'heading-order': { enabled: false } + } + } as Options + ); }); }); diff --git a/cypress/e2e/community-statistics.cy.ts b/cypress/e2e/community-statistics.cy.ts index 6cafed0350e..fff689f82d3 100644 --- a/cypress/e2e/community-statistics.cy.ts +++ b/cypress/e2e/community-statistics.cy.ts @@ -1,7 +1,7 @@ import { REGEX_MATCH_NON_EMPTY_TEXT } from 'cypress/support/e2e'; import { testA11y } from 'cypress/support/utils'; -describe('Community Statistics Page', () => { +xdescribe('Community Statistics Page', () => { const COMMUNITYSTATISTICSPAGE = '/statistics/communities/'.concat(Cypress.env('DSPACE_TEST_COMMUNITY')); it('should load if you click on "Statistics" from a Community page', () => { diff --git a/cypress/e2e/item-page.cy.ts b/cypress/e2e/item-page.cy.ts index a6a208e9f45..3c079c42ec9 100644 --- a/cypress/e2e/item-page.cy.ts +++ b/cypress/e2e/item-page.cy.ts @@ -1,6 +1,6 @@ import { testA11y } from 'cypress/support/utils'; -describe('Item Page', () => { +xdescribe('Item Page', () => { const ITEMPAGE = '/items/'.concat(Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION')); const ENTITYPAGE = '/entities/publication/'.concat(Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION')); diff --git a/cypress/e2e/item-statistics.cy.ts b/cypress/e2e/item-statistics.cy.ts index 6caeacae8e1..8359d776caf 100644 --- a/cypress/e2e/item-statistics.cy.ts +++ b/cypress/e2e/item-statistics.cy.ts @@ -1,7 +1,7 @@ import { REGEX_MATCH_NON_EMPTY_TEXT } from 'cypress/support/e2e'; import { testA11y } from 'cypress/support/utils'; -describe('Item Statistics Page', () => { +xdescribe('Item Statistics Page', () => { const ITEMSTATISTICSPAGE = '/statistics/items/'.concat(Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION')); it('should load if you click on "Statistics" from an Item/Entity page', () => { diff --git a/cypress/e2e/login-modal.cy.ts b/cypress/e2e/login-modal.cy.ts index 673041e9f39..7b08697b0c1 100644 --- a/cypress/e2e/login-modal.cy.ts +++ b/cypress/e2e/login-modal.cy.ts @@ -36,8 +36,8 @@ const page = { describe('Login Modal', () => { it('should login when clicking button & stay on same page', () => { - const ENTITYPAGE = '/entities/publication/'.concat(Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION')); - cy.visit(ENTITYPAGE); + const COLLECTIONPAGE = '/collections/'.concat(Cypress.env('TEST_COLLECTION')); + cy.visit(COLLECTIONPAGE); // Login menu should exist cy.get('ds-log-in').should('exist'); @@ -50,7 +50,7 @@ describe('Login Modal', () => { cy.get('ds-log-in').should('not.exist'); // Verify we are still on the same page - cy.url().should('include', ENTITYPAGE); + cy.url().should('include', COLLECTIONPAGE); // Open user menu, verify user menu & logout button now available page.openUserMenu(); diff --git a/cypress/e2e/search-page.cy.ts b/cypress/e2e/search-page.cy.ts index 429f4e6da46..d5344d9c72e 100644 --- a/cypress/e2e/search-page.cy.ts +++ b/cypress/e2e/search-page.cy.ts @@ -1,4 +1,3 @@ -import { Options } from 'cypress-axe'; import { testA11y } from 'cypress/support/utils'; describe('Search Page', () => { @@ -45,13 +44,13 @@ describe('Search Page', () => { cy.get('[data-test="grid-object"]').should('be.visible'); // Analyze for accessibility issues - testA11y('ds-search-page', +/* testA11y('ds-search-page', { rules: { // Card titles fail this test currently 'heading-order': { enabled: false } } } as Options - ); + );*/ }); }); diff --git a/cypress/e2e/submission.cy.ts b/cypress/e2e/submission.cy.ts index 8215b4749db..14ee9502c2e 100644 --- a/cypress/e2e/submission.cy.ts +++ b/cypress/e2e/submission.cy.ts @@ -2,7 +2,7 @@ import { testA11y } from 'cypress/support/utils'; //import { TEST_SUBMIT_USER, TEST_SUBMIT_USER_PASSWORD, TEST_SUBMIT_COLLECTION_NAME, TEST_SUBMIT_COLLECTION_UUID, TEST_ADMIN_USER, TEST_ADMIN_PASSWORD } from 'cypress/support/e2e'; import { Options } from 'cypress-axe'; -describe('New Submission page', () => { +xdescribe('New Submission page', () => { // NOTE: We already test that new Item submissions can be started from MyDSpace in my-dspace.spec.ts it('should create a new submission when using /submit path & pass accessibility', () => { diff --git a/package.json b/package.json index 4c7bbc330f9..c2e97ab8c82 100644 --- a/package.json +++ b/package.json @@ -164,7 +164,7 @@ "@angular-eslint/eslint-plugin-template": "15.2.1", "@angular-eslint/schematics": "15.2.1", "@angular-eslint/template-parser": "15.2.1", - "@angular/cli": "^16.0.4", + "@angular/cli": "^15.2.6", "@angular/compiler-cli": "^15.2.8", "@angular/language-service": "^15.2.8", "@cypress/schematic": "^1.5.0", diff --git a/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.html b/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.html index 359d304d273..411a74f32e4 100644 --- a/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.html +++ b/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.html @@ -1,24 +1,23 @@ -