Skip to content

Commit 1ec61e4

Browse files
committed
Merge branch 'main' into iiif-bitstream-edit
2 parents 9649b5f + 4fdd3b8 commit 1ec61e4

384 files changed

Lines changed: 5550 additions & 3781 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,6 @@ npm-debug.log
77

88
/build/
99

10-
/src/environments/environment.ts
11-
/src/environments/environment.dev.ts
12-
/src/environments/environment.prod.ts
13-
1410
/coverage
1511

1612
/dist/

README.md

Lines changed: 129 additions & 52 deletions
Large diffs are not rendered by default.

angular.json

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,12 @@
6868
},
6969
"configurations": {
7070
"production": {
71+
"fileReplacements": [
72+
{
73+
"replace": "src/environments/environment.ts",
74+
"with": "src/environments/environment.production.ts"
75+
}
76+
],
7177
"optimization": true,
7278
"outputHashing": "all",
7379
"extractCss": true,
@@ -139,6 +145,16 @@
139145
}
140146
],
141147
"scripts": []
148+
},
149+
"configurations": {
150+
"test": {
151+
"fileReplacements": [
152+
{
153+
"replace": "src/environments/environment.ts",
154+
"with": "src/environments/environment.test.ts"
155+
}
156+
]
157+
}
142158
}
143159
},
144160
"lint": {
@@ -183,7 +199,13 @@
183199
"configurations": {
184200
"production": {
185201
"sourceMap": false,
186-
"optimization": true
202+
"optimization": true,
203+
"fileReplacements": [
204+
{
205+
"replace": "src/environments/environment.ts",
206+
"with": "src/environments/environment.production.ts"
207+
}
208+
]
187209
}
188210
}
189211
},

config/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
config.*.yml
2+
!config.example.yml

config/config.example.yml

