NASA-IMPACT / veda-ui

Frontend for the Dashboard Evolution project
Other
25 stars 5 forks source link

CMS <> VEDA Integration Exploration #1230

Open j08lue opened 3 weeks ago

j08lue commented 3 weeks ago

Context

We know that making it easier to manage content will make life easier for people managing their VEDA instances. We also assume that the content management needs are neither a) heavy enough or b) unique enough to warrant the development of our own CMS technology. So, we believe it would be valuable to integrate with existing tools.

We would to develop an informed opinion on our preferred CMS tools to integrate with, and at least have an understanding of how each integration might be implemented. Known tools that we are interested in:

Regarding Drupal: Many NASA Earth science websites are based on Drupal to make it easy for a team of domain expert contributors and comms specialists to manage content with the help of graphical user interfaces and the usual quality of life features a CMS provides. We know at least some instances, like GHG, might move towards a Drupal implementation so we want to provide guidance on that integration, as well as understand if we can make any adjustments to the core product to better facilitate this integration in the future.

Previous quarterly objective with conversations and links to materials: https://github.com/NASA-IMPACT/veda-architecture/issues/463

Acceptance criteria

j08lue commented 3 weeks ago

The trajectory we are on with our current VEDA UI refactor is that VEDA UI turns into a React component library plus recommendations and examples (template instance) of how to put them together and feed them with data (dataset information, stories, header/footer/nav, page content).

Is it possible to feed these React components we are currently building with data from a (headless) Drupal CMS? Or would they need to work differently?

In my (superficial) understanding, Drupal CMS UI generates content of some form and stores it in an (SQL) database. Then some software (normally PHP) picks it up from the database and renders it into HTML using some website template.

Based on this, the questions are whether it possible that

  1. Drupal UI generates the kind of content that VEDA UI components need?
  2. A React app which includes VEDA UI components fetches content from the Drupal-managed content database?
  3. This setup actually improves the content editing workflow for key contributors - in particular tightening the loop from content editing to rendering (previewing)?
aboydnw commented 3 days ago

@freitagb @j08lue just a heads up that we are bringing this initial exploration into the current sprint. We might want to find space to discuss live in the coming weeks