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

UI templating & configuration #17

Open
fxprunayre opened this issue Oct 16, 2020 · 0 comments
Open

UI templating & configuration #17

fxprunayre opened this issue Oct 16, 2020 · 0 comments
Assignees

Comments

@fxprunayre
Copy link
Member

This issue is related to work made on the formatting micro service and the https://github.com/geonetwork/geonetwork-ui

We want to share common layout aspects between application modules. In GN4, the "Theme" is defined by:

  • HTML base page created from XSLT (mainly to inject application UI config)
  • HTML templates used by the Angular application
  • HTML/XML/JSON/CSV produced by formatters used standalone or embedded in Angular
  • Admin > Settings > CSS - A file with variables
  • CSS/LESS files
  • JSON UI configuration

The application is working as:

  • client side only + JSON API (eg. Angular view),
  • client side + HTML API (eg. advanced view, Editor),
  • Server side only (eg. landing page).

In current requirements, we probably need the same cases:

  • Client side only + JSON API eg. simple webcomponent
  • Client side + HTML API eg. complete application
  • Server side only mode eg. OGC API Records - catalog presentation page, search page, search results, record view

How can we share the layout config for the different modes. The questions are:

  • How can we define a GeoNetwork theme?
    • CSS variables?
    • ...
  • How to define a UI configuration? Do we keep current JSON config?
  • Can we adopt a templating technology which can run/use on client and server side?
  • Can pure HTML page like OGC API Records can be nicely "augmented" by Angular when running in the browser? All informations displayed in both modes but more interactive eg. links to map viewer, map & data browser, ...
  • Global template for error pages 403, 404, 500

Technology options:

  • Embed Angular widgets in a server side rendered html page including header-footer
  • Server side Angular
  • xslt/jsp/freemarker
  • ...
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

No branches or pull requests

2 participants