Rogue Wave Knowledge Base
Search:    
Browse by category:
Knowledgebase | Glossary | Ask a Question |

Starting guide for using graph layout with JViews Diagrammer

Article ID: 2381
Last updated: 29 May, 2018
Revision: 2
print  Print
share  Share
Views: 1749
Posted: 15 Nov, 2010
by Dean J.
Updated: 29 May, 2018
by Gargani A.

Question

Do you have a starting guide that list those layouts, and describe the main parameters to use them ?

Answer

IBM ILOG JViews Diagrammer provides a set of graph layout algorithms that take care of the automatic placement of the nodes of the diagram and/or ensure the links (connections between nodes) have optimal shapes. Now, we may wonder: with automatic arrangement of diagrams, humans (developers or end-users) have no role to play anymore? Well, don't worry, there is still place for humans taking decisions. These decisions concern basically two kind of choices that are in the hands of the developer (alternatively, if appropriate, the developer can offer these choices to the end-user thanks to configuration GUI):

  1. The choice of the graph layout algorithm among those available: Hierarchical, Tree, UniformLengthEdges, TopologicalMesh, Bus, Circular, Grid, Short and Long Link layouts (the framework also allows developing your own algorithm or to combine existing layouts via the IlvMultipleLayout and IlvRecursiveLayout classes).
  2. The configuration of each graph layout algorithm, thanks to a wide range of options allowing to fine-tune the display according to specific needs or taste.

Choosing the graph layout algorithm

Let's first focus on the first point: how to chose the graph layout algorithm that fits. In some cases, this choice is quite straight-forward, in other cases it is a bit trickier, and to guide your choice you can find below a short synthesis of information present at various places in the IBM ILOG Diagrammer documentation (Reference and User Manual), enriched with a few additional hints.

Hierarchical Layout

This algorithm organizes the nodes in horizontal or vertical levels, in such a way that the majority of the links flow uniformly in the same direction.
A typical example:
Hierarchical Layout

This algorithm is the obvious choice for representing hierarchies, that is for hierarchically-structured data (graphs) such as process flows, workflow diagrams, and so on. The key point about the data is whether the links (connections between nodes) are oriented, that is whether the direction of the link matters. If it matters, it is very likely that Hierarchical layout fits (however, in some cases the Tree layout might fit better, see below).

Tree Layout

The obvious choice for representing trees (such as organization charts), where each node has one single ancestor.
Typical examples:

Level Tree Layout Tip Over Tree Layout
Radial Tree Layout Balloon Tree Layout

Can also be used if the graph is not a (pure) tree, however in this case the Tree layout only takes care of the shape of part of the links (those that contribute to the pure tree part of the graph, the so-called "spanning tree" of the graph). The Tree Layout is also very fast. If you have huge graphs with millions of nodes, it is often better to find tree structures and visualize only those than to try any other layout algorithm that would be too slow and would not expose any reasonable structure of the huge graph.

Uniform-Length-Edges Layout

This is the force directed layout algorithm (sometimes also called Spring Embedder Technology) of JViews. Your graph does not represent a hierarchy, is not a tree and the orientation of links does not matter? Then Uniform-Length-Edges layout is likely to fit.
An example: Uniform Length Edges Layout

A remark, however. For large graphs (say, with thousands of nodes), this algorithm is much slower than Hierarchical or Tree layout. Therefore, for performance reasons, you may prefer using them for such graphs, even though the graph is not a Hierarchy nor a Tree.

Topological-Mesh Layout

The Topological-Mesh Layout produces very similar results to the Uniform-Length-Edges Layout, but it is specialized for meshes, that is, cyclic graphs without cut nodes and cut edges. (The graph-theoretical term is biconnected graphs). It does not take link orientations into account and treats the links as straight lines.
An example: Topological Mesh Layout

When the Topological-Mesh Layout cannot be applied but you need the same layout characteristics, try the Uniform-Length-Edges Layout.

Bus Layout

The Bus Layout is designed for Telecom applications where several nodes are connected to a bus. The bus is a stretchable element, and the algorithm calculates a snake-like shape for the bus.
An example: Bus Layout

Circular Layout

The Circular Layout is designed for Telecom applications where nodes are partitioned into clusters. The clusters are displayed as rings or stars and positioned in a tree like fashion relative to each other.
An example:
Circular Layout

In most Telecom applications, the nodes represent network devices that have predefined cluster ids. Hence, the layout algorithm allows to specify the clusters. If no cluster ids are available, the layout algorithm is also able to calculate appropriate clusters from the graph topology.

Grid Layout

Obvious choice in case your graph has no links at all, or you want nodes to be placed on a grid or matrix while ignoring the links.
An example:
Grid Layout

Short and Long Link Layout

Both are link layouts, that is they do not move the nodes, they only reshape the links in such a way that crossings and overlaps are reduced or avoided.
But why two different algorithms, Short link layout and Long link layout? The answer is that they have different (mostly complementary) characteristics, and, depending on the case, one or the other provides results that fit better the aesthetic and performance requirements. How to chose one or the other? The dumb rule is to try any of them; if it does not fit, try the other one (and explore the multiple options of each).

That said, it is also useful to be aware of some characteristics of each, which help making the choice. In very brief, the names "Short Link layout" and "Long Link layout" refer to the fact that the first one fits better when most links are "short", that is they interconnect relatively close nodes, without too many other nodes placed as obstacles that would need to be avoided by the path of the link. It is the converse for "Long Link layout": it usually fits better when links connect distant nodes with many obstacles in-between.

A more in-depth comparison follows.

Short Link layout

  • Links are placed freely in the space.
  • Link-to-link and link-to-node crossings are reduced, if this is possible with link shapes that have a maximum of 4 bends.
  • Crossing and overlapping of links with other links and nodes cannot always be avoided because the algorithm uses link shapes with a limited number of bends. This happens in particular when there are many obstacles between the end points of a link.
  • Links of different width are supported.
  • Link bundles between the same pair of nodes are supported. Optionally, the algorithm can ensure that multiple links are bundled together by giving them parallel shapes.
  • Fast algorithm with low memory footprint.

An example:
Short Link Layout

Long Link layout

  • Links are placed on a grid.
  • Link-to-node crossings of orthogonal links are avoided, even if this introduces many bends.
  • Overlapping of nodes and links is always avoided, while link crossing cannot always be avoided.
  • Slower and uses more memory depending on how small is the grid spacing.

An example:
Long Link Layout

The two screenshots above hold for the same graph. At a quick look, the results of the two link layouts are pretty much similar, but a closer look, many details are different in terms of link-link crossings, link-node overlaps, symmetry of connection points with respect to the node box, number of link bends (how many turns).

Parameters that matter most for the graph layout algorithms

For most algorithms, the number of available options is very high, such they can be adapted to the variety of user's needs. Parts of the options are intended for expert users only, some are used more commonly, and only a few are very basic options that every user of the algorithm should be aware of. The reference and user manuals provide in-depth guidance about all parameters. Here, we highlight the most important options of each algorithm, those that nobody should miss when starting using the algorithm.

Hierarchical Layout

  • flowDirection: left | right | top | bottom. This defines the direction towards which the diagram "flows".
  • globalLinkStyle: orthogonal | polyline | straight. Different styles can be intermixed in the same diagram.
  • a large number of dimensional parameters, which define various spacing options.
  • and many others

Tree Layout

  • layoutMode: free | level | balloon | radial | alternating radial | various variants of tip-over modes. The arrangement differs quite significantly depending on this parameter, it is therefore interesting to experiment the modes for choosing the one that fits better.
  • flowDirection: left | right | top | bottom. Defines the direction towards which the diagram "flows".
  • globalLinkStyle: orthogonal | straight. Both styles can be intermixed in the same diagram.
  • and many others