Lines changed: 233 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,233 @@
1+
# NOTE: will log all redux actions and transfers in console
2+
debug: false
3+
4+
# Angular Universal server settings
5+
# NOTE: these must be 'synced' with the 'dspace.ui.url' setting in your backend's local.cfg.
6+
ui:
7+
ssl: false
8+
host: localhost
9+
port: 4000
10+
# NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
11+
nameSpace: /
12+
# The rateLimiter settings limit each IP to a 'max' of 500 requests per 'windowMs' (1 minute).
13+
rateLimiter:
14+
windowMs: 60000 # 1 minute
15+
max: 500 # limit each IP to 500 requests per windowMs
16+
17+
# The REST API server settings
18+
# NOTE: these must be 'synced' with the 'dspace.server.url' setting in your backend's local.cfg.
19+
rest:
20+
ssl: true
21+
host: api7.dspace.org
22+
port: 443
23+
# NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
24+
nameSpace: /server
25+
26+
# Caching settings
27+
cache:
28+
# NOTE: how long should objects be cached for by default
29+
msToLive:
30+
default: 900000 # 15 minutes
31+
control: max-age=60 # revalidate browser
32+
autoSync:
33+
defaultTime: 0
34+
maxBufferSize: 100
35+
timePerMethod:
36+
PATCH: 3 # time in seconds
37+
38+
# Authentication settings
39+
auth:
40+
# Authentication UI settings
41+
ui:
42+
# the amount of time before the idle warning is shown
43+
timeUntilIdle: 900000 # 15 minutes
44+
# the amount of time the user has to react after the idle warning is shown before they are logged out.
45+
idleGracePeriod: 300000 # 5 minutes
46+
# Authentication REST settings
47+
rest:
48+
# If the rest token expires in less than this amount of time, it will be refreshed automatically.
49+
# This is independent from the idle warning.
50+
timeLeftBeforeTokenRefresh: 120000 # 2 minutes
51+
52+
# Form settings
53+
form:
54+
# NOTE: Map server-side validators to comparative Angular form validators
55+
validatorMap:
56+
required: required
57+
regex: pattern
58+
59+
# Notification settings
60+
notifications:
61+
rtl: false
62+
position:
63+
- top
64+
- right
65+
maxStack: 8
66+
# NOTE: after how many seconds notification is closed automatically. If set to zero notifications are not closed automatically
67+
timeOut: 5000 # 5 second
68+
clickToClose: true
69+
# NOTE: 'fade' | 'fromTop' | 'fromRight' | 'fromBottom' | 'fromLeft' | 'rotate' | 'scale'
70+
animate: scale
71+
72+
# Submission settings
73+
submission:
74+
autosave:
75+
# NOTE: which metadata trigger an autosave
76+
metadata: []
77+
# NOTE: after how many time (milliseconds) submission is saved automatically
78+
# eg. timer: 5 * (1000 * 60); // 5 minutes
79+
timer: 0
80+
icons:
81+
metadata:
82+
# NOTE: example of configuration
83+
# # NOTE: metadata name
84+
# - name: dc.author
85+
# # NOTE: fontawesome (v5.x) icon classes and bootstrap utility classes can be used
86+
# style: fas fa-user
87+
- name: dc.author
88+
style: fas fa-user
89+
# default configuration
90+
- name: default
91+
style: ''
92+
authority:
93+
confidence:
94+
# NOTE: example of configuration
95+
# # NOTE: confidence value
96+
# - name: dc.author
97+
# # NOTE: fontawesome (v5.x) icon classes and bootstrap utility classes can be used
98+
# style: fa-user
99+
- value: 600
100+
style: text-success
101+
- value: 500
102+
style: text-info
103+
- value: 400
104+
style: text-warning
105+
# default configuration
106+
- value: default
107+
style: text-muted
108+
109+
# Default Language in which the UI will be rendered if the user's browser language is not an active language
110+
defaultLanguage: en
111+
112+
# Languages. DSpace Angular holds a message catalog for each of the following languages.
113+
# When set to active, users will be able to switch to the use of this language in the user interface.
114+
languages:
115+
- code: en
116+
label: English
117+
active: true
118+
- code: cs
119+
label: Čeština
120+
active: true
121+
- code: de
122+
label: Deutsch
123+
active: true
124+
- code: es
125+
label: Español
126+
active: true
127+
- code: fr
128+
label: Français
129+
active: true
130+
- code: lv
131+
label: Latviešu
132+
active: true
133+
- code: hu
134+
label: Magyar
135+
active: true
136+
- code: nl
137+
label: Nederlands
138+
active: true
139+
- code: pt-PT
140+
label: Português
141+
active: true
142+
- code: pt-BR
143+
label: Português do Brasil
144+
active: true
145+
- code: fi
146+
label: Suomi
147+
active: true
148+
149+
# Browse-By Pages
150+
browseBy:
151+
# Amount of years to display using jumps of one year (current year - oneYearLimit)
152+
oneYearLimit: 10
153+
# Limit for years to display using jumps of five years (current year - fiveYearLimit)
154+
fiveYearLimit: 30
155+
# The absolute lowest year to display in the dropdown (only used when no lowest date can be found for all items)
156+
defaultLowerLimit: 1900
157+
158+
# Item Page Config
159+
item:
160+
edit:
161+
undoTimeout: 10000 # 10 seconds
162+
163+
# Collection Page Config
164+
collection:
165+
edit:
166+
undoTimeout: 10000 # 10 seconds
167+
168+
# Theme Config
169+
themes:
170+
# Add additional themes here. In the case where multiple themes match a route, the first one
171+
# in this list will get priority. It is advisable to always have a theme that matches
172+
# every route as the last one
173+
#
174+
# # A theme with a handle property will match the community, collection or item with the given
175+
# # handle, and all collections and/or items within it
176+
# - name: 'custom',
177+
# handle: '10673/1233'
178+
#
179+
# # A theme with a regex property will match the route using a regular expression. If it
180+
# # matches the route for a community or collection it will also apply to all collections
181+
# # and/or items within it
182+
# - name: 'custom',
183+
# regex: 'collections\/e8043bc2.*'
184+
#
185+
# # A theme with a uuid property will match the community, collection or item with the given
186+
# # ID, and all collections and/or items within it
187+
# - name: 'custom',
188+
# uuid: '0958c910-2037-42a9-81c7-dca80e3892b4'
189+
#
190+
# # The extends property specifies an ancestor theme (by name). Whenever a themed component is not found
191+
# # in the current theme, its ancestor theme(s) will be checked recursively before falling back to default.
192+
# - name: 'custom-A',
193+
# extends: 'custom-B',
194+
# # Any of the matching properties above can be used
195+
# handle: '10673/34'
196+
#
197+
# - name: 'custom-B',
198+
# extends: 'custom',
199+
# handle: '10673/12'
200+
#
201+
# # A theme with only a name will match every route
202+
# name: 'custom'
203+
#
204+
# # This theme will use the default bootstrap styling for DSpace components
205+
# - name: BASE_THEME_NAME
206+
#
207+
- name: dspace
208+
headTags:
209+
- tagName: link
210+
attributes:
211+
rel: icon
212+
href: assets/dspace/images/favicons/favicon.ico
213+
sizes: any
214+
- tagName: link
215+
attributes:
216+
rel: icon
217+
href: assets/dspace/images/favicons/favicon.svg
218+
type: image/svg+xml
219+
- tagName: link
220+
attributes:
221+
rel: apple-touch-icon
222+
href: assets/dspace/images/favicons/apple-touch-icon.png
223+
- tagName: link
224+
attributes:
225+
rel: manifest
226+
href: assets/dspace/images/favicons/manifest.webmanifest
227+
228+
# Whether to enable media viewer for image and/or video Bitstreams (i.e. Bitstreams whose MIME type starts with 'image' or 'video').
229+
# For images, this enables a gallery viewer where you can zoom or page through images.
230+
# For videos, this enables embedded video streaming
231+
mediaViewer:
232+
image: false
233+
video: false

