A new pattern for developing (read) frontends for CKAN i.e. all of the display functionality such as front page, search, viewing datasets etc (but not the admin or editing). Key aspects of the pattern are:
Decoupled: the Frontend is a separate web application that gets its "data" from CKAN's action API (data here means metadata for datasets or content). This means you can use build the frontend with whatever language or tooling you need.
Modern frontend stack: Take full advantage of modern best-practice frontend stack and approach e.g. Javascript, React/Vue, SSR etc.
In addition we recommend (though it is not an essential to the core point of decoupling):
Composition (vs inheritance): compositional rather than inheritance-based approach to building up the interface. Compositional means like React or any other framework where you import the components together and glue them together explicitly. By contrast, with inheritance there is a predefined base template with slots which one then fills in.
See draft RFC in https://github.com/ckan/ideas/blob/master/rfcs/0005-decoupled-frontend.md
A new pattern for developing (read) frontends for CKAN i.e. all of the display functionality such as front page, search, viewing datasets etc (but not the admin or editing). Key aspects of the pattern are:
In addition we recommend (though it is not an essential to the core point of decoupling):