Uniform-Length-Edges Layout

  • layoutMode: incremental | non-incremental | fast multilevel. The most useful is the "fast multilevel" mode, because it is much faster for large graphs. The "incremental" mode helps in case it is important that the new arrangement is close to the previous arrangement, thus preserving the so-called user's "mental map".
  • preferredLinksLength: value. Increase the value to spread the nodes over a larger area, or decrease the value to get a more dense arrangement.
  • and many others

Topological-Mesh Layout

  • nodesPlacementAlgorithm: slowGood | quickBad. Whether the mesh is arranged slowly with high quality, or quickly with lower quality
  • exteriorCycleId: value. The graph consists of several grid mashes and you can choose which one should be placed at the exterior border of the layout.

Bus Layout

  • bus: node. Determines which node acts as bus. The bus node must be stetchable.
  • nodeComparator: comparator. Determines the order of the nodes along the bus.
  • various spacing and alignment options
  • and many others

Circular Layout

  • clusteringMode: bySubgraphs | byClusterIds | Automatic. Determines how the clusters are specified: either each subgraph forms a cluster, or the clusters are specified per node by an id, or the clusters are automatically determined from the graph topology without any additional specification.
  • when the clustering mode is byClusterIds, specifying clusters, star centers, ordering index changes the layout most.
  • when the clustering mode is Automatic, parameters such as minimumClusterSize, maximumClusterSize, clusterByBiconnectivity influence how the clusters are found.
  • various spacing options
  • and many others

Grid Layout

  • layoutMode: rows | columns | matrix with fixed total width | matrix with fixed total height. The nodes can be arranged either on rows, or on columns, or in a matrix (grid) for which either the total width or the total height is specified.
  • various spacing and ordering options
  • and many others

Short Link Layout

  • globalLinkStyle: orthogonal | direct (different styles can be mixed in the same diagram)
  • various dimensional parameters, the most useful being linkOffset which defines the minimum offset between links connected to the same node
  • and many others

Long Link Layout

  • globalLinkStyle: orthogonal | direct (different styles can be mixed in the same diagram)
  • horizontaGridOffset and verticalGridOffset: value. This is a key dimensional parameter which defines how dense is the grid where link points are placed. A finer grid (lower grid size) usually improves the result, however at the price of a slower computation and of an increased memory footprint.
  • various other dimensional parameters
  • and many others

For going further, you can consult the following section of the manual: "Rogue Wave JViews Diagrammer > Programmer's documentation > Using graph layout algorithms > Layout algorithms".

This article was:   Helpful | Not helpful Report an issue


Also listed in
folder Visualizations -> JViews -> Diagrammer
folder Visualizations -> JViews -> Enterprise

External links
https://rwkbp.makekb.com/client/images/icons/article_out.svg https://www.ibm.com/developerworks/mydeveloperworks/blogs/javavisualization/?lang=en%5Fus
https://rwkbp.makekb.com/client/images/icons/article_out.svg https://www.ibm.com/developerworks/mydeveloperworks/blogs/javavisualization/entry/starting%5Fguide%5Ffor%5Fnice%5Fdiagrams%5Fchoosing%5Fgraph%5Flayout%5Fand%5Fparameters%5Fin%5Fibm%5Filog%5Fjviews%5Fdiagrammer31?lang=en%5Fus

Prev     Next
Drawing the activity name on top of the activity bar       Use of IlvFilterSDMRenderer to set the background of a grapher...

Others in this category
b Collecting data for problems when using JViews products.
b Collecting data for problems when using Elixir product.
b Subclassing IlvBarChartRenderer,computeDataLabel() has no effect
b Multiple tab browser support
b Avoid HeadlessException when running JSF TGO component on headless environment
b Software end of service: ILOG Visualization - Replacements available
b Using Java and/or Swing objects in an IlvManager
b Support drag-and-drop in ILOG JViews
b JMenu or JPopupMenu "hidden" by the JViews IlvManagerView
b Improve the application performance
b Error "cannot find or create interactor nameOfInteractor" when using my own IlvObjectInteractor
b My custom IlvManagerViewInteractor.processXXXEvent() methods are not being called
b Adding a label to graphic object
b The nodes size appear to be modified after applying a graph layout algorithm
b Perform layout on views with transformers different than the identity
b Map projections overview
b Map Projections computed values bounds
b Free maps to download
b Map formats supported by JViews
b Adding geographic positioning information to bitmaps
b All you want to know about Shapefiles
b Adding a listener on the IlvGanttChart's JSplitPane
b Improve performance of my IlvGanttChart and IlvScheduleChart
b Changing the default leaf icon of an IlvTreeColumn
b Translate from mouse (x, y) coordinates to graphic objects and data model entities
b Polyline link points management
b Testing tools that can be used with JViews
b Dump an IlvManager as an image file
b IlvRectangle objects are not rotated or appear malformed when applying a rotation transformer
b Support of TIFF files
b IlvReliefLabel appears completely black
b Table like class availability in JViews Framework
b Mouse interaction with IlvGraphic objects
b Use of IlvFixedSizeGraphic or IlvHalfZoomingGraphic to control an object's size when zooming
b Display a vertical line in a JViews Gantt Chart to mark the current time
b Display a threshold (as an horizontal line) in my chart
b Finding the best way to enforce the logic implied by Gantt Chart constraints
b Making a graphic object transparent, that is, control the alpha value or make it "see-through"
b Making an interactor permanent
b Running JViews servlets in a UNIX headless environment
b Custom renderers and the Cascading Style Sheet (CSS)
b Pie Chart legend customization
b JViews framework and thread-safety
b Dataset point label manipulation
b Nodes decorations
b Disable movements and other interactions of reservations on an IlvScheduleChart or activities on an IlvGanttChart
b Scale units customization
b Multiline nodes labels
b Chart scale positioning
b Extend IlvLegend to arrange items into colums corresponding to the appropriate y-axis
b Subclassing IlvGeneralNode to add CSS parameters and change the node shape
b Hide the root row of the JViews Gantt chart
b Displaying a JComponent as a node in a nested graph
b Subclassing IlvAxisTransformer to reduce periodical differently sized gaps
b Localize an error in a MID or MIF file
b Set the stacking order for Gantt activities
b Load several .sdxl files into a single Gantt chart
b Setting the icon for each node relative to the CSS file
b Deep copy an IlvIcon so that the image inside it is also copied
b Removing points from a chart
b Enable internationalization in the MIDMIF reader
b Subclassing IlvFilterGanttModel
b Local-component tooltips in an SDM prototype
b Using script code in my SVG file
b Gantt Chart thin-client sample with custom server action
b Drawing a graphical object in a map
b Convert a JPEG, GIF or any other image into the IVL format using the JViews library
b An empty chart is displayed when the chart contains only one data point with the bar renderer
b Non-editable table columns in Gantt Chart
b Mouse-wheel interaction in JViews graphs
b Selecting and resizing nodes in an IlvSDMEngine object
b Resizing an IlvJComponentGraphic only rescales the JComponent
b IlvTextPath Sample
b IlvZoomViewInteractor does not maintain the aspect ratio that was set on it
b Specify the bubble size of Bubble Charts
b JViews and the Export Control Classification Numbers (ECCN) under U.S. export regulation
b Accessing and configuring JViews logging traces
b Increasing the tooltip show time and initial delay time in IlvHierarchyChart
b Tree Layout does not properly layout all the links as expected
b Specify different marker types for each data point and have these markers appear in the legend
b Memory keeps increasing as new IlvChart instances are created
b Activate animation during a graph layout with JViews Diagrammer
b Tree Graph with a tree nested grapher as a node
b Performing graphlayout on subgraphs that are connected by intergraph links
b Perform different graph layouts on nested graphers using XML and CSS
b "Add or Remove Programs" shows a large disk usage for JViews products
b Customize the chart decoration to draw a group of notes around a value of the abscissa axis
b Disable reconnection of link to a new anchor node outside an existing SDM node
b Filling the area that limited by two polylines
b Sample demonstrates how to mark specific points dynamically through CSS
b When the bounding box of an object in a grapher/manager changes, it seems to mess up the screen.
b Polyline-like link customization through css
b Edit and save an intermediate point of a polylink in the Designer
b When using an IlvLogarithmicAxisTransformer and setting the data range on an IlvAxis, this range is not taken into account
b Keeping the main view updated as the overview rectangle is being dragged
b Find the version, minor version, and patch level of my JViews JARs
b Eclipse platforms supported by JViews
b Adding a vertical scrollbar to Gantt table in thinclient application
b Filtering done at the data source level
b Custom Property Sheet Table
b Selection in Diagrammer/SDM often take a long time
b Create an image of the entire data range
b Message "Windows error 3 occurred while loading Java VM" when installing JViews
b Creating multiline tooltip for an activity
b Make the contents of a subgraph scrollable
b Customizing the movements of activities in my Gantt Chart
b Selecting data points in the chart
b IlvDiagrammer.printToBitmap() method does not print all nodes in the diagram
b CSS syntax to be used to specify a shape for a node
b Adjusting the way JViews Charts writes out JPEG files
b Getting or setting model properties via the API
b Using an inner class with the CSS class property in data model
b Exporting my Gantt chart to PDF
b Making a Demographic Chart
b Using the TRUNCATE and WORD_WRAP modes for my IlvGeneralNode and IlvSDMCompositeNode labels
b Warning message: The data model property <property> does not exist?
b My labels appear jagged or blurred when zoomed out
b Rendering the border of Activities as dotted lines
b Using API to access graphic properties specified in a CSS
b Adding a new time scale at the bottom of the Gantt Sheet
b Hiding properties in an IlvDiagrammerPropertySheet
b IlvDiagrammer does not refresh after I update my icon files
b Ajax used in JViews, and customizing Ajax-based features into a thin-client application
b Change the font and color of a single cell or entire row in the Gantt Table
b My nodes resized when I display them in a JSF environment
b Counting the number of IlvGraphic objects currently visible in IlvManagerView
b Patch installer hangs at the "Installing" step
b Speed up CPU usage when using cyclic datasets
b Reducing the CPU usage in real-time charts that are frequently updated
b Create a java.net.URL to refer to a CSS in a .jar file
b Extend the components of the Rich Web Charts framework
b Customize the look of a selection
b Change the default temporary-file directory used for JViews applications
b Outline an IlvLabel
b Creation and interaction of multi-points links in Diagrammer application
b ClassCastException occurs when deploying Web application on the Tomcat server that came with the JViews distribution
b Display the same order of data sets in the legend as in the Stacked chart area
b Disable the time indicator during a reshape interaction
b Displaying an image map for the title bar area of subgraphs in my JViews Diagrammer JSF Web application
b Interest of the reference View of the SDM engine
b Customize a charts symbol beyond the predefined parameters
b Sample of interactor that handles multiple Y axes zooming
b Slow response time when using interactor that involves drawing ghost rectangle
b Using the dataLabels value in the IlvSwingTableDataSource as the labels of the X axis
b The chart legend doesn't get repaint when changing chart renderer's style in SWT
b Date Line Wrapping feature
b JViews Maps polygons accuracy
b Making a diagram's background transparent to show the HTML page's background image as the background image of the diagram
b Use jvcf:chartSelectInteractor to select all points of a dataset in a JSF application
b Changing the Equipment component layers policy
b Degraded performance on remote Solaris machine vs local machine
b Use of the API to switch off the frame, the fill or the icon of an App6a symbol
b Retrieving a business object from a view interaction
b Pack200 with signed JARs
b Integrating JViews Framework link connectors in JViews TGO
b Change the behavior of the IlvDiagrammerViewBar's zoom buttons to zoom and focus on the selected graphic objects
b Populate an IlvSDMModel and create subgraphs programmatically
b Select a link in an IlvLinkBundle
b Getting the graphic representation of my IltNetworkElement.Type
b Hello World sample for Rogue Wave JViews TGO
b Hello World sample for JViews Charts
b Drawing the activity name on top of the activity bar
b Use of IlvFilterSDMRenderer to set the background of a grapher using a CSS property
b Restrict the activity displacement/resize to a certain threshold to create a "snap" effect
b Customizing the vertical lines of the gantt sheet
b Difference between map layers and manager layers, and use in the IlvLayerTreePanel
b Support for cloned actions in the IlvDashboardEditBar
b Setting position of a symbol in the dashboard editor
b Printing diagrammer view at current zoom level
b Configure Eclipse to show JViews Javadoc
b Usage of IlvHitmapDefinition class to customize a tooltip in JSF
b PATH syntax for loading an image file into an IlvIcon instance
b Control the deletion of some selected nodes in a JSF application
b Unable to change the background color of the gantt's IlvTimeScale
b Making the background of Gantt Sheet transparent
b Silent JViews Installation
b Hiding the label of IlvGeneralLink
b SecurityException when using the latest jar files
b Programmatically expanding subgraphs
b Modify the keyboard shortcuts in Dashboard Editor
b Symbol Editor: relative path for an icon parameter
b Dashboard Editor Search Path for Palettes
b Blink property of JViews objects does not work on JSF page
b Extending the Symbol Editor with custom CSS functions
b Symbol works fine in English locale but disappears in Turkish locale
b Highlight row in the Gantt sheet of a Gantt chart when selecting an activity
b ConcurrentModificationException during diagram refresh in a JSF application
b Set a different background color for a specific interval in the gantt sheet
b Getting the activity on which a Collapse/Expand event occurs in the Gantt table
b Highlight the selected row of a gantt table in thin client environment
b Configuring Transparency value of layers in Map Builder
b Drawing a scale on every axis of a radar chart
b Security warning when running JViews application with applet on Microsoft Windows operating system
b Add App-6a symbol to palette bar
b Multiple tab browser support
b Control the visibility of the JSF JViews Gantt Chart root row
b Control the visibility of IlvMapLayers depending on the scale
b Always show the label on the activity in JViews Gantt
b Override the resizable view in JViews JSF application
b NotSerializableException when deploying chart/gantt/diagrammer on JSF
b Setting the Date Format in the csv flat file
b Prevent long labels on the horizontal axis from overlapping the 3D chart
b Getting java.lang.NoClassDefFoundError: com/ibm/icu/util/ULocale after migrating to JViews 8.8
b Display a label using IlvMakeMeasureInteractor when 2 points are really close to each other
b Increase width of IltLink on mouse over
b Hit-testing on various parts of a chart
b Reading DWG files in JViews Enterprise
b Customizing a predefined chart symbol in the distribution to use in Dashboard Editor
b Signing JViews jars when distributing them with my application
b Latest License Management System for ROGUEWAVE ILOG Visualization Products
b Some Asiatic characters are not displayed
b Select an activity and display popup menu with right click in thin client
b java.io.IOException: reading encoded JPEG Stream messages in servlet logs
b Customize tooltip text for SDM node
b Setting different tooltips on JSF objects in the same jsp page
b Render different colors for a symbol based on a property
b Performance difference between THREADED_REDRAW and DIRECT_REDRAW mode
b Special character is being added to node's label when exported to SVG file
b Expand or collapse a subnetwork programmatically
b Hard-coding the name of the icon in CSS
b Step by step to deploy a JViews application under WebSphere Application Server 8.0
b Usage example of IlvBusLayout
b java.io.IOException: reading encoded JPEG Stream messages in servlet logs
b Connecting data to multiple Y axis on chart
b Retrieving WGS84 coordinates from an USRP map
b Dynamically collapse objects with no new alarms and expand objects with new alarms by using CSS
b Logging facility for JTGO
b Implement dragging and dropping between the IlpTree and the IlpNetwork
b Using TableCellEditors with the IlpTable
b Implementing Alarm Propagation at the level of the data model
b JViews TGO Faces Web application deployment in TOMCAT 5.x or 6.x
b Disable sorting when clicking on the header of an IlpTable
b My application is slow on remote displays
b Using IltSettings.SetValue to change the graphic representation does not work
b Usage of JTGO in a multithreaded application
b Updating the style information through the API
b Patch installer hangs at the "Installing" step
b Is Rogue Wave JViews 100% Java coded?
b Support of Java 2 platform SDKs by Rogue Wave JViews
b Internationalization in Composer sample
b JViews graphic objects do not derive from java.awt.Component or javax.swing.JComponent classes
b Notification when a subnetwork is collapsed or expanded
b Show only a selection of object hierarchies in the network
b Dynamically expand/collapse a network element based on new alarms via CSS
b IlpTree is not re-sorted after a change to an object in the tree
b Restrict panning to the boundaries of my Network or Equipment component
b Setting an IlpGeographicPositionConverter via CSS
b Load-On-Demand (LOD) mechanisms can be used with ILOG JTGO
b Enable object interactor to work along with IlvManagerViewInteractor.
b Difference between the methods performLayoutOnce and setNodeLayout
b Calling fitTransformerToContents does not always work
b Set a select interactor to a network
b Display certain types of IltObject on top of another type of IltObject
b Styling management evolution among versions
b IlpEquipment-specific tips that can be used to improve performance
b Object identifier for IlpObject
b Objects alarm state in ILOG JTGO
b Manipulate the size of the network element
b Introduction to the JViews TGO layer policy
b Subclasses of IlvManagerViewInteractor can be set to a network
b The relationship between the classes IltObject, IlpObject, IlpClass and IlpRepresentationObject
b Handle the visibility of the objects
b Retrieving IlpGraphic or the IlvGraphic corresponding to an IltObject
b Sample showing a network component with BTS elements
b Customizing predefined interactor buttons on the toolbar
b Filtering objects representation creation at datasource addition time
b Tips to improve performance on IlpNetwork
b Filtering techniques available with JViews TGO
b Sample showing how zooming on a network component can affect the visibility of labels
b Changing the appearance of the constraints in a Gantt chart
b Implementing an information box on an IlvManagerView
b An IltInvalidStateException is thrown when I call IltNetworkElement.setState(IltState state)
b Sample showing a network component having two nodes and a link
b Sample listing the IltcLayer and IlvManagerLayer layers of a network component
b Set the relative size of the Diagrammer in JSF
b Vertical layout of an activity in a Gantt row
b Redrawing a specific part or the entire IlvChart
b Configure Map Builder to support relative path for the points image source property
b Translating the printing dialogs
b Gantt data model entities deprecation
b Customizing the Gantt Time Scale
b Customize a view template implementation given in an Application Framework application
b Manager layer accessibility
b Creating one bar chart from several data sources
b Moving the submanager when an internal object is moved
b Menu-controlled visibility of a prototype having a multirep behavior
b Setting margins of a diagram, for example after a graph layout
b Diagrammer building based on flat files
b Obtaining latitude and longitude coordinates given a city name or postal code
b Make objects blink in an application
b Multiple stacked bar charts along the z-axis
b Expanding or collapsing subgraphs in thin-client applications
b Accessing the scrollbars of IlvHierarchyChart
b Preserve the position of a node in a hierarchical layout after the node has been replaced
b IlvGeneralNode will not redraw correctly after changing any of the property
b Globally defining by code a chart property that is not specific to a series, and that is evaluated in the .css
b Make the select interactor select an object that intersects the drag rectangle
b Specify slice colors in a pie chart using CSS
b Draw a bi-directional link in JViews
b Customize a JToolTip for an IlvDiagrammer
b JSF Gantt: pattern format for dates in the JSF Tags
b Changing the tooltip style when using jvf:tooltipInteractor
b Adding the DeploymentLicenseRequired declaration in JSF Web Application (Only Apply to 8.7 & 8.8)
b How to correctly display a non-North aligned GeoTiff image in JViews Maps
b How to implement remote code protection
b JViews installer is failling on windows with error "Windows error 2 occured while loading the java VM"
b how to update my code to adapt to the new precision of JViews 2017