umich initial release 7.6.0.0 - blancoj - #96
Merged
Merged
Conversation
Issue working2
change to short display, no thumbnail on sub form and discovery labels.
some changes to improve the look of the UI
altmetric changes and videos
config and request copy changes.
add altmetrics and more.
UI changes.
serverLocation for stats config change and Schema.org
UI changes requested by D&D
improved file listing in search and other changes
altmetrics size, upload box moved, Privacy statement removed
formatting and deposit page changes
some label changes
a few more UI changes.
return 404 instead of 302 in error cases
Adds a boolean config flag `auth.showPasswordLogin` that controls which login
method type is shown in the DSpace Angular login UI. The flag is an exclusive
toggle — exactly one type renders at a time, never both, never none.
false (default): OIDC button shown, password form hidden
-> production and workshop are unchanged
true: password form shown, OIDC button hidden
-> for environments where DSpace OIDC is disabled (demo)
Background
----------
The demo environment uses oauth2-proxy at the gate for U-M WebLogin, and
DSpace's internal OIDC is intentionally disabled so testers can switch
personas via shared EPerson accounts. The existing UM customisation
(*ngIf="authMethod.authMethodType !== 'password'") removed the password form
entirely, leaving a blank login page once DSpace OIDC was disabled.
Changes
-------
src/config/auth-config.interfaces.ts
Add showPasswordLogin?: boolean to AuthConfig interface.
src/config/default-app-config.ts
Default showPasswordLogin: false in the auth block.
src/app/shared/log-in/log-in.component.ts
Inject APP_CONFIG; read flag into public showPasswordLogin property.
src/app/shared/log-in/log-in.component.html
Replace hard-coded *ngIf="... !== 'password'" with exclusive toggle:
*ngIf="showPasswordLogin === (authMethod.authMethodType === 'password')"
src/app/shared/log-in/log-in.component.spec.ts
Provide APP_CONFIG token; update assertion toBe(2) -> toBe(1)
(only non-password method renders with default showPasswordLogin: false).
config/config.example.yml
Add commented-out showPasswordLogin entry for operator reference.
Configuration
-------------
Enable for demo via Kubernetes frontend ConfigMap env-var:
DSPACE_AUTH_SHOWPASSWORDLOGIN=true
The DSpace Angular config system will convert the string 'true' to a proper
boolean via getBooleanFromString (confirmed). Production and workshop must NOT
set this variable — omitting it leaves the default false.
Testing
-------
Unit tests: 2 specs pass (log-in.component.spec.ts).
See PLAN_DSPACE_ANGULAR_PASSWORD_LOGIN.md for full rationale, config flow
deep-dive, on-host debugging commands, and demo verification steps.
…lation
- environment.test.ts: add missing 'serverLocation' property required by BuildConfig
- item-withdraw/item-reinstate spec: pass required 'reason' arg to setWithDrawn assertion
- bitstream-format specs (6 files): rename stale enum values to current names
Unknown -> AS_IS_UNKNOWN
Known -> AS_IS_KNOWN
Supported -> HIGHEST_LEVEL
These errors existed in the umich base branch before this branch was cut.
None are related to the showPasswordLogin feature change.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
item-withdraw.component.spec.ts: Change 'as HTMLElement' to 'as unknown as HTMLInputElement' to fix TS2352 type error introduced by the reviewing agent (insufficient type overlap). log-in.component.spec.ts: Replace TestBed.overrideProvider() inside an it() block (which throws 'Cannot override provider when test module is already instantiated') with the correct approach: set component.showPasswordLogin = true directly on the component instance and call detectChanges(). Also drop unreliable componentInstance.authMethod assertions on custom elements rendered via CUSTOM_ELEMENTS_SCHEMA. All 3 log-in specs now pass.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…nt ID - Assert document.getElementById was called with 'withdrawReason' (the exact ID the component uses) rather than just trusting the spy ran. - Assert setWithDrawn receives the exact string 'test-withdraw-reason' rather than jasmine.any(String), which would pass even with the wrong value.
…er directive, remove broken duplicate it block (DEEPBLUE-466)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…operty mutation instead TestBed.overrideProvider() throws 'Cannot override provider when test module has already been instantiated' when called inside an it() block, even after fixture.destroy(). Destroying the fixture does not reset the TestBed module state. The working approach is to set component.showPasswordLogin = true directly on the component instance after the module is instantiated, then call detectChanges(). This correctly re-renders the template with the new value.
Show password login
…. Previous versions were terms of deposit for depositors and users weren't mentioned
…ject root) AGENTS.md, TODO.md, DONE.md, PLAN_DSPACE_ANGULAR_PASSWORD_LOGIN.md, and PULL_REQUEST.md are agent-framework metadata files that belong in the agents framework repository (.agents/ symlink), not in the project repo. Migrated to: .agents/AGENT_TODO.md .agents/AGENT_DONE.md .agents/PLAN_DSPACE_ANGULAR_PASSWORD_LOGIN.md .agents/DEEPBLUE-466-PR.md .agents/DEEPBLUE-466-AGENTS.md (archived feature-specific context) .agents/ is a symlink to the external agents framework and is gitignored. The project root is now free of agent-specific tracking files.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
umich initial release 7.6.0.0 - blancoj