-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
GNIP-51: GeoNode 4 #3228
Comments
Looks good! Initial comments?
|
In regards to "fresh CSW", if my recall is correct GeoNode had at one time supported GeoNetwork and other CSW backends. But right now pyCSW is the only recommended backend. That legacy code had prevented deep integration of permissions, users, etc. into our pyCSW metadata services. IMHO, we should generate CSW directly from the models as a API service, instead of the current flow where we save ISO 1915 XML directly into the model and then translate. I'd be in favor of explicitly promoting pyCSW as a top-level component, but we hadn't discussed it yet. In regards to Python 3, that's a good question! I don't know. |
Some clarifications:
|
|
More comments/thoughts:
|
Hi all, thanks for putting together this proposal. Overall it looks to me very good.
|
Thanks for the feedback @afabiani! Below are comments/questions:
|
Love all of the idea behind this GNIP. |
I put together an image of the architecture we discussed at the code sprint. https://github.com/GeoNode/geonode-vision/blob/master/GeoNode3_Vision_Architecture.jpg |
Thanks @pjdufour. How can we edit the diagram? Suggest we add CSW and OWS data services to articulate GeoNode's support for SDI and standards. |
I looked for a hackpad like app for a diagram, but couldn't find anything good. I ended up using google diagram. I'll add you to the google diagram. |
Thanks all for the discussion! Few thoughts:
|
Exciting ideas! We would second the need for data containers or projects, but urge that this be as flexible as possible and look towards a linked open data approach, using RDF to build relationships between datasets and possibly even between features across datasets. @rob-metalinkage may have advice on how to approach this within the proposed architecture. |
Road map looks good IMHO and the discussion directions here are interesting. FYI I'm working on Mapstory, a Geonode project, on its future directions and a couple of comments:
This stuff is all nascent - but in active development and hope to have the early backend betas integrated into the MapStory UI so the intent is more visible before the end of the year. starting point is at https://github.com/rob-metalinkage/django-gazetteer - but feel free to contact me for a more detailed walk through. |
Is there a planned date when work will start on Geonode 3? |
not yet @Coop56. Do you want to start a thread in the dev mailing list? |
Has this work being continued elsewhere? Should this issue be closed now? |
@gamesbook for now there is just an empty repo which is supposed to be for OpenApi v3 model |
Personally, I tried to give this problem a go but was not able to make a dent. Main issue is the discrepancy between describing what is there (not a good idea), vs describing something that is not a pipe dream and is actually achievable in 6-12 months with 3-4 people (I was not able to deal with the complexity). The direction I took in order to continue being productive was to rethink GeoNode around only the core upload / permissions / download problem and just like we did in 2009, look at existing robust software packages to solve those problems, I settled on the following 3 tools:
What I am doing now is writing OpenAPI 3 definitions for an upload / permissions / download process based on how those tools already work. This obviously ignores the even bigger problem of workflows, for example configuring datasets in postgres, geoserver, tegola, etc. In order to write an API that is implementable, I am creating a minimal geonode with just those tools and expect to have results to share by the next summit. The working code is at: |
@ingenieroariel I think the minimal problem for an OpenAPI 3 definition is to model the main entities for this new api. Layers don't convince me and I would prefer the concept of Datasets. Then I'm wondering what is a dataset:
Open mind to different vision/model and happy if this work can be started. Also a great tool to collaborate can be spotlight I'm going to open an issue and discuss this on the geonode-api repo |
Definitely agree that we should put forth a
dataset centric approach. This dovetails with the resource oriented architecture we are seeing with emerging OGC standards. Types of datasets can be enumerated as per ISO 19115 (vector, grid, etc.).
We can also put forth the notion of virtual datasets (think WPS).
We implemented the above in pygeoapi and are working on WCS REST. I would suggest looking at the pygeoapi config and API (WFS3/WPS) for ideas for data access. Of course we would need a management API and do on for endpoints that do not fit into the above.
… On Mar 15, 2019, at 14:00, Francesco Bartoli ***@***.***> wrote:
@ingenieroariel I think the minimal problem for an OpenAPI 3 definition is to model the main entities for this new api. Layers don't convince me and I would prefer the concept of Datasets.
Then I'm wondering what is a dataset:
A combination of vector and raster collections?
/datasets/{cool_dataset_name}/collections/{my_awesome_vector_collection}/items (WFS3 implementation or subset from remote WFS3)
{my_awesome_vector_collection} has a collection_type=vector property
example: http://geo.weather.gc.ca/geomet-beta/features/collections/hydrometric-daily-mean/items/
/datasets/{cool_dataset_name}/collections/{my_awesome_raster_collection}/cogs ( COGs bucket server or subset from remote collection. Here a collection can be also described by a STAC specification)
{my_awesome_raster_collection} has a collection_type=raster property
Just one of the two above with a property for being distinguished?
/datasets/{cool_vector_dataset_name}/collections/{my_awesome_collection}/items
/datasets/{cool_raster_dataset_name}/collections/{my_awesome_collection}/cogs
{cool_vector_dataset_name} has a dataset_type=vector
{cool_raster_dataset_name} has a dataset_type=raster
Open mind to different vision/model and happy if this work can be started. Also a great tool to collaborate can be spotlight
I'm going to open an issue and discuss this on the geonode-api repo
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Good idea!
pygeoapi is something where definitively to have a look at. Do you have some examples of WCS REST? How would that be related to the concept of COG?
|
Opened issue geonode-api:#1 for continuing the discussion |
Nothing in pygeoapi that is stable (working on it). I would imagine COG would simple be a given raster resource to which HTTP Range requests would be supported. +1 to continue over in GeoNode/geonode-api#1 |
I have renamed this GNIP to GeoNode 4, as GeoNode 3 will be still based on current architecture using Python 3 and Django 2 |
Just my 2cents: With all my experience with current Geonodes codebase and working hard to keep it maintained, I would give my +1 for not beeing agnostic but choose frameworks and pin them. Check what possibilities are currently feasible and pick one as reference implementation. Only maintain this implementation. No more QGIS Server, Leaflet, OpenLayers, Geoserver, React and angular and maybe a bit of Vue codebase. We should be API first, which enables other frontend implementations, but we should not incorporate any of their code into our codebase. This is a bit harsh, but I think will help us to stay clean for a longer period of time. |
See PSC Meeting notes at: https://github.com/GeoNode/geonode/wiki/GeoNode-PSC-Meeting,-2020-09-03 |
RC of GeoNode 4 released |
GeoNode 4
At the recent FOSS4G 2017, the community discussed our vision for GeoNode 3. Below you will find a document that describes a few of principals we identified as important for adopting into the next major release of GeoNode. Take a read!
https://github.com/GeoNode/geonode-vision/blob/master/geonode-vision.md
This document is only a draft and we'd appreciate your input. You can provide feedback in the comments below or edit the document if there's agreement. Thanks!
The text was updated successfully, but these errors were encountered: