sovity / authority-portal Goto Github PK
View Code? Open in Web Editor NEWAllows a Dataspace Authority to manage its participants.
Home Page: https://sovity.de/en/build-entire-data-space-en/
License: Apache License 2.0
Allows a Dataspace Authority to manage its participants.
Home Page: https://sovity.de/en/build-entire-data-space-en/
License: Apache License 2.0
We have configured the authority-portal-backend as per the latest deployment guide.
However, we are unable to see the uptime data in MDS portal UI.
We have also cross-verified the link https://kuma.dev.mds-test.mds-int.dih-cloud.com/metrics with the API key that is configured in the AP backend configuration. This is working as expected.
@jridderbusch: The working /metrics
endpoint is already confirmed, need to investigate further.
No response
No response
No response
Result from FE Task Refinement session. Might be a duplicate. Check for that
Could you please rename “All Data Offers” on the Menu bar to “Data Catalogue”?
/
/
No response
No response
No response
No response
UI during entering the OTP ist broken.
Mail addess gets split into two lines, although there is enough space.
/
/
No response
No response
No response
I'm an authority_user but there is no possibility for me to invite participant (organization). I don't see the invite button (see the attached screenshot).
According to the role-right-matrix, I should be able to invite/remove/activate organization.
/
/
No response
No response
No response
No response
In the "Register Organization - User Details Page" of the Authority Portal, an inconsistency in the color scheme of pagination numbers has been identified. Specifically, within the Email Verification section, the pagination number text for page 3 displays in black, whereas the pagination numbers for pages 1 and 2 are in white. For visual consistency and improved user experience, all pagination numbers should have the same color.
All pagination numbers in the Email Verification section should display in the same color to ensure visual consistency and coherence across the user interface.
The pagination number for page 3 is displayed in black, contrasting with the white color of pagination numbers for pages 1 and 2, leading to visual inconsistency.
No response
No response
ZIP code field fails validation when upper case letters are used
Validation is ok.
Validation fails when uppercase letters are used.
No response
No response
No response
In MDS Portal 2.1.0 some changes have been made to theme files but no migration step includes this. Should the changes be reverted on should the new theme be installed and this migration step included in the documentation?
@jridderbusch: Add this to the DMN section for version 2.0.0
diff -r Components/Authority Portal/2024.02.27 2.0.0/authority-portal-release-2.0.0-deployment-docs/authority-portal-keycloak/mds-theme/email/messages/messages_en.properties Components/Authority Portal/2024.03.04 2.1.0/authority-portal-release-2.1.0-deployment-docs/authority-portal-keycloak/mds-theme/email/messages/messages_en.properties
6,7c6,7
< emailVerificationBody=Hi {4} {5},\nAn MDS Authority Portal account has been created with this email address.\nIf this was you, click the link below to verify your email address.\n\n{0}\n\nThis link will expire within {3}.\n\nIf you did not create this account and are not aware of having been invited, feel free to ignore this message.
< emailVerificationBodyHtml=Hi {4} {5},<br/><br/>An MDS Authority Portal account has been created with this email address.<br/>If this was you, click the link below to verify your email address.<br/><br/><a href="{0}">{0}</a><br/><br/>This link will expire within {3}.<br/><br/>If you did not create this account and are not aware of having been invited, feel free to ignore this message.
---
> emailVerificationBody=Hi {4} {5},\nAn MDS Portal account has been created with this email address.\nIf this was you, click the link below to verify your email address.\n\n{0}\n\nThis link will expire within {3}.\n\nIf you did not create this account and are not aware of having been invited, feel free to ignore this message.
> emailVerificationBodyHtml=Hi {4} {5},<br/><br/>An MDS Portal account has been created with this email address.<br/>If this was you, click the link below to verify your email address.<br/><br/><a href="{0}">{0}</a><br/><br/>This link will expire within {3}.<br/><br/>If you did not create this account and are not aware of having been invited, feel free to ignore this message.
14c14
< requiredAction.CONFIGURE_RECOVERY_AUTHN_CODES=Generate Recovery Codes
\ No newline at end of file
---
> requiredAction.CONFIGURE_RECOVERY_AUTHN_CODES=Generate Recovery Codes
I had a look at the ordering of users within the users list. They are arranged by roles/hierachie and sorted within their roles by alphabetical order. So far this is useful and makes sense. What is odd, is that Partcipant Users are listed before Participant Curators. Could we switch those two so that the ordering by hierachie is correct?
In my opinion it would also be more intuitive if users within one role where orderd by their surname rather than by their first name. It would be great if you could also adapt this.
TBD: Where does the ordering take place at the moment? FE or BE?
/
/
No response
No response
No response
The information in the box area is being cropped. This behavior is preventing user from correctly choosing
one of the urls. The only workaround would be to use the copy button, which will copy the whole context
of the text box, which is not optimal.
User should be able to also copy only a part of the information provided in the info box.
Some links, especially the long ones and/or at the bottom of the info box are being cropped, preventing user from
selecting and copying the text.
As a user of the authority portal I want to have a consistent UX in the Authority Portal.
When viewing the organization details on the sidebar, you can also view details of the organization members. When doing that and then clicking on the same organization in the overview again, the sidebar's title changes but the shown data is still that of the user
Sidebar should reload to show organization details
Sidebar shows user details instead of organization details
No response
No response
As an Administrator I want to adjust the log level on the fly on a running instance for debugging purpose.
Solution proposal see: https://stackoverflow.com/questions/63250947/how-to-change-the-log-level-during-runtime-in-quarkus
To improve readability it would be good if roles in “My Organization” > “Users & Roles” as well as in “Authority Section” > “Organizations” > {open organization profile} were separated by a space (see attached screenshot).
/
/
No response
No response
No response
In the Authority Portal, within the Register Organization Page - Org Profile section, the dropdown list for the Industry field is not adhering to the expected order. Specifically, the "Other" option is not positioned at the end of the list, as is customary for such selections. This deviation from standard UI practices can lead to user confusion and a less intuitive experience.
The "Other" option should be displayed as the last item in the dropdown list for the Industry field, following the conventional design practices to enhance user navigation and clarity.
The "Other" option is not placed at the end of the dropdown list options, contrary to common user interface guidelines and the expected design.
No response
No response
After generating the certificate in the Certificate field the generated certificate text is shown as greyed-out colour.
Also, Generate & Download Certificate (Slow) is mentioned. Should this mention of "slow" still be present there?
Should show in dark black color once the certificate is generated.
Generate Certificate after generating the certificate in the Certificate field the generated certificate text is shown as greyed out colour.
No response
No response
As long as a user has not registered a connector for his organization, clicking on "Data Offers" will display the regular Broker.
Data offers should display only own data offers in the broker.
How do we proceed when no data offers (and/or no connectors) are registered?
All data offers are displayed.
Log in to an org without connectors.
Click on "Data Offers"
See all data offers of the data space.
When opening “My Profile”, “My Organization” or “Users & Roles” the path displayed is incorrect. In all cases the “Control Center” is added, which is confusing since there is no “Control Center”-Page. Please remove this part of the path.
/
/
No response
No response
No response
No response
Similar to sovity/edc-extensions#436
When a certificate field contains characters outside the alphanumeric ASCII range (and some others), the resulting certificate is invalid, as it uses invalid characters for the string encoding selected.
Certificate generation uses UTF-8 strings to represent special characters.
Certificate generation uses the extremely restrictive ASN.1 PrintableString for certificate fields, even when they contain characters not supported by it.
No response
Go crypto/x509:
Error parsing certificate: x509: invalid RDNSequence: invalid attribute value: invalid PrintableString
openssl asn1parse:
PRINTABLESTRING :DRM Datenraum Mobilit�t GmbH
No response
Feel free to edit this release checklist in-progress depending on what tasks need to be done:
release-prep
PR:
Unreleased
version.Deployment Migration Notes
section.Deployment Migration Notes
contains the compatible docker images.release-prep
PR.release-cleanup
PR:
release-cleanup
PR.Unconfirmed user deletion seems to break under certain circumstances and leaves remainders in the DB, which results in a failing "Users & Roles" download.
Users are cleaned up correctly.
DB deletion fails with the log output below.
No response
No response
2024-03-12 09:41:58,064 ERROR [io.qua.sch.com.run.StatusEmitterInvoker] (executor-thread-8358) Error occurred while executing task for trigger IntervalTrigger [id=1_de.sovity.authorityportal.web.pages.usermanagement.UnconfirmedUserDeletionService#deleteUnconfirmedUsersAndOrganizations, interval=900000]: java.util.concurrent.CompletionException: org.jooq.exception.IntegrityConstraintViolationException: SQL [delete from "organization" where "organization"."mds_id" in (?, ?, ?)]; ERROR: update or delete on table "organization" violates foreign key constraint "fk_user_organization_id" on table "user"
No response
In the registration the Links to the legal notice and privacy policy overlap with the registration form. Could you please fix this? I attached a screenshot.
/
/
No response
No response
No response
Update the existing user documentation that was written vor version v0.3.0 to reflect the changes in v1.0.0
See #345 for reference
The Logo in the Tab does not show the MDS Logo.
It would also be good, if we were consistend with the naming of the Tabs. In the Broker they're constructed with "MDS " + Tab-name. Could we apply this logic also to the portal-tabs (e.g. MDS - Home, MDS - Profile, ...)?
/
/
No response
No response
No response
If there are multiple options for the job list (or other field) should display the icon otherwise dropdown icon is not required.
Dropdown icon is displayed in many of the fields in the Organization register page without having an actual dropdown.
No response
No response
by @sybereal
We have configured the authority-portal-backend as per the latest deployment guide.
However, we are unable to see the uptime data in MDS portal UI.
We have also cross-verified the link https://kuma.dev.mds-test.mds-int.dih-cloud.com/metrics with the API key that is configured in the AP backend configuration. This is working as expected.
@jridderbusch: The working /metrics
endpoint is already confirmed, need to investigate further.
No response
No response
No response
It seems like the ordering of organizations in the authority view got lost or mixed up with one of the recent releases. I believe until version 0.3.2 organizations where chronologically ordered. With version 0.3.2 and later this does not seem to be the case anymore and I don't see any pattern by which organizations are organized now.
Could we arrange the organizations in an alphabetic order?
TBD: Where does the ordering take place at the moment? FE or BE?
/
/
No response
No response
No response
Creating the first user when a first user with the same email already exists only refreshes the page but shows no error.
This error popped up from automated testing against sirius.
During the process of resetting a password, users encounter several unwanted rectangle boxes on the screen that appear to serve no functional purpose. These graphical anomalies detract from the overall user interface aesthetics and could potentially confuse users.
The password reset interface should be clean and free from any unnecessary graphical elements, such as unwanted rectangle boxes, ensuring a seamless and aesthetically pleasing user experience.
Unwanted rectangle boxes are visible during the password reset process, impacting the visual clarity and user experience of the application.
@jridderbusch: These are most likely the boxes to display an eye or sth to make the password visible, when clicking on them.
No response
Could we rename "Forgot Password?" on the login-page to "Reset Password"?
Since we discussed that there is no option to set a new pw in the users profile, the "Forgot Password"- functionality can basically function as both. With the re-naming this would be more apparent to the user.
/
/
No response
No response
No response
No response
In version 0.x a short description about the rights of every role was displayed, when a partcipant_admin choose a role for a user. This was a very convenient way of providing the information about the roles and I liked that a lot. Could you add those description to the "Role"- filed in the process of sending an invite and changing a users role? I think this is very helpful for participant_admins.
/
/
No response
No response
No response
No response
The link for Legal Notice is https://mobility-dataspace.eu/legal-notice
The link for Privacy Policy is https://mobility-dataspace.online/privacy-policy-mds-portal/ (this is correct at the moment)
/
/
No response
No response
No response
No response
When copying the connector Endpoint or the Management API URL the UI changes.
/
/
No response
No response
Result from FE Task Refinement session.
Large forms such as registration forms become unreadable. Asterisk is normal UX.
During the registration process on the "Register Organization - User Details", Login page etc, it has been observed that not all fields, including the "Password" and "Confirm Password" fields, enforce a character limit. This inconsistency in the application of character limits across form fields could potentially lead to data integrity issues and affect the user experience by allowing overly long inputs in certain critical fields.
All fields, especially sensitive ones like "Password" and "Confirm Password," should have a clearly defined and enforced character limit to ensure data consistency, security, and a streamlined user experience.
Not all fields on the "Register Organization - User Details" page enforce a character limit, specifically noted in the "Password" and "Confirm Password" fields, allowing users to input excessively long information.
This issue is assigned a high priority due to its potential impact on both security and user experience. Without consistent enforcement of character limits, the application may be vulnerable to various security risks associated with handling excessively long inputs. Additionally, this oversight could lead to a confusing user experience, as users may not receive clear feedback on acceptable input lengths for each field. Addressing this issue promptly will enhance the overall security and usability of the registration process.
No response
No response
When I log out as a logged-in user and click on "Back to application" I am redirected to the "landing page" suggesting a successful log-out, although I am still logged in (click on "Log in" to prove).
Instead, I should be redirected to the Dashboard.
see Description
No response
No response
No response
No response
During provisiong of any CaaS the dashboard breaks.
The dashboard works consistently.
The dashboard break due to some URL being null in the backend. This most likely originates from the endpoint URL not being set during the provisioning of a CaaS.
No response
2024-03-11 14:40:23,088 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-3) HTTP Request to /api/component-statuses?environmentId=test failed, error id: 7fc8f305-ff65-46f7-9cfa-aa6d1067cb93-2: java.lang.NullPointerException: Parameter specified as non-null is null: method de.sovity.authorityportal.web.thirdparty.broker.model.AuthorityPortalConnectorInfo.setConnectorEndpoint, parameter <set-?>
at de.sovity.authorityportal.web.thirdparty.broker.model.AuthorityPortalConnectorInfo.setConnectorEndpoint(AuthorityPortalConnectorInfo.kt)
at de.sovity.authorityportal.web.pages.ComponentStatusApiService.withUnknownConnectors(ComponentStatusApiService.kt:170)
at de.sovity.authorityportal.web.pages.ComponentStatusApiService.countConnectorStatuses(ComponentStatusApiService.kt:147)
at de.sovity.authorityportal.web.pages.ComponentStatusApiService.getComponentsStatus(ComponentStatusApiService.kt:52)
at de.sovity.authorityportal.web.pages.ComponentStatusApiService_ClientProxy.getComponentsStatus(Unknown Source)
at de.sovity.authorityportal.web.UiResourceImpl.getComponentsStatus(UiResourceImpl.kt:458)
at de.sovity.authorityportal.web.UiResourceImpl_Subclass.getComponentsStatus$$superforward(Unknown Source)
at de.sovity.authorityportal.web.UiResourceImpl_Subclass$$function$$2.apply(Unknown Source)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:73)
at io.quarkus.arc.impl.AroundInvokeInvocationContext$NextAroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:97)
at io.quarkus.hibernate.validator.runtime.interceptor.AbstractMethodValidationInterceptor.validateMethodInvocation(AbstractMethodValidationInterceptor.java:71)
at io.quarkus.hibernate.validator.runtime.jaxrs.ResteasyReactiveEndPointValidationInterceptor.validateMethodInvocation(ResteasyReactiveEndPointValidationInterceptor.java:21)
at io.quarkus.hibernate.validator.runtime.jaxrs.ResteasyReactiveEndPointValidationInterceptor_Bean.intercept(Unknown Source)
at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:70)
at io.quarkus.arc.impl.AroundInvokeInvocationContext$NextAroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:97)
at io.quarkus.security.runtime.interceptor.SecurityHandler.handle(SecurityHandler.java:47)
at io.quarkus.security.runtime.interceptor.PermitAllInterceptor.intercept(PermitAllInterceptor.java:23)
at io.quarkus.security.runtime.interceptor.PermitAllInterceptor_Bean.intercept(Unknown Source)
at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:70)
at io.quarkus.arc.impl.AroundInvokeInvocationContext$NextAroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:97)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorBase.invokeInOurTx(TransactionalInterceptorBase.java:136)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorBase.invokeInOurTx(TransactionalInterceptorBase.java:107)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorRequired.doIntercept(TransactionalInterceptorRequired.java:38)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorBase.intercept(TransactionalInterceptorBase.java:61)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorRequired.intercept(TransactionalInterceptorRequired.java:32)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorRequired_Bean.intercept(Unknown Source)
at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:70)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:62)
at io.quarkus.resteasy.reactive.server.runtime.StandardSecurityCheckInterceptor.intercept(StandardSecurityCheckInterceptor.java:44)
at io.quarkus.resteasy.reactive.server.runtime.StandardSecurityCheckInterceptor_PermitAllInterceptor_Bean.intercept(Unknown Source)
at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:30)
at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:27)
at de.sovity.authorityportal.web.UiResourceImpl_Subclass.getComponentsStatus(Unknown Source)
at de.sovity.authorityportal.api.UiResource$quarkusrestinvoker$getComponentsStatus_e94e03f3215c147be2c91b48a24081db0f10a55d.invoke(Unknown Source)
at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141)
at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:582)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:840)
No response
The path after a successfull registration is not correct. Please remove "onboard" as this is not part of the actual path.
/
/
No response
No response
On the dashboard "Up since ..." does not show when hovering over the "Up" status.
Also I think we should place this hint more visibly in general, as it is not intuitive to hover over the UP status.
The Dashboard displays the uptime of all components in percent. It is not apperant over which timespan this percentage is calculated. To my knowledge the calculation takes the last 30 days into account. Could you please add this information to the Dashboard?
The Data Catalogue in the Dashboard is reffered to as "Broker". Could you please rename this to "Data Catalogue"?
/
/
No response
No response
No response
No response
There is an mouse offer Effect on the Partcipants Initals that is without function (see attached screenshot).
If Users hoover their mouse over the Icon with the Users Initials (red circle, the icon above does not have this effect) the icon changes its colour. This looks as if this item was clickable, which is not the case. Therefore it would be good if this mouse hover effect could be removed since it may be misleading.
/
/
No response
No response
No response
If a user clicks on the MDS logo in the upper left corner, he's redirected to the marketing homepage of the MDS. Could you please replace this link with a link to the "Home" of the MDS Portal?
(Request from MDS)
/
/
No response
No response
No response
No response
The MDS Logo in the upper right corner is not compliant with the cooperate design of the MDS.
Please use the logo that is in the styleguide. Since we might get a Logo that also displays the words "MDS Portal" it would be good, if the image could easily be changed. Feel free to get back to me, if this is unclear.
Additional
In the initial bug report I only pointed out the logo that is used on the menu bar. The same is true for the logo in the registration process. Please stick to the styleguide wherever you're embedding the MDS Logo.
/
/
No response
No response
No response
There is no link for Data Privacy and Legal Notice at the Login page of portal. These links are mandatory for every page of the portal
/
/
No response
No response
No response
No response
Dashboard does not filter unknown connectors by MDS ID
/
/
No response
No response
No response
No response
The Organization Profile displays the house number also as ZIP Code.
I could observe that this happens with all organizations registered in the MDS Portal. This bug occurs with invited organizations as well as with self-registered organizations.
/
/
No response
No response
When users click the copy icon within the application, there is no visual or textual acknowledgement provided to indicate that the data has been successfully copied. This absence of feedback results in confusion, leading users to click the icon multiple times in uncertainty.
Upon clicking the copy icon, an acknowledgement message such as "Copied" should be displayed to inform the user that their action has been successfully completed.
The copy icon does not trigger any acknowledgement message upon being clicked. This leads to user confusion and results in multiple clicks on the icon due to the lack of confirmation.
The issue was also noticed in the "Connector" and "All Connectors" list sections. When attempting to copy information by clicking the copy icon next to any connector, the expected acknowledgement message does not appear.
No response
No response
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.