Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1043 commits
Select commit Hold shift + click to select a range
f9fb6d0
Bump eslint-plugin-import from 2.31.0 to 2.32.0 in the eslint group
dependabot[bot] Jul 21, 2025
821f16e
Bump morgan from 1.10.0 to 1.10.1
dependabot[bot] Jul 21, 2025
16da985
Bump compression from 1.8.0 to 1.8.1
dependabot[bot] Jul 21, 2025
fc43e24
Merge pull request #4457 from DSpace/dependabot/npm_and_yarn/dspace-7…
alanorth Jul 22, 2025
3a5f456
Merge pull request #4493 from DSpace/dependabot/npm_and_yarn/dspace-7…
alanorth Jul 22, 2025
bb3af14
Merge pull request #4560 from DSpace/dependabot/npm_and_yarn/dspace-7…
alanorth Jul 22, 2025
f80992f
Merge pull request #4559 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Jul 22, 2025
7376ae2
Bump core-js from 3.42.0 to 3.44.0
dependabot[bot] Jul 22, 2025
d4edbf2
Automatic update to yarn.locak after various dependency updates. This…
tdonohue Jul 22, 2025
9497dec
Update version tag for release
tdonohue Jul 22, 2025
1419ed9
Update version tag for development of next release
tdonohue Jul 22, 2025
08eb6de
Fix current parent order when creating subcommunity
jesielviana Jul 23, 2025
da99511
Merge pull request #4571 from DSpace/backport-4568-to-dspace-7_x
tdonohue Jul 23, 2025
d9d0032
Bump @babel/helpers from 7.21.0 to 7.27.6
dependabot[bot] Jul 23, 2025
be8def0
fix empty search query after previous non-empty search
jesielviana Jul 7, 2025
5a08173
Merge pull request #4579 from DSpace/backport-4536-to-dspace-7_x
tdonohue Jul 24, 2025
57b1de3
Bump axios from 1.10.0 to 1.11.0
dependabot[bot] Jul 28, 2025
07d3c7a
Bump isbot from 5.1.28 to 5.1.29
dependabot[bot] Jul 29, 2025
a7a543c
Merge pull request #4596 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Jul 29, 2025
0988c41
fix(versioning): encode summary
jlipka May 16, 2025
d919d25
Merge pull request #4587 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Jul 30, 2025
e41f576
Merge pull request #4535 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Jul 30, 2025
376a731
Bump webpack-dev-server from 4.15.2 to 5.2.1
dependabot[bot] Jul 30, 2025
18e2446
Merge pull request #4601 from DSpace/backport-4344-to-dspace-7_x
tdonohue Jul 30, 2025
88e18a3
Merge pull request #4542 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Jul 30, 2025
37d6c0d
Merge pull request #4609 from DSpace-Labs/dependabot/npm_and_yarn/web…
tdonohue Jul 30, 2025
e92a96b
Merge pull request #4608 from DSpace-Labs/dependabot/npm_and_yarn/bab…
tdonohue Jul 30, 2025
21d6c54
Bump @babel/runtime from 7.27.6 to 7.28.2
dependabot[bot] Jul 30, 2025
414589e
Updates French translations for 7.x
nimabehforouz Jul 31, 2025
8164851
Bump webpack-dev-server from 5.2.1 to 5.2.2
dependabot[bot] Jul 31, 2025
d6a39f2
Merge pull request #4618 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Aug 1, 2025
d98963c
Merge pull request #4588 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Aug 1, 2025
75c9112
Added rendering namespace when client side
milanmajchrak Aug 8, 2025
0a99de2
Added translations for untranslated czech messages
Aug 18, 2025
4ad1f6b
Update Czech translations for revised source messages
Aug 18, 2025
b4eaa90
Corrected Czech translations and added missing commas
Aug 18, 2025
4392a4b
.github/workflows/codescan.yml: use codeql-action v3
alanorth Aug 17, 2025
a833ba3
Merge pull request #4649 from DSpace/backport-4640-to-dspace-7_x
tdonohue Aug 20, 2025
f531415
Merge pull request #4616 from nimabehforouz/translate-7x-fr
tdonohue Aug 28, 2025
d96fc72
Added missing trailing comma
Sep 2, 2025
541a5da
Updated czech messages
milanmajchrak Sep 2, 2025
26df76f
Fixed more messages
milanmajchrak Sep 2, 2025
9b7b934
Fixed more messages
milanmajchrak Sep 3, 2025
1ade043
Inspect event key characters, not keyCodes on tag keyUp
kshepherd Aug 30, 2025
86a18f3
Create dynamic tag test events with key chars, not keyCodes
kshepherd Aug 30, 2025
6071065
Merge pull request #4669 from DSpace/backport-4664-to-dspace-7_x
artlowel Sep 4, 2025
90a1ca6
7.x - Clear url parameters for entity search tabs (#2735)
Atmire-Kristof Sep 5, 2025
a836e54
Updated some messages
Sep 8, 2025
2414e9b
Updated forgotten message
Sep 8, 2025
b1bd60c
Bump cypress-axe from 1.6.0 to 1.7.0 in the testing group
dependabot[bot] Sep 8, 2025
fffbe2d
Bump core-js from 3.44.0 to 3.45.1
dependabot[bot] Sep 8, 2025
0a63a34
Bump sass from 1.89.2 to 1.92.1 in the sass group
dependabot[bot] Sep 8, 2025
57c75d0
Bump @babel/runtime from 7.28.2 to 7.28.4
dependabot[bot] Sep 8, 2025
96422c2
Bump isbot from 5.1.29 to 5.1.30
dependabot[bot] Sep 8, 2025
826157c
fix: call parent ngOnDestroy in dynamic form control container
jlipka Aug 20, 2025
c186423
Merge pull request #4707 from DSpace/backport-4644-to-dspace-7_x
tdonohue Sep 10, 2025
ccd8d43
Merge pull request #4180 from alanorth/port-4136-dspace-7
tdonohue Sep 10, 2025
be06c4f
src/themes/dspace: rework banner image
alanorth Aug 11, 2025
66cdc97
server.ts: remove invalid host fallback
alanorth Aug 9, 2025
65cd1df
server.ts: remove port fallback
alanorth Aug 9, 2025
42419d1
Merge pull request #4714 from DSpace/backport-4636-to-dspace-7_x
tdonohue Sep 10, 2025
7154bc0
Merge pull request #4717 from DSpace/backport-4634-to-dspace-7_x
tdonohue Sep 10, 2025
2c4790c
Merge pull request #4701 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Sep 10, 2025
a361315
Merge pull request #4705 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Sep 10, 2025
50123ad
Merge pull request #4703 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Sep 10, 2025
b97f02e
Merge pull request #4704 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Sep 12, 2025
ab53a7e
Merge pull request #4702 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Sep 12, 2025
92ffac6
Merge pull request #4369 from atmire/w2p-130679_fix-back-button-on-gr…
alanorth Sep 15, 2025
15525b5
src/app: use correct icon in item mapper
alanorth Sep 19, 2025
d4c8ad0
Refactored code to pass down whether they are injected in the code th…
alexandrevryghem Sep 16, 2025
d6c4dad
Merge pull request #4730 from alanorth/collection-mapper-trash-icon-7x
tdonohue Sep 22, 2025
28ed706
Merge pull request #4641 from dataquest-dev/update-czech-translations
tdonohue Oct 13, 2025
aea7e7b
Merge pull request #4638 from dataquest-dev/csr-namespace-rendering
tdonohue Oct 13, 2025
b54b6aa
Bump core-js from 3.45.1 to 3.46.0
dependabot[bot] Nov 1, 2025
1f8c9a1
Bump axios from 1.11.0 to 1.13.1
dependabot[bot] Nov 1, 2025
04d2d86
Bump sass from 1.92.1 to 1.93.2 in the sass group
dependabot[bot] Nov 1, 2025
cb34717
Bump isbot from 5.1.30 to 5.1.31
dependabot[bot] Nov 3, 2025
7da01d8
fix 4241 language selection
Nov 4, 2025
1665bb5
Merge pull request #4749 from DSpace/dependabot/npm_and_yarn/dspace-7…
alanorth Nov 10, 2025
dfd4f7f
Merge pull request #4750 from DSpace/dependabot/npm_and_yarn/dspace-7…
alanorth Nov 10, 2025
2429699
Merge pull request #4798 from DSpace/dependabot/npm_and_yarn/dspace-7…
alanorth Nov 10, 2025
709f59e
removed references to X.509 authentication method
nwoodward Nov 18, 2025
7af431f
Merge pull request #4827 from DSpace/backport-4824-to-dspace-7_x
tdonohue Nov 18, 2025
0bb385b
src/app/shared/search: use nofollow for facet links
alanorth Nov 19, 2025
323e18b
136225: Add noindex robots meta tag for non-discoverable items
Nov 19, 2025
6d46dfa
Merge pull request #4832 from alanorth/no-follow-7x
tdonohue Nov 19, 2025
c46da88
Merge pull request #4837 from atmire/w2p-136225_fix-upstream-private-…
tdonohue Nov 19, 2025
53fd6dc
fix script source file access
FrancescoMolinaro Nov 19, 2025
eb23e8c
Merge pull request #4846 from DSpace/backport-4841-to-dspace-7_x
tdonohue Nov 21, 2025
ab3118f
Merge branch 'w2p-134319_escape-html-tags_contribute-7.6' into backpo…
bram-maegerman Nov 24, 2025
e1dade8
134319: Renamed injectedAsHTML to escapeHTML
alexandrevryghem Oct 23, 2025
b727098
Bump csstype from 3.1.3 to 3.2.3
dependabot[bot] Nov 24, 2025
78295dc
Bump js-yaml from 4.1.0 to 4.1.1
dependabot[bot] Nov 24, 2025
927f01f
Bump eslint-plugin-jsonc from 2.20.1 to 2.21.0 in the eslint group
dependabot[bot] Nov 24, 2025
3a9d93d
Bump the testing group with 2 updates
dependabot[bot] Nov 24, 2025
a1dd99d
Merge pull request #4797 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Nov 24, 2025
ea21ee1
Merge pull request #4861 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Nov 25, 2025
4017440
Bump isbot from 5.1.31 to 5.1.32
dependabot[bot] Nov 25, 2025
8998ced
Merge pull request #4793 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Nov 25, 2025
a655f28
Merge pull request #4795 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Nov 25, 2025
3c1cb49
Bump axios from 1.13.1 to 1.13.2
dependabot[bot] Nov 25, 2025
85ad0f4
Bump @types/lodash from 4.17.20 to 4.17.21
dependabot[bot] Dec 1, 2025
3c9e6f3
Bump core-js from 3.46.0 to 3.47.0
dependabot[bot] Dec 1, 2025
5db8ce3
Bump sass from 1.93.3 to 1.94.0 in the sass group
dependabot[bot] Dec 1, 2025
4b8828e
[DURACOM-380] backporting
FrancescoMolinaro Dec 1, 2025
0fff592
[DURACOM-390] set up guard routing module
FrancescoMolinaro Dec 1, 2025
ae4dadf
fix circular find Eperson request
Nov 10, 2025
7271692
Merge pull request #4905 from atmire/fix-4241-language-selection-cont…
tdonohue Dec 3, 2025
28c745e
Merge pull request #4901 from 4Science/task/dspace-7_x/DURACOM-390
tdonohue Dec 3, 2025
c068090
Merge pull request #4896 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Dec 5, 2025
0d79b76
Merge pull request #4859 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Dec 5, 2025
eaac906
Merge pull request #4858 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Dec 5, 2025
a156c10
Merge pull request #4860 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Dec 5, 2025
193254f
Merge pull request #4897 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Dec 5, 2025
ee1c173
Merge pull request #4857 from DSpace/dependabot/npm_and_yarn/dspace-7…
tdonohue Dec 5, 2025
74d3c8c
Bump node-forge from 1.3.1 to 1.3.2
dependabot[bot] Dec 5, 2025
0de31ae
Bump eazy-logger from 4.0.1 to 4.1.0
dependabot[bot] Dec 5, 2025
1de2177
Merge pull request #4921 from DSpace-Labs/dependabot/npm_and_yarn/eaz…
tdonohue Dec 5, 2025
2fe4d40
Merge pull request #4920 from DSpace-Labs/dependabot/npm_and_yarn/nod…
tdonohue Dec 5, 2025
ac1a6e5
134380: fixed abstract and date field not being escaped
bram-maegerman Dec 8, 2025
ae585c3
Merge pull request #4881 from atmire/backport-4737-to-dspace-7_x
tdonohue Dec 8, 2025
ee7ac38
Include the missing ADD policy action in the resource policy form
toniprieto Dec 12, 2025
2194871
Merge pull request #4938 from DSpace/backport-4937-to-dspace-7_x
tdonohue Dec 15, 2025
2a9c25d
[Port dspace-7_x] Fix uk lang file (#4942)
dspace-bot Dec 15, 2025
ac8c26f
Sync all i18n files with en.json5 for v7.6.6
tdonohue Dec 16, 2025
3b73476
Merge pull request #4951 from tdonohue/sync_i18n_7x
tdonohue Dec 16, 2025
c55b2de
Update version tag for release
tdonohue Dec 17, 2025
2e77354
Adding new krex theme based on custom
misilot Jun 19, 2023
3fe4719
K-State theme start
misilot Jun 27, 2023
46dc988
adding ksu-header module
misilot Jun 26, 2023
436d3c0
Adding a ksu environment banner
misilot Jun 26, 2023
ca1c524
Changes to docker files so they build for development
misilot Jun 26, 2023
3cfe91b
Disable the GH action workflows from upstream
misilot Jun 26, 2023
dcd0db3
Update feedback form
misilot Jun 27, 2023
024f071
Move K-REx to custom dir, going to try dspace theme as base
misilot Jun 27, 2023
14ced6e
K-REx theme based on dspace theme
misilot Jun 27, 2023
8e5ad5a
Remove logo from krex-custom
misilot Jun 27, 2023
589d704
K-REx Langage Settings
misilot Jun 27, 2023
8c53be2
Change References to DSpace to K-REx
misilot Jun 28, 2023
c890fd8
Fix logo
misilot Jun 28, 2023
cf3fa97
Update favicons
misilot Jun 28, 2023
de74128
Fix footer logo
misilot Jun 28, 2023
1678387
Update Shibboleth Login Text
misilot Jul 1, 2023
8c6e400
standard config settings
misilot Jul 1, 2023
b6af073
etdr theme
misilot Jul 1, 2023
feeee44
Overwrite ETD with additonal info, and remove duplicate collections
misilot Jul 26, 2023
63bda6c
Remove the linux/amd64 platform building ... makes macos more enjoyable
misilot Oct 17, 2023
2cc8bae
src/app/info: add a K-REx about page
misilot Oct 17, 2023
66c1849
Add Faculty Works Static Page
misilot Oct 17, 2023
9ac6c95
Add Student Works static Pages
misilot Oct 17, 2023
5d90405
Faculty rebase
misilot Oct 17, 2023
d00f0fa
Faculty
misilot Oct 17, 2023
b59efcd
Student works
misilot Oct 17, 2023
de0e367
add krex license static page
misilot Oct 17, 2023
fd65a88
Add Symbols Page
misilot Oct 18, 2023
d2bbc9d
Add Attachments Info Page
misilot Oct 18, 2023
00e2816
Adding Author Guidelines
misilot Oct 18, 2023
0e4219a
Keywords Guidelines Page
misilot Oct 18, 2023
670b789
Adding a docker build workflow
misilot Oct 18, 2023
ed17248
Only build amd64 ... is it faster?
misilot Oct 19, 2023
f19fa87
Renable arm64, and update action versions
misilot Oct 19, 2023
a219d96
Theme the Homepage Component
misilot Oct 19, 2023
418899f
Add in the custom area below searchbar
misilot Oct 19, 2023
6d995ab
I want the amd64 image sooner!
misilot Oct 19, 2023
081e61d
Test matrix for arm64
misilot Oct 19, 2023
8ac88b7
macos, no worky
misilot Oct 19, 2023
1a1f324
Try and build both, and merge them
misilot Oct 19, 2023
18f1291
Theming changes from C&M and Ryan O
misilot Nov 28, 2023
30cdc00
Apply extra themeing for these collections (ETDR)
misilot Nov 28, 2023
64565b0
Add some missing translations
misilot Nov 29, 2023
4f2b1ea
Hide the K-REx Logo, there is a home button
misilot Nov 29, 2023
fba668a
Change the navbar bottom color to purple
misilot Nov 29, 2023
bb2b56b
Add missing period
misilot Nov 29, 2023
21dfd52
Add (K-REx) text to the hero box
misilot Nov 29, 2023
22cb30a
Update theme w/ custom dspace changes from previous version
misilot Nov 29, 2023
5cf3188
Remove krex-custom theme, not using it
misilot Nov 29, 2023
64f21fd
remove faculty and student works, not needed
misilot Nov 29, 2023
82a34f5
Log in should be two words
misilot Nov 29, 2023
ecac426
Reference the main K-State website, not preview.web
misilot Nov 29, 2023
ac1e9a8
Added top menu links, some changes from Ryan, and links to Policies a…
misilot Nov 29, 2023
798d9c4
Add Policies to K-REx
misilot Nov 29, 2023
1830413
Add missing i18n for By Published Date
misilot Nov 29, 2023
1bf7fb0
Add links for RSCAD and ETDR's and made the buttons smaller
misilot Nov 29, 2023
a297937
Reorder the variables, so the GHA is easier to read
misilot Nov 29, 2023
1147ead
Update all the i18n files for customizations
misilot Nov 29, 2023
fbc565d
Change how menu is generated ...
misilot Nov 30, 2023
69a24c7
Move the searchbox to the home-news component
misilot Nov 30, 2023
2862094
change the index, trying to force order of menu
misilot Nov 30, 2023
10d6b46
Fix the search box, so no bottom margin
misilot Nov 30, 2023
87fd2a7
Make the RSCAD buttons be the same size
misilot Nov 30, 2023
4efaf8d
Move around some boxes
misilot Nov 30, 2023
6353b82
Moved the column back into the row
misilot Dec 1, 2023
b3c0bd7
Enable access statuses
misilot Dec 1, 2023
666f5d1
Change how Recent Submissions is controlled (use the config value)
misilot Dec 1, 2023
da23718
Changed some wording around
misilot Dec 1, 2023
4fcb014
Added some navigation to the menu for ETDR, RSCAD, etc...
misilot Dec 1, 2023
3e03ba4
Disable the bottom 3 buttons for now
misilot Dec 1, 2023
c53e3bd
Add padding in places
misilot Dec 1, 2023
20a4748
Fix the menu ordering
misilot Dec 1, 2023
d9dda31
Fix language typos
misilot Dec 4, 2023
1fd50f4
Adding in fonts
misilot Dec 4, 2023
c452249
Move Communities and collections into Navigate K-REx menu
misilot Dec 4, 2023
3d2c87b
Move community and collections into the navigate krex menu
misilot Dec 4, 2023
24613c9
Update some menu items
misilot Dec 4, 2023
41996df
Hide the DSpace logo on the homepage
misilot Dec 5, 2023
59097c6
Move text-align to the scss file
misilot Dec 5, 2023
347ec75
Add the environment banner (disabled) to the config.yml
misilot Dec 5, 2023
79a831d
Standardize cads@k-state.edu email
misilot Dec 7, 2023
eee139b
Language updates for the etdr submission form
misilot Dec 19, 2023
92cf8f7
Add Caching Settings
misilot Mar 8, 2024
3227544
Increase Max Memroy to 1GB per node
misilot Mar 11, 2024
2b223ba
Allow ndoe to have 4GB of mem
misilot Mar 11, 2024
4f2b5ce
Max 3 nodes, and 500M each
misilot Mar 11, 2024
ec72baa
Update dspace-ui.json 2 nodes max
misilot Mar 12, 2024
a32876e
Point docker-compose to production now
misilot Mar 12, 2024
d2d70a3
Fix the ETDR Theme, and inhert from krex the styles
misilot Mar 12, 2024
13bc838
Clean up and comment the base config with what collections / communit…
misilot Mar 12, 2024
ef9eb72
Seeing if I can update the Submission form hints through i18n
misilot Mar 12, 2024
d504017
Increase to 3 instances
misilot Mar 25, 2024
d37a29a
Decrease instances back to 2, but increase memory?
misilot Mar 25, 2024
8f42a65
Disable crawling of /browse and /statistics
misilot Mar 29, 2024
83ae73c
Increase bot cache, and increase max memory restart ... we have more …
misilot Mar 29, 2024
3386d6b
Update registry name
misilot Apr 16, 2024
0dbbcd1
Update the Docker Image Build to use Reuseable Workflow
misilot Apr 16, 2024
98c2d3a
disable upstream workflows
misilot Apr 16, 2024
0ba3b95
Fix matching for branches and tags
misilot Apr 16, 2024
219ce7d
Disable inlineCriticalCss
misilot Apr 18, 2024
8306e1e
Add an Upstream Sync Option
misilot Apr 19, 2024
0fb68cd
Adding Replication Task Suite UI Settings
misilot Apr 22, 2024
e248fc7
Update docker-ksul.yml
misilot Apr 25, 2024
10f38e9
Adding i18n strings for ETDR Department
misilot May 23, 2024
1207871
Update ETDR Department String to Degree Awarding Department
misilot May 28, 2024
37ba54f
Update ETDR theme to pull from K-REx theme for more pieces (7.6.2)
misilot Aug 18, 2024
8ac2e82
Update KREX theme based on DSpace for 7.6.2
misilot Aug 18, 2024
18ea166
Only build linux/amd64
misilot Aug 18, 2024
973eb29
Change RSCAD submission form to use K-REx directly
misilot Aug 22, 2024
85a5d76
Update CADS to CSP in the Footer
misilot Sep 27, 2024
53cc055
Update the About and Policies Page
misilot Sep 27, 2024
655adc9
Update License Text
misilot Sep 30, 2024
699de36
Disable anonymous caching of pages
misilot Jan 27, 2025
1f559c0
Update path to reusable workflow
misilot Aug 12, 2025
e4bfac5
refactor(reword-CADS-to-OPE): update branding for department
misilot Jan 20, 2026
0396273
fix(src/app/info/info-routing-paths.ts): fix missing curly brace
misilot Feb 16, 2026
d4726ce
fix(view-tracker): remove view-tracker from our theme
misilot Feb 16, 2026
96d00a2
Disable cache settings in config.yml
misilot Feb 20, 2026
3c7756b
Update robots.txt.ejs to disallow AI bots
misilot Feb 22, 2026
9b3e6c8
Backport [#9814] Fix Only show authorized communities/collections in …
im-shubham-vish Sep 18, 2025
a780a58
Implement authorization query methods in item/colection/community dat…
toniprieto Dec 4, 2025
8ba2735
Adapt DSO selectors to use new authorization methods
toniprieto Dec 4, 2025
155103d
Fix required permissions for edit-collection-selector and edit-commun…
toniprieto Dec 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 5 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -231,10 +231,13 @@
"*.json5"
],
"extends": [
"plugin:jsonc/recommended-with-jsonc"
"plugin:jsonc/recommended-with-json5"
],
"rules": {
"no-irregular-whitespace": "error",
// The ESLint core no-irregular-whitespace rule doesn't work well in JSON
// See: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-irregular-whitespace.html
"no-irregular-whitespace": "off",
"jsonc/no-irregular-whitespace": "error",
"no-trailing-spaces": "error",
"jsonc/comma-dangle": [
"error",
Expand Down
123 changes: 120 additions & 3 deletions .github/workflows/build.yml → .github/workflows/build.yml.upstream
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ name: Build
on: [push, pull_request]

permissions:
contents: read # to fetch code (actions/checkout)
contents: read # to fetch code (actions/checkout)
packages: read # to fetch private images from GitHub Container Registry (GHCR)

jobs:
tests:
Expand All @@ -28,17 +29,22 @@ jobs:
DSPACE_CACHE_SERVERSIDE_ANONYMOUSCACHE_MAX: 0
# Tell Cypress to run e2e tests using the same UI URL
CYPRESS_BASE_URL: http://127.0.0.1:4000
# Disable the cookie consent banner in e2e tests to avoid errors because of elements hidden by it
DSPACE_INFO_ENABLECOOKIECONSENTPOPUP: false
# When Chrome version is specified, we pin to a specific version of Chrome
# Comment this out to use the latest release
#CHROME_VERSION: "90.0.4430.212-1"
# Bump Node heap size (OOM in CI after upgrading to Angular 15)
NODE_OPTIONS: '--max-old-space-size=4096'
# Project name to use when running "docker compose" prior to e2e tests
COMPOSE_PROJECT_NAME: 'ci'
# Docker Registry to use for Docker compose scripts below.
# We use GitHub's Container Registry to avoid aggressive rate limits at DockerHub.
DOCKER_REGISTRY: ghcr.io
strategy:
# Create a matrix of Node versions to test against (in parallel)
matrix:
node-version: [16.x, 18.x]
node-version: [18.x, 20.x]
# Do NOT exit immediately if one matrix job fails
fail-fast: false
# These are the actual CI steps to perform per job
Expand Down Expand Up @@ -108,6 +114,14 @@ jobs:
path: 'coverage/dspace-angular/lcov.info'
retention-days: 14

# Login to our Docker registry, so that we can access private Docker images using "docker compose" below.
- name: Login to ${{ env.DOCKER_REGISTRY }}
uses: docker/login-action@v3
with:
registry: ${{ env.DOCKER_REGISTRY }}
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

# Using "docker compose" start backend using CI configuration
# and load assetstore from a cached copy
- name: Start DSpace REST Backend via Docker (for e2e tests)
Expand Down Expand Up @@ -172,12 +186,115 @@ jobs:
# Get homepage and verify that the <meta name="title"> tag includes "DSpace".
# If it does, then SSR is working, as this tag is created by our MetadataService.
# This step also prints entire HTML of homepage for easier debugging if grep fails.
- name: Verify SSR (server-side rendering)
- name: Verify SSR (server-side rendering) on Homepage
run: |
result=$(wget -O- -q http://127.0.0.1:4000/home)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep DSpace

# Get a specific community in our test data and verify that the "<h1>" tag includes "Publications" (the community name).
# If it does, then SSR is working.
- name: Verify SSR on a Community page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/communities/0958c910-2037-42a9-81c7-dca80e3892b4)
echo "$result"
echo "$result" | grep -oE "<h1 [^>]*>[^><]*</h1>" | grep Publications

# Get a specific collection in our test data and verify that the "<h1>" tag includes "Articles" (the collection name).
# If it does, then SSR is working.
- name: Verify SSR on a Collection page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/collections/282164f5-d325-4740-8dd1-fa4d6d3e7200)
echo "$result"
echo "$result" | grep -oE "<h1 [^>]*>[^><]*</h1>" | grep Articles

# Get a specific publication in our test data and verify that the <meta name="title"> tag includes
# the title of this publication. If it does, then SSR is working.
- name: Verify SSR on a Publication page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/entities/publication/6160810f-1e53-40db-81ef-f6621a727398)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep "An Economic Model of Mortality Salience"

# Get a specific person in our test data and verify that the <meta name="title"> tag includes
# the name of the person. If it does, then SSR is working.
- name: Verify SSR on a Person page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/entities/person/b1b2c768-bda1-448a-a073-fc541e8b24d9)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep "Simmons, Cameron"

# Get a specific project in our test data and verify that the <meta name="title"> tag includes
# the name of the project. If it does, then SSR is working.
- name: Verify SSR on a Project page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/entities/project/46ccb608-a74c-4bf6-bc7a-e29cc7defea9)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep "University Research Fellowship"