config/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
rest:
2+
ssl: true
3+
host: api7.dspace.org
4+
port: 443
5+
nameSpace: /server

cypress.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@
55
"screenshotsFolder": "cypress/screenshots",
66
"pluginsFile": "cypress/plugins/index.ts",
77
"fixturesFolder": "cypress/fixtures",
8-
"baseUrl": "http://localhost:4000"
8+
"baseUrl": "http://localhost:4000",
9+
"retries": 2
910
}

cypress/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
screenshots/
2+
videos/

cypress/integration/search-page.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ describe('Search Page', () => {
5353

5454
// Click to display grid view
5555
// TODO: These buttons should likely have an easier way to uniquely select
56-
cy.get('#search-sidebar-content > ds-view-mode-switch > .btn-group > [href="/search?spc.sf=score&spc.sd=DESC&view=grid"] > .fas').click();
56+
cy.get('#search-sidebar-content > ds-view-mode-switch > .btn-group > [href="/search?view=grid"] > .fas').click();
5757

5858
// <ds-search-page> tag must be loaded
5959
cy.get('ds-search-page').should('exist');

docker/README.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,6 @@ docker push dspace/dspace-angular:dspace-7_x
2929
- Docker compose file that provides a DSpace CLI container to work with a running DSpace REST container.
3030
- cli.assetstore.yml
3131
- Docker compose file that will download and install data into a DSpace REST assetstore. This script points to a default dataset that will be utilized for CI testing.
32-
- environment.dev.ts
33-
- Environment file for running DSpace Angular in Docker
34-
- local.cfg
35-
- Environment file for running the DSpace 7 REST API in Docker.
3632

3733

3834
## To refresh / pull DSpace images from Dockerhub

0 commit comments

Comments
 (0)