Skip to content

Twitter Stream Plugin #84

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

Merged
merged 30 commits into from
Apr 25, 2016
Merged

Twitter Stream Plugin #84

merged 30 commits into from
Apr 25, 2016

Conversation

totetmatt
Copy link

No description provided.

@computermacgyver
Copy link

This is awesome, Matthieu. I think the Gephi community is going to find this plugin super helpful---I know it is something I will highlight when teaching introduction sessions.

I'm going to make a few comments/suggestions on the code to help improve it. I am not a member of the core development team; so, these are only my suggestions. However, since I have developed a few plugins for Gephi I've learned some of the common issues and hopefully this will help your plugin get launched more quickly.

Thank you again for writing this and sharing it.

* User Network : Do a weighter User to User network with parallel edges for RT and Mentions
* Full Smart Netowrk : Do a full representation of User, Tweet, Hashtag, Url, Media & Symbol

This README supports Markdown, see [syntax](https://help.github.com/articles/markdown-basics/)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line that the readme supports markdown can be deleted.

@mbastian
Copy link
Member

One general comment about your calls to graphController.getGraphModel().getGraph(), I would recommend to proceed differently: obtain the current workspace at the top of your funnel in the UI and then pass down a reference to GraphModel. That will avoid a lot of calls to getGraphModel() which isn't inefficient but it's still a lot of redundant work with locking/synchronisation consequences. I haven't tested your plugin yet but I imagine that it's possible for the user directly or another plugin to switch workspaces while your plugin is operating and that's dangerous as suddenly the getGraphModel returns a different graphModel.

Also, it would be awesome if you could attach one or two screenshots to your plugin. It's really simple, just put images into the src/img folder and the gephi-maven-plugin will take care of the rest so they are displayed on the plugins website.


CTL_SimpleAction=Twitter Stream
CTL_SimpleTopComponent=Twitter Stream
HINT_SimpleTopComponent=WHEEEEEEE
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's what appears in the tooltip in the component and the copy can be improved I think :)

@mbastian
Copy link
Member

Testing your plugin now. Unfortunately on Mac OS X there are issues when windows are overlapping with the Graph window and you obtain something like this:
screen shot 2016-02-19 at 10 24 07 pm
I don't really have a workaround to suggest :/ and would recommend using another mode than the graphmode at the moment. I know that forces you to probably reshuffle your UI and fit into a smaller real estate in either layoutmode, rankingmode or filtersmode.

@mbastian
Copy link
Member

There seems to be a little layout issue with some hidden element on Mac OS:
screen shot 2016-02-19 at 11 14 00 pm

@mbastian
Copy link
Member

Cool, not an issue but a suggestion regarding edge types. I think there's a nice opportunity to leverage the multi-graph capabilities. Right now all edges are created equal but you could have typed edges (mention, follow etc..). You can do so by providing a type integer to the newEdge() method. This type can remain an integer if you like (e.g. 1 = follow etc) but the best is to associate this with a label for relationship, which is something gephi can do. If you call int type = graphModel.addEdgeType("Follow") you can use this integer without having to worry about it's value. If you call addEdgeType() repeatatly it will just return the same so you could streamline this into the newEdge() function if you like, e.g. newEdge(source, target, graphModel.addEdgeType("Follow"), 1.0, true). although it's not as fast as caching the types.

@eduramiba
Copy link
Member

Hi Totet,
Are the changes complete?

Thanks,
Eduardo

@totetmatt
Copy link
Author

hi,
if eveything is right on gephi team side, no more change to complete.
But as explain on gephidev chat, I will be unable to support the plugin for the moment as im "away from internet" until mid april. Therefore I would like to wait if possible, before merging so that I can fully support feedback from user when I will be back.

@eduramiba eduramiba self-assigned this Apr 24, 2016
@eduramiba
Copy link
Member

Hi Totet, pretty awesome work!

Can I suggest a few small improvements before merge?

One would be adding a 'Type' string column or similar to nodes, so data can be filtered more easily.
The other is a better initial random position, similar to the positions created by data laboratory, also a initial size of 10.

I created a pull request in your branch with these changes + a few details totetmatt#1

Implement some improvements for pull request gephi#84
@eduramiba eduramiba merged commit 7588f41 into gephi:master-forge Apr 25, 2016
eduramiba added a commit that referenced this pull request Apr 25, 2016
@eduramiba
Copy link
Member

Plugin available, congrats!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants