Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LIBDRUM-892. Update DRUM to DSpace 8.0 #84

Merged
merged 2,333 commits into from
Dec 17, 2024

Conversation

dsteelma-umd
Copy link

Initial upgrade of the DRUM DSpace front-end to DSpace 8.0.

Migration procedure outlined in the following Confluence pages:

https://umd-dit.atlassian.net/browse/LIBDRUM-892

tdonohue and others added 30 commits May 3, 2024 14:02
…ribute-main

Fixed ItemSearchResultListElementComponent not fully themable
…er-to-display-label-on-search_contribute-main

Fixed authority ids being displayed on search page instead of their display value
…ript_contribute-main

Fix sync-i18n script throwing a compile error & added some missing translation keys
…e-main' into advanced-search_contribute-main

# Conflicts:
#	src/app/shared/search/search-sidebar/search-sidebar.component.html
#	src/app/shared/search/search.component.html
- Hide advanced search when inPlaceSearch is false
- Fixed the search settings being invisible on small screens in the sidebar
- Fixed the view mode buttons not being selected unless the parameter view was defined in the url
…ntribute-main

# Conflicts:
#	src/app/core/shared/search/search-configuration.service.ts
#	src/app/shared/search/advanced-search/advanced-search.component.ts
#	src/app/shared/search/search-sidebar/search-sidebar.component.html
#	src/app/shared/search/search-sidebar/search-sidebar.component.spec.ts
#	src/app/shared/search/search-sidebar/search-sidebar.component.ts
#	src/app/shared/testing/search-configuration-service.stub.ts
…M-235

# Conflicts:
#	src/app/collection-page/collection-form/collection-form.component.ts
#	src/app/collection-page/create-collection-page/create-collection-page.component.html
#	src/app/community-page/community-form/community-form.component.ts
#	src/app/community-page/create-community-page/create-community-page.component.html
#	src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.spec.ts
#	src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.ts
#	src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.spec.ts
#	src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.ts
…edFilters$ instead of relying on the route query parameters
…the applied filters of that facet don't have the operator equals, authority or range (because those should be displayed in the facets)
…ntribute-main

# Conflicts:
#	src/app/core/shared/search/search-filter.service.ts
#	src/app/core/shared/search/search.service.ts
#	src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.spec.ts
#	src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.ts
#	src/app/shared/search/search-filters/search-filter/search-filter.component.spec.ts
#	src/app/shared/search/search-filters/search-filter/search-filter.component.ts
#	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-range-filter/search-range-filter.component.ts
#	src/app/shared/testing/search-service.stub.ts
… updated

The BehaviorSubject was necessary because when the result of SearchService#getSelectedValuesForFilter is already cached, the isActive state can be recalculated even before the @input() scope is updated
… on "Search all of DSpace" in the search scope selector
Modified the "build.yml" file to enable the GitHub jobs to successfully
complete:

* Modified the "Verify SSR" step for check for "DRUM" in the title
  instead of "DSpace"

* Commented out the "codecov" job, because UMD does not have an
  appropriate key for uploading the results to codecov.io.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
Updated UMD Embargo List functionality to use stand-alone components,
and updated routing mechanism.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
Updated UMD ETD Unit functionality to use stand-alone components,
and updated routing mechanism.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
Updated UMD Unit functionality to use stand-alone components,
and updated routing mechanism.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
Updated UMD LDAP functionality for DSpace 8.0, to show LDAP information
on EPerson form pages.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
These files appear to have inadvertently gotten an extra import
during the DSpace 8.0 merge, so restoring them to the "dspace-8.0"
version.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
Based on testing, the UMD customizations in this file are no longer
necessary.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
This change was added in DSpace 7.6.1, but apparently was not part of
the DRUM DSpae 7.6.2 merge.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
This change was part of DSpace 7.6.2, but not part of DSpace 8.0. The
"main" branch had this change, so presumably it will be in DSpace 8.x,
but restoring this file to the DSpace 8.0 version, for consistency
with the other files.

See DSpace Angular issue 2902 and Pull 3152

https://umd-dit.atlassian.net/browse/LIBDRUM-892
In DSpace 7.6.2, LIBDRUM-872 back-ported a DSpace 8.0 fix to the
admin sidebar menu entries being partially cutoff when displayed in
Firefox.

The stock DSpace fix does not seem to completely fix the issue on
Firefox, so incoporating this change to ensure that the admin
sidebar continues to display correctly.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
Where necessary for stock DSpace files, disabled
"import-newlines/enforce" and "simple-import-sort/imports" to preserve
separation of UMD customization imports from stock DSpace imports.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
Adjusted files for the following lint warnings:

* “dspace-angular-ts/themed-component-selector -
  “Theme override of themeable component should have a selector starting
  with 'ds-themed-'“

* “dspace-angular-ts/themed-component-usages” - “Themeable components

https://umd-dit.atlassian.net/browse/LIBDRUM-892
In DSpace 7.x, a UMD-add "ds-cg-community-list" selector was used for
the "CommunityListComponent" TypeScript class, due to a selector
conflict with the DSpace-provided class.

In this change, a DSpace 8.0 Angular lint error
("dspace-angular-ts/themed-component-selectors") instigated a
refactoring where the DRUM "CommunityListComponent" theme class now
uses the "ds-themed-base-community-list" selector, instead of
the "ds-cg-community-list" selector, and an override of the stock
"ThemedCommunityListComponent" class was added to ensure that the
correct DRUM version of the component is used. The override of the
"ThemedCommunityListComponent" was necessary, because of the additional
"@input" fields needed by the DRUM "CommunityListComponent" class.

Updated the imports and HTML tags as needed.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
This test was failing with the following:

```
cypressError: `cy.type()` failed because it targeted a disabled element.
```

This is because the community form has been modified by UMD to include
a required "Community Group" field, that cannot be populated from the
stock DSpace database used by the e2e tests when run by GitHub actions.

Skipping the test so that GitHub Actions is can still succeed.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
To assist in development, added information about the commands used
to run the unit tests and linter.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
GitHub Actions tests for newlines at the end of files, so adding one
to satisfy it.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
Fixes for some Pull 3513 pull changes that were lost in the DSpace 8.0
merge (compare these files against those in "7.6.2-drum-ui2").

This restores the text wrapping of navbar items, so that they don't
get cut off at narrower browser widths (see also LIBDRUM-873).

https://umd-dit.atlassian.net/browse/LIBDRUM-892
Incorporated changes in the stock DSpace 8.0
"community-list.component.html" file with the matching file in
the DRUM theme.

There are no UMD customizations in the DRUM file, but keeping it for the
moment, because there it seems more consistent to keep it, than to
modified the component class to point to the stock DSpace 8.0 file.

Also fixed a minor typo in the "community-list.component.ts" file.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
Updated reference to DSpace 7 to include "and later", as the change
also now applies to DSpace 8.

https://umd-dit.atlassian.net/browse/LIBDRUM-892
@dsteelma-umd dsteelma-umd merged commit 029268d into umd-lib:drum-main Dec 17, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.