GeoNode / geonode-project

A django template project for creating custom GeoNode projects.
http://geonode.org
77 stars 170 forks source link

Integrating Extension into Geonode Mapstore Client #525

Open baptisteRiviere opened 3 months ago

baptisteRiviere commented 3 months ago

Context

I am developing a new plugin extension for Mapstore within the Geonode project, following this documentation.

I have drawn inspiration from the Mapstore2 source code to implement my own components, actions, epics, etc., and they integrate perfectly with the Mapstore React-redux architecture: I can interact with the map, fetch data...

Problem

Now, I would like to integrate my plugin into the Geonode Mapstore client, for example, by adding a button in the menu content bar that would open/close the plugin. Currently, I have an absolute window that I would like to wrap into the Geonode panels.

From my understanding, this integration needs to be implemented with the geonode-mapstore-client, but I cannot access its components during development because the extension is running separately on port 8082.

So, my question is, how should I include my extension into the Geonode Mapstore framework? As I am a junior developer, especially in React, I may have misunderstood something.

Also, the documentation mentions that this method for developping extensions "should be used for simple plugins." What does that mean exactly?

Thanks for your help!

Prerequisites

Ubuntu 22.04.3 LTS Geonode 4.2.2 Installed with Docker Node v12.22.12

ridoo commented 3 months ago

Hey @baptisteRiviere glad to see, I am not the only one facing this issue. This is related to the issue here:

https://github.com/GeoNode/geonode-mapstore-client/issues/1546

Feel free to add your comments there.

Are your plugin attempts publicly available?

baptisteRiviere commented 3 months ago

Thanks for your response, @ridoo .

I didn't see your issue; you're right, they are similar!

I will look into what has been said more closely.

Unfortunately, I can't share my code with you. Sorry about that