Gephi Plugin Devleoper Workshop, October 6, 2011 in Mountain View, California.
Presentation of Gephi's architecture and the different types of plugins that can be written with examples. Details about Gephi's API, code examples and best practices are presented. The Gephi Toolkit is also covered.
31. Netbeans Platform "The NetBeans Platform is a generic framework for Swing applications. It provides the "plumbing" that, before, every developer had to write themselves” Quick Start Description and tutorials API Index GephiPlugin Developer Workshop
61. Consult the Javadoc to see what an API does and browse classes
62. While the software evolve, APIs remain backward compatible
63. When we do changes on APIs, we wrote changes in the “API Changes” section on the Javadoc front-page
64. If you see an undocumented API, contact us or report a bugGephiPlugin Developer Workshop
65.
66. SPI: Interface to be implemented. For example a plug-in implements the Layout interface to add a new layoutSPIs is the classical way how features are implemented in Gephi (and Netbeans). You’ll see some packages ending with ‘spi’ in the Javadoc. GephiPlugin Developer Workshop
130. Visualization API Still in development. This API will eventually expose all options of the rendering engine and let users customize properties. It will also provide mouse events queues, selected elements lookup and off-screen screenshots. GephiPlugin Developer Workshop
131. Now SPIs… SPIs define how Gephi can be extended. There are simple Java interfaces like Layout, Importer, Filter or Renderer. When you implement a new SPI interface add a @ServiceProvider annotation to the class and that’s all you need to do to register your new implementation: GephiPlugin Developer Workshop
175. Create property toolbar to configure the toolGephiPlugin Developer Workshop
176.
177. Create a Plug-in (5 minutes) What a plug-in really is… A plug-in is nothing else than a Netbeans module packaged in a single file with a NBM extension. It’s basically a JAR with additional meta-data. There is no differences between Gephi’s core modules and plug-ins. There are all Netbeans modules. In a sense Gephi is just a suite of plug-ins which work together and depend on each other. To create a new module… Once Gephi project is open, right click on “Modules” > “Add new…” GephiPlugin Developer Workshop
178.
179.
180. Create a Plug-in (5 minutes) Right click on your module > Create NBM… It creates a single file you can distribute and share. Gephi’s website let you upload your NBM file out of the box. You can also update your plug-in with a new version. For multi-modules plug-ins, it also accepts a zip package of several NBMs. GephiPlugin Developer Workshop
181. Plugin examples – Circular Layout Adds a new Layout. Standard use of the Layout SPI. GephiPlugin Developer Workshop
182. Plugin examples – Complex Generators Adds new Generators with UI. Standard use of the Generator SPI. GephiPlugin Developer Workshop
183. Plugin examples – Social Network Analysis Adds new statistics. Standard use of the Statistics SPI. GephiPlugin Developer Workshop
184. Plugin examples – LinkfluencePlugin Adds new context and global actions in the Data Laboratory. The plug-in has been developed by the Linkfluence company and open-sourced. GephiPlugin Developer Workshop
185. Plugin examples – HTTP Graph Streams the HTTP graph while the user is browsing the web. Implemented as a Generator. It’s a non standard use of the Generator SPI but it works. GephiPlugin Developer Workshop
186. Plugin examples – Script console Adds a Python console as a new component. Doesn’t use a SPI but the plugin uses various APIs. GephiPlugin Developer Workshop
187. Plugin examples – Seadragonplugin Exports the graph from Preview to a zoomable web interface. Extends the Export SPI and uses the Preview API. GephiPlugin Developer Workshop
190. Plug-ins are also available directly from Gephi’sPlugin Center (Tools > Plugins).
191. Like any other module, plug-ins are updated when a new version is available.GephiPlugin Developer Workshop
192.
193. Servlet Use Gephi toolkit to create graph snippets PNG images automatically in a servlet.The Toolkit is release separately from Gephi and can be download at http:/gephi.org/toolkit GephiPlugin Developer Workshop
194.
195. One can find documentation and tutorials on the wiki: Toolkit Portal
196. It has a separate Javadoc, as SPI’s implementations are also included
197. Plug-ins can also be used in the Toolkit. Consult the wiki
198. It’s easy to use from JRuby or JythonGephiPlugin Developer Workshop