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

Issue/175 Template Engine for HTML UIs #176

Merged
merged 43 commits into from
Feb 19, 2024

Conversation

hhund
Copy link
Member

@hhund hhund commented Feb 7, 2024

  • Now using thymeleaf template engine to generate html
  • Adds new UIs for some resources and search-sets
  • Adds copy button for Task and QuestionnaireReponse html Input fields
  • Adds insert placeholder button for boolean input fields
  • Adds support for empty QuestionnaireReponse items and Task inputs using the FHIR data absent reason extension https://hl7.org/fhir/R4/extension-data-absent-reason.html
  • Switching between html, json and xml views now pushes browser history entries
  • Adds shortcuts (h, j, x) to switch between html, json and xml views. Shortcuts need to be used with browser specific modifier keys, see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/accesskey
  • Optional QuestionnaireResponse items
  • UI mod feature allowing overrides of static resources via ui folder bind mound
  • UI theme feature allowing configuration of a color indicator top page border for dev, test and prod deployment environments
  • Initial BPE UI implementation listing deployed processes, active process instances, showing process BPMNs and allowing download of BPMNs.
  • Revoked the authentication and authorization of BPE users, now using the same role config as the fhir
    server. Currently only one role is defined "ADMIN". Access to BPE UI with the organization client certificate is not granted by default, but can be enabled by adding a role config the the "ADMIN" role for the certificate thumbprint.
  • Added a bpe rev proxy docker image similar to the existing fhir rev proxy docker image.
  • The jetty authentication / authorization code now also sets UserIdentity roles, enabling the use of jakarta.annotation.security.{DenyAll, PermitAll, RolesAllowed}
    annotations on webservices.
  • Added a new AuthenticationFilter (in common-auth) implementing the jakarta.ws.rs.container.ContainerRequestFilter interface to the bpe and fhir jersey applications to make sure (on the jersey layer) that access to all webservices is only granted to authenticated users.

closes #175
closes #160

hhund added 3 commits February 7, 2024 15:55
* now using thymeleaf template engine to generate html
* adds new UIs for some resources and search-sets
* adds copy button for Task and QuestionnaireReponse html Input fields
* adds insert placeholder button for boolean input fields
* adds support for empty QuestionnaireReponse items and Task inputs
using the FHIR data absent reason extension
https://hl7.org/fhir/R4/extension-data-absent-reason.html
* switching between html, json and xml views now pushes browser history
entries
* adds shortcuts (h, j, x) to switch between html, json and xml views.
Shortcuts need to be used with browser specific modifier keys, see
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/accesskey
@hhund hhund added this to the 1.5.0 milestone Feb 7, 2024
hhund and others added 14 commits February 12, 2024 16:13
…om:datasharingframework/dsf.git into issue/175_Template_Engine_for_HTML_UIs
added line break opportunity elements <wbr> to h1 page title and
replaced normal hyphen characters with non-breaking hyphens
(character #8209).
…om:datasharingframework/dsf.git into issue/175_Template_Engine_for_HTML_UIs
* New UI mod feature allowing overrides of static resources via ui
folder bind mound, see 3dic-ttp test setup
* New UI theme feature allowing configuration of a color indicator top
page border for [dev, test, prod] deplyoment environments
* JavaScript and CSS code formatting
* Initial BPE UI implementation: Revoked the authentication and
authorization of users, now using the same role config as the fhir
server. Currently only one role is defined "ADMIN". The fhir
Organization resource for the authenticated user is retrieved from the
fhir server and cached for 30 seconds, the cache timeout currently can't
be configured. Access to bep UI with the organization client certificate
is not granted by default, but can be enabled by adding a role config
the the "ADMIN" role for the certificate thumbprint.
* Added a bpe rev proxy docker image similar to the existing fhir rev
proxy docker image.
* Added bpe rev proxy to docker-build.{bat,sh} scripts.
* Added bpe rev proxy to docker-test-setup.
* Added a ui mod to the 3dic-ttp test setup, fhir and bpe instances now
use special logos with different versions for light and dark modes.
* Added a user role config to the bpe services in the 3dic-ttp test
setup and bpe base url and theme environment configs.
* Modified docker-test-setup network ip configs, now using smaller (/29)
subnets.
* Modified test data generator for bpe rev proxy and bpe ui
authentication, now using generated properties file when starting BPE
from IDE.
* Moved the webservice for static resources (images, css, js) to a new
common-ui module, module used by both bpe and fhir servers.
* Moved some authorization related code to the common-auth module.
* The jetty authentication / authorization code now also sets
UserIdentity roles, enabling the use of
jakarta.annotation.security.{DenyAll, PermitAll, RolesAllowed}
annotations on webservices. Added the RolesAllowedDynamicFeature to the
bpe and fhir jersey applications to enable this feature.
* The StatusPortAuthenticator now returns with a "STATUS_PORT_USER" that
has the "STATUS_PORT_ROLE" role. The StatusService webservice now only
allows access by users with this "STATUS_PORT_ROLE" role.
* Added a new AuthenticationFilter (in common-auth) implementing the
jakarta.ws.rs.container.ContainerRequestFilter interface to the bpe and
fhir jersey applications to make sure (on the jersey layer) that access
to all webservices is only granted to authenticated users.
@hhund hhund self-assigned this Feb 19, 2024
@hhund hhund requested a review from wetret February 19, 2024 00:13
@hhund hhund marked this pull request as ready for review February 19, 2024 00:13
@hhund hhund merged commit 48b8084 into develop Feb 19, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Template Engine for HTML UIs Allow Optional Elements in Questionnaire
2 participants