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

POC angular shell/navigation UI for new SORMAS features [8] #11630

Closed
4 tasks done
Tracked by #11666
MartinWahnschaffe opened this issue Mar 13, 2023 · 4 comments
Closed
4 tasks done
Tracked by #11666

POC angular shell/navigation UI for new SORMAS features [8] #11630

MartinWahnschaffe opened this issue Mar 13, 2023 · 4 comments
Assignees
Labels
backend Affects the web backend task Something to be done that does not directly affect the software technology Technical issues, e.g. synchronization, libraries, plugins, etc. vaadin-app Affects the Vaadin application

Comments

@MartinWahnschaffe
Copy link
Contributor

MartinWahnschaffe commented Mar 13, 2023

Problem Description

See #11666

Proposed Solution

The idea is to run the Vaadin UI and Angular UI in parallel. We will not embedded one UI into the other. Instead, we will use the different views of SORMAS as the separation between the two frontends. In other words, we will switch between both frontends using links.
E.g. .../sormas-ui/#!cases would be provided by the Sormas Vaadin UI, while .../sormas-web/about would be provided by the Sormas Angular UI.

Create a POC and based on that do the following:

  • Define implementation issues for the aspects below
  • Where needed provide a draft PR
  • sormas-web module in the SORMAS-Project repository with all the basic dependencies that can be copied from SORMAS-Angular OR keep the angular app in the existing repository? The second option would only be a temporary solution. Long-term the whole vertical slice from backend to frontend should be in one repository.
  • Navigation menu that looks like the one of the current Vaadin application and needs to be configured based on which features are available (as configured in the backend) and thus have an entry in the navigation menu.
  • An easy way to provide URL of each view, so the correct frontend is used. This either needs to be kept in sync for both frontends or use a shared logic in the backend (preferred).

Furthmore:

  • Make sure keycloak based login works seamless.
  • Check whether legacy login works -> doesn't work

Nice to have / future:

  • Some views may be available in both UIs - for those it would be nice to allow the user to switch between both.

Additional Information

Ideally we would be able to use this so #11533 can be implemented in the new frontend.

@MartinWahnschaffe MartinWahnschaffe added backend Affects the web backend vaadin-app Affects the Vaadin application technology Technical issues, e.g. synchronization, libraries, plugins, etc. feature A new feature to be developed (ticket type) labels Mar 13, 2023
@StefanKock StefanKock added task Something to be done that does not directly affect the software and removed feature A new feature to be developed (ticket type) labels Mar 13, 2023
@StefanKock StefanKock changed the title POC angular shell/navigation UI for new SORMAS features POC angular shell/navigation UI for new SORMAS features [8] Mar 13, 2023
@StefanKock StefanKock added this to Backlog in SORMAS Team 4 - TEC - Iteration Backlog via automation Mar 13, 2023
@MartinWahnschaffe MartinWahnschaffe moved this from Backlog to In Progress in SORMAS Team 4 - TEC - Iteration Backlog Mar 14, 2023
@MartinWahnschaffe MartinWahnschaffe moved this from In Progress to Waiting in SORMAS Team 4 - TEC - Iteration Backlog Mar 17, 2023
@MartinWahnschaffe
Copy link
Contributor Author

I have created the #11666 epic and the most important ticket for the integration which is #11665. I still need to discuss this with someone and probably create more detailed follow-up issues, so I don't consider this POC done for now.

@MartinWahnschaffe
Copy link
Contributor Author

Snippet to change URL of vaadin view for navigation:

navigator.addViewChangeListener((viewChangeEvent) -> {
	if (viewChangeEvent.getViewName() == AboutView.VIEW_NAME) {
		Page.getCurrent().setLocation("http://localhost:4200/about");
		return false;
	}
	return true;
});

@StefanKock
Copy link
Contributor

Open: Link to the draft that was produced as part of this ticket

@MartinWahnschaffe
Copy link
Contributor Author

POC, resulting epic description and issues have been reviewed with @StefanKock .
A draft PR for #11665 was als created as part of the POC here: SORMAS-Foundation/SORMAS-Angular#511

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Affects the web backend task Something to be done that does not directly affect the software technology Technical issues, e.g. synchronization, libraries, plugins, etc. vaadin-app Affects the Vaadin application
Projects
None yet
Development

No branches or pull requests

2 participants