Skip to content

Roadmap

Florent Gravin edited this page Jul 7, 2020 · 8 revisions

General priorities

Taken from https://www.geonetwork-opensource.org/_static/documents/gn-user-meeting-202006-GeonetworkMeeting-Session5.pdf

Roadmap

Code sprint May 2020

2 days with Francois Prunayre, Florent Gravin, Olivier Guyot - Sponsored by Tittellus

  • Discussion and reflexion about UI usecases
  • Identification of new usecases not covered by actual UI
    • Simple code base
    • Evolutive & modern architecture
    • Javascript framework
    • CSS framework
    • CSS variables and style customisation
    • Server side rendering (SEO)
    • State Management
    • Webcomponent export to embed geonetwork in third party websites
    • Component base approach and segregation
  • Prototype with Angular and React to see what fit the best
  • Technical choice and tests
    • Storybook for component showcase
    • Angular fits the best to project usecase

Code sprint virtual Bolsena June 2020

4 days with Florent Gravin, Olivier Guyot, Michel Gabriel

  • Revisiting of some technical choices
    • Angular confirmed as Javascript framework
    • Bootstrap removed
    • TailWind is chosen for CSS framework
  • Prototype for every use case
    • CSS variables live updates
    • SSE sample implemented
    • Webcomponent export implemented
    • Openapi generator integrated
    • Story book integration and deployment
    • CI/CD with github actions, every branch deploys its own storybook
  • Deliver a clean architecture
    • jest configuration
    • lib/apps segregation
    • samples of smart/dumb component
  • Mockup for basic components
    • search page
    • formatter page

The project is clean and ready for contributions.

Future

As a first step, we should focus on implementing basic public components and pages:

  1. Search Components
  2. Record View
  3. Permalink Management

Following several tasks we need to work on to move on with Next UI development.

  • Application architecture
    • Enforcing guidelines and test coverage
    • Consolidate subprojects structure and relationships (apps, shared libs...)
    • Set up a strategy for loading and editing application settings
    • Application errors and user feedback handling strategy
  • Record Search
    • Autocomplete, fuzzy search
    • Results count
    • Infinite scrolling
    • Record summary
    • Actions on each record summary
    • Different layout types (grid, list...)
    • Facets
  • Record View
    • General layout
    • Online resource links
    • Preview and extent visualization
    • Contacts
    • Download record
    • "More like this"
  • Permalink management
    • Current search state
    • Record view
Clone this wiki locally