Preview Refactoring
-
- Gephi Community Manager
- Posts:964
- Joined:09 Dec 2009 14:41 [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
This is the thread for asking more details about the Preview Refactoring proposal.
-
- Gephi Core Developer
- Posts:5
- Joined:06 Apr 2011 14:31 [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Re: Preview Refactoring
I apologize that the question is coming a bit late.
While browsing the source code, I understand that the Preview API is a bit over-complex to use. I assume that by means of lacking use-case means to specify less granular methods that help users understanding the preview model.
my questions are:
1. Knowing that Preview is currently using a Processing.org based render, does that mean Preview is mainly used by users of Gephi? Hom may other plugins extend the use of Preview? (I suspect automation, algorithm, snapshot in timeline, etc) ?
2. Should we(I) determine that whether the Preview API need to be re-written?
3. Is the design pattern specified in Prefuse favoured to be used?
Regards,
Yudi
While browsing the source code, I understand that the Preview API is a bit over-complex to use. I assume that by means of lacking use-case means to specify less granular methods that help users understanding the preview model.
my questions are:
1. Knowing that Preview is currently using a Processing.org based render, does that mean Preview is mainly used by users of Gephi? Hom may other plugins extend the use of Preview? (I suspect automation, algorithm, snapshot in timeline, etc) ?
2. Should we(I) determine that whether the Preview API need to be re-written?
3. Is the design pattern specified in Prefuse favoured to be used?
Regards,
Yudi
- mbastian
- Gephi Architect
- Posts:728
- Joined:10 Dec 2009 10:11
- Location:San Francisco, CA [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Re: Preview Refactoring
Currently none, as the architecture is not reusable and there is no SPI.1. Knowing that Preview is currently using a Processing.org based render, does that mean Preview is mainly used by users of Gephi? Hom may other plugins extend the use of Preview? (I suspect automation, algorithm, snapshot in timeline, etc) ?
It totally needs to be rewritten, as explained in the specifications.2. Should we(I) determine that whether the Preview API need to be re-written?
What design pattern?3. Is the design pattern specified in Prefuse favoured to be used?
-
- Gephi Core Developer
- Posts:5
- Joined:06 Apr 2011 14:31 [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Re: Preview Refactoring
I was referring to whether the Preview design should follow Infovis reference model, which is a general specification for re-usable visualization toolkit design:What design pattern?
Raw Data -> Data Tables -> Visual Structures -> Views
My initial understanding to the preview module is that it is in a form close to the common visualization model like specified above, which is also implemented by Prefuse.
From specification, we begin by having a number of visual items including nodes, edges, lables, mini-labels and convex-hull. A more detailed description on design for Preview module starting from data io to display is: (we use the name in model to refer to different components):
1. We start from processing raw data which is objects (node and edge, etc) from Gephi graph. The builders should be responsible reading the information stored in objects and storing them to data tables, which is supported by various type and data structures. Meanwhile, create visual items that corresponds to each information record stored in the data table.
2. We use properties to describe the visual structure of visual items, most of which would share common characteristics such as colors, borders, opacity, distortion, enabling, etc. Some type of visual items such as convex-hull uses polygon to specify how smooth it can be. We will also need environment/global properties to specify overall quality of the layout such as anti-aliasing, etc.
3. At last, the renderer will interpret properties associated in each visual item and export them to specified output: PApplet, PDF, SVG, etc. We may allow query or control of some form to search and highlight certain visual items in the display (eg, filtering nodes in PApplet or highlight filtered nodes in generated Vector Graph).
Each component from above are independent from each other and thus can be easily extended. I will give more thoughts to the item specification and implementation.
- mbastian
- Gephi Architect
- Posts:728
- Joined:10 Dec 2009 10:11
- Location:San Francisco, CA [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Re: Preview Refactoring
That sounds a good design indeed
-
- Gephi Core Developer
- Posts:5
- Joined:06 Apr 2011 14:31 [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Re: Preview Refactoring
Thanks! I have added my application to the Preview Refactoring here:mbastian wrote:That sounds a good design indeed
http://www.google-melange.com/../binarycrayon/5001