Kepler.gl: Sharing map via URL using CARTO

Created on 24 Sep 2019  路  9Comments  路  Source: keplergl/kepler.gl

Sharing map via URL using CARTO

Is your feature request related to a problem? Please describe.
Kepler.gl already has a 'Save/Share your map' feature where a user can upload the data into a Dropbox account and then create a public link to share. It would be really nice to have more providers to choose.

Describe the solution you'd like
Adding a more generic approach to sharing could allow new providers besides Dropbox (eg. CARTO, Google Drive...) and also new ways of sharing the work in the future.

Describe alternatives you've considered
We propose to generalize the approach in the code, so current Dropbox Share url would work the same but new providers could be integrated, starting with CARTO.

Additional context
The integration with a new CARTO provider for 'Share via URL' would look like this:

image

All 9 comments

Technical notes

This would work pretty much the same as Dropbox. We will import a CARTO library that takes care of all the logic to authorize an App & store the data on your CARTO Account. The data for this particular use case will be public, and accesible via a URL, much like Dropbox's approach.

We might have to do some tweaks in the OAuth integrations, because Dropbox only provides a token, and CARTO provides an object (token, expiration date, etc). If we ever add support for other cloud providers I'm sure this will be helpful.

As for the reading back of the map config, we propose adding an extra URL argument that indicates what cloud provider the data is stored on. The reason for this is that some cloud providers could store the map config and the datasets on different places, so the URL parsing is up to that map provider. For instance, on the CARTO approach, we will store the data and the config separated. The URL might just look like kepler.gl/demo?provider=CARTO&map=cali_quakes

The generic sharing logic should be implemented inside the examples/demo-app for now instead of the core kepler.gl package. We can create a separate package kepler.gl-share or kepler.gl-connect for it later

Thx @heshan0131 we'll follow that approach!

Yeah, that was the idea, everything that we need to modify is already there, really.

At most, we would have to make some parts of the core component extensible from outside, but I don't think that's the case for this particular feature.

Thanks for the input @heshan0131

Our original design is the put the tiles horizontally, so in the future we can easily add more

Screen Shot 2019-09-27 at 11 10 53 AM

Thanks for the feedback @heshan0131! @mireyaD could you please take a look at the comment about the horizontal layout for the design? Thanks!

Hi @heshan0131!

I changed the design following your feedback

modal

Does this layout work for you? Thanks!

Looks good. Thank you

830

Was this page helpful?
0 / 5 - 0 ratings

Related issues

coenvalk picture coenvalk  路  5Comments

unverciftci picture unverciftci  路  4Comments

rdhara picture rdhara  路  4Comments

xJWzZ picture xJWzZ  路  5Comments

ChunhongZhao picture ChunhongZhao  路  4Comments