Differences between revisions 1 and 2
Revision 1 as of 2011-03-01 19:54:25
Size: 2134
Editor: 142
Comment:
Revision 2 as of 2011-03-01 20:21:38
Size: 2307
Editor: 142
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:

{{attachment:visualprops-1.png}}

=== Legend ===
    * Green arrows: Serialization relationships
    * Blue arrows: Parsing relationships
Line 22: Line 28:
        * Each RenderingEngine implementation would need to know how to serialize properties for each file format.
            * Messy and non-scalable.
        * RenderingEngine implementation can only serialize to and from one format.
Line 26: Line 31:
----
{{attachment:visualprops-2.png}}
Line 32: Line 39:
             ----
{{attachment:visualprops-3.png}}
Line 35: Line 43:
        * Reader/WriterFactory would need to know about VisualProperty types.
        * This may require direct dependency on RenderingEngine implementation bundles (e.g. NodeShape).
        * RenderingEngines can still introduce arbitrary visual property types.
            * However, these would not be accessible programmatically unless the vendor also supplies an API bundle for the new types.

Visual Property Discussion

Existing System

visualprops-1.png

Legend

  • Green arrows: Serialization relationships
  • Blue arrows: Parsing relationships

Use Cases

Issues

  1. Visual properties of inaccessible types (e.g. org.cytoscape.ding.NodeShape) are awkward to set programmatically.

    • Currently, you need to use a VisualProperty instance to construct a NodeShape instance by parsing the serialized form of the desired shape.

  2. Visual properties of inaccessible types (e.g. org.cytoscape.ding.NodeShape) are awkward to use with discrete mappers programmatically.

  3. Not possible to serialize visual properties for formats other than XGMML.

Assumptions

  • RenderingEngine implementations and I/O implementations cannot know about one another.

Options

  • O1: No change. Let RenderingEngines handle visual property serialization.

    • RenderingEngine implementation can only serialize to and from one format.

    • Inhibited: UC1, UC2

    • Awkward: UC3, UC4.


visualprops-2.png

  • O2: Same as O1 but serialization format is not specific to any particular format.

    • Converting between generic format and a particular file type's format is just a string mapping.
    • Flexible, but potentially difficult to validate.
    • List of allowable string values would need to be documented somewhere.
    • Awkward: UC3, UC4.


visualprops-3.png

  • O3: Let CyNetworkViewReader/WriterFactories handle visual property serialization.

    • All visual property types would need to be exposed as API.
    • RenderingEngines can still introduce arbitrary visual property types.

      • However, these would not be accessible programmatically unless the vendor also supplies an API bundle for the new types.

Outdated_Cytoscape_3.0/Mini_Retreat2/VisualPropertyDiscussion (last edited 2011-03-02 16:42:51 by 142)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux