Closed mbastian closed 1 year ago
At OuestWare, many people have asked us a solution to share networks online, using sigma v2. Our solution is Retina (source page). Its current functional scope is to allow sharing online a GEXF graph, but with custom filtering, coloring and sizing.
It is still in beta version, but ultimately:
One solution to provide a solution to share GEXF online using sigma v2 would be to have a wizard in Gephi that uploads the GEXF graph somewhere online (maybe on Gist, if we can allow users to login from the wizard itself), and then give them a URL to use.
We could also make something similar (exporting a .zip that contains Retina code and the graph file), but I'm afraid it will be harder to maintain.
Here is a list of things that the plugin must do, if we go that way:
The doc is here. This is not the biggest topic, but we must store the registered app ID somewhere.
Also, to prevent having to deal with displaying a web page inside Gephi, the Enable Device Flow option must be checked.
This will allow uploading the GEXF graph file onto Gist, to share it online with Retina. The process to authenticate a user (ie. retrieving a usable API token) is the following (as described here):
gist
, in our case). More information here.access_token
. This token must be saved into the plugin To share a graph with Retina, here is the list of things to do:
shared-graph.gexf
response.files["shared-graph.gexf"].raw_url
. This is the URL that will be used to share the graph with Retina.At this point, Gephi just has to share with the user the URL:
https://ouestware.gitlab.io/retina/beta/#/graph/?url={ ENCODED_GRAPH_URL }&r=d
https://ouestware.gitlab.io/retina/beta/#/graph/?url={ ENCODED_GRAPH_URL }
Please note that the graph URL must be properly URL-encoded before being put into the Retina URLs.
beta
to v1
for instance, this plugin will have to be updated as well. This is an issue that must be addressed on Retina's side.
The existing Sigma exporter is maintained by @computermacgyver. You can see the branches on their fork. We need to decide first if we want to update this plugin or to write a new one. If we decide to extend the existing one, I've already created an up-to-date branch on this repository at
sigmaexporter-plugin
.