# Get a specific orgunit in our test data and verify that the <meta name="title"> tag includes
# the name of the orgunit. If it does, then SSR is working.
- name: Verify SSR on an OrgUnit page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/entities/orgunit/9851674d-bd9a-467b-8d84-068deb568ccf)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep "Law and Development"

# Get a specific journal in our test data and verify that the <meta name="title"> tag includes
# the name of the journal. If it does, then SSR is working.
- name: Verify SSR on a Journal page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/entities/journal/d4af6c3e-53d0-4757-81eb-566f3b45d63a)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep "Environmental &amp; Architectural Phenomenology"

# Get a specific journal volume in our test data and verify that the <meta name="title"> tag includes
# the name of the volume. If it does, then SSR is working.
- name: Verify SSR on a Journal Volume page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/entities/journalvolume/07c6249f-4bf7-494d-9ce3-6ffdb2aed538)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep "Environmental &amp; Architectural Phenomenology Volume 28 (2017)"

# Get a specific journal issue in our test data and verify that the <meta name="title"> tag includes
# the name of the issue. If it does, then SSR is working.
- name: Verify SSR on a Journal Issue page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/entities/journalissue/44c29473-5de2-48fa-b005-e5029aa1a50b)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep "Environmental &amp; Architectural Phenomenology Vol. 28, No. 1"

# Verify 301 Handle redirect behavior
# Note: /handle/123456789/260 is the same test Publication used by our e2e tests
- name: Verify 301 redirect from '/handle' URLs
run: |
result=$(wget --server-response --quiet http://127.0.0.1:4000/handle/123456789/260 2>&1 | head -1 | awk '{print $2}')
echo "$result"
[[ "$result" -eq "301" ]]

# Verify 403 error code behavior
- name: Verify 403 error code from '/403'
run: |
result=$(wget --server-response --quiet http://127.0.0.1:4000/403 2>&1 | head -1 | awk '{print $2}')
echo "$result"
[[ "$result" -eq "403" ]]

# Verify 404 error code behavior
- name: Verify 404 error code from '/404' and on invalid pages
run: |
result=$(wget --server-response --quiet http://127.0.0.1:4000/404 2>&1 | head -1 | awk '{print $2}')
echo "$result"
result2=$(wget --server-response --quiet http://127.0.0.1:4000/invalidurl 2>&1 | head -1 | awk '{print $2}')
echo "$result2"
[[ "$result" -eq "404" && "$result2" -eq "404" ]]

# Verify 500 error code behavior
- name: Verify 500 error code from '/500'
run: |
result=$(wget --server-response --quiet http://127.0.0.1:4000/500 2>&1 | head -1 | awk '{print $2}')
echo "$result"
[[ "$result" -eq "500" ]]

- name: Stop running app
run: kill -9 $(lsof -t -i:4000)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@ jobs:
# Initializes the CodeQL tools for scanning.
# https://github.com/github/codeql-action
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: javascript

# Autobuild attempts to build any compiled languages
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3

# Perform GitHub Code Scanning.
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
58 changes: 58 additions & 0 deletions .github/workflows/docker-ksul.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# DSpace Docker image build for hub.docker.com
name: Docker images

# Run this Build for all pushes to 'main' or maintenance branches, or tagged releases.
# Also run for PRs to ensure PR doesn't break Docker build process
# NOTE: uses "reusable-docker-build.yml" in kstatelibraries/kstatelibraries to
# actually build each of the Docker images
# https://github.com/kstatelibraries/kstatelibraries/blob/main/.github/workflows/reusable-docker-build.yml
#
on:
push:
branches:
- 'ksul_dspace-**'
tags:
- 'ksul_dspace-**'
pull_request:

permissions:
contents: read # to fetch code (actions/checkout)

jobs:
#############################################################
# Build/Push the 'kstatelibraries/krex-dspace-angular' image
#############################################################
krex-dspace-angular:
# Ensure this job never runs on forked repos. It's only executed for 'kstatelibraries/dspace-angular'
if: github.repository == 'kstatelibraries/dspace-angular'
# Use the reusable-docker-build.yml script from kstatelibraries/kstatelibraries repo to build our Docker image
uses: kstatelibraries/.github/.github/workflows/reusable-docker-build.yml@main
with:
build_id: dspace-dspace-angular-dev
image_name: kstatelibraries/krex-dspace-angular
dockerfile_path: ./Dockerfile
arch_matrix: "[ 'linux/amd64' ]"
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_ACCESS_TOKEN: ${{ secrets.DOCKER_ACCESS_TOKEN }}

#############################################################
# Build/Push the 'kstatelibraries/krex-dspace-angular' image ('-dist' tag)
#############################################################
krex-dspace-angular-dist:
# Ensure this job never runs on forked repos. It's only executed for 'kstatelibraries/dspace-angular'
if: github.repository == 'kstatelibraries/dspace-angular'
# Use the reusable-docker-build.yml script from kstatelibraries/kstatelibraries repo to build our Docker image
uses: kstatelibraries/.github/.github/workflows/reusable-docker-build.yml@main
with:
build_id: krex-dspace-angular-dist
image_name: kstatelibraries/krex-dspace-angular
dockerfile_path: ./Dockerfile.dist
arch_matrix: "[ 'linux/amd64' ]"
# As this is a "dist" image, its tags are all suffixed with "-dist". Otherwise, it uses the same
# tagging logic as the primary 'kstatelibraries/krex-dspace-angular' image above.
tags_flavor: suffix=-dist
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_ACCESS_TOKEN: ${{ secrets.DOCKER_ACCESS_TOKEN }}

Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ on:
pull_request:

permissions:
contents: read # to fetch code (actions/checkout)
contents: read # to fetch code (actions/checkout)
packages: write # to write images to GitHub Container Registry (GHCR)

jobs:
#############################################################
Expand Down
65 changes: 65 additions & 0 deletions .github/workflows/upstream-sync-main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: 'Upstream Sync (Main Branch)'

permissions:
# Give the default GITHUB_TOKEN write permission to commit and push the
# added or changed files to the repository.
contents: write

on:
schedule:
- cron: '0 7 * * 1,4'
# scheduled at 07:00 every Monday and Thursday

workflow_dispatch: # click the button on Github repo!
inputs:
sync_test_mode: # Adds a boolean option that appears during manual workflow run for easy test mode config
description: 'Fork Sync Test Mode'
type: boolean
default: false

jobs:
sync_latest_from_upstream:
runs-on: ubuntu-latest
name: Sync latest commits from upstream repo

steps:
# REQUIRED step
# Step 1: run a standard checkout action, provided by github
- name: Checkout target repo
uses: actions/checkout@v3
with:
# optional: set the branch to checkout,
# sync action checks out your 'target_sync_branch' anyway
ref: main
# REQUIRED if your upstream repo is private (see wiki)
persist-credentials: true
# Fine-grained PAT with contents:write and workflows:write
# scopes
token: ${{ secrets.WORKFLOW_TOKEN }}

# REQUIRED step
# Step 2: run the sync action
- name: Sync upstream changes
id: sync
uses: aormsby/Fork-Sync-With-Upstream-action@v3.4.1
with:
target_sync_branch: main
# REQUIRED 'target_repo_token' exactly like this!
target_repo_token: ${{ secrets.WORKFLOW_TOKEN }}
upstream_sync_branch: main
upstream_sync_repo: dspace/dspace-angular

# Set test_mode true during manual dispatch to run tests instead of the true action!!
test_mode: ${{ inputs.sync_test_mode }}

# Step 3: Display a sample message based on the sync output var 'has_new_commits'
- name: New commits found
if: steps.sync.outputs.has_new_commits == 'true'
run: echo "New commits were found to sync."

- name: No new commits
if: steps.sync.outputs.has_new_commits == 'false'
run: echo "There were no new commits."

- name: Show value of 'has_new_commits'
run: echo ${{ steps.sync.outputs.has_new_commits }}
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# This image will be published as dspace/dspace-angular
# See https://github.com/DSpace/dspace-angular/tree/main/docker for usage details

FROM node:18-alpine
FROM docker.io/node:18-alpine

# Ensure Python and other build tools are available
# These are needed to install some node modules, especially on linux/arm64
Expand All @@ -24,5 +24,5 @@
# Listen / accept connections from all IP addresses.
# NOTE: At this time it is only possible to run Docker container in Production mode
# if you have a public URL. See https://github.com/DSpace/dspace-angular/issues/1485
ENV NODE_ENV development
CMD yarn serve --host 0.0.0.0
ENV NODE_ENV=development
CMD yarn serve --host 0.0.0.0 --disable-host-check

Check warning on line 28 in Dockerfile

View workflow job for this annotation

GitHub Actions / krex-dspace-angular / docker-build (linux/amd64, ubuntu-latest, false)

JSON arguments recommended for ENTRYPOINT/CMD to prevent unintended behavior related to OS signals

JSONArgsRecommended: JSON arguments recommended for CMD to prevent unintended behavior related to OS signals More info: https://docs.docker.com/go/dockerfile/rule/json-args-recommended/
4 changes: 2 additions & 2 deletions Dockerfile.dist
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# Test build:
# docker build -f Dockerfile.dist -t dspace/dspace-angular:dspace-7_x-dist .

FROM node:18-alpine as build
FROM docker.io/node:18-alpine AS build

# Ensure Python and other build tools are available
# These are needed to install some node modules, especially on linux/arm64
Expand All @@ -26,6 +26,6 @@

WORKDIR /app
USER node
ENV NODE_ENV production
ENV NODE_ENV=production
EXPOSE 4000
CMD pm2-runtime start dspace-ui.json --json

Check warning on line 31 in Dockerfile.dist

View workflow job for this annotation

GitHub Actions / krex-dspace-angular-dist / docker-build (linux/amd64, ubuntu-latest, false)

JSON arguments recommended for ENTRYPOINT/CMD to prevent unintended behavior related to OS signals

JSONArgsRecommended: JSON arguments recommended for CMD to prevent unintended behavior related to OS signals More info: https://docs.docker.com/go/dockerfile/rule/json-args-recommended/
11 changes: 10 additions & 1 deletion angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
"lodash",
"jwt-decode",
"uuid",
"webfontloader",
"zone.js"
],
"outputPath": "dist/browser",
Expand Down Expand Up @@ -59,6 +58,16 @@
"input": "src/themes/dspace/styles/theme.scss",
"inject": false,
"bundleName": "dspace-theme"
},
{
"input": "src/themes/krex/styles/theme.scss",
"inject": false,
"bundleName": "krex-theme"
},
{
"input": "src/themes/etdr/styles/theme.scss",
"inject": false,
"bundleName": "etdr-theme"
}
],
"scripts": [],
Expand Down
Loading