In-place Visualization (IPV) is a feature of Encompass and AX that allows any results field to be assigned a "hover-over" action, producing a popup with additional information related to the field. The Additional information is provided by any Webserver, and may be any standard web page.
The following Describes configuring an simple example:
- Version 2.3.4 of Encompass or AX version 3
- PHP 5 of higher installed (For linux sudo apt-get install php5)
- PHP 5 Lib Curl installed (for linux sudo apt-get install php5-curl)
- Reuse visualization example Page Server attached here:
- API Server Enabled: Webtop.propertieswebtop. apiEnabled=true
- IPV enabled: webtop.properties : ipv.enabled=true
- Proper network access, to port 8000: For Linux non prod environments "sudo ufw disable"
Generally speaking you must create a new column Action definition that references the IPV view, then assign this action to a Column Definition in a "GroupBy" Section as usual.
Creating a New IPV Action:
This is done in the <ColumnActions> Section of the config:
<Action column="cpn" id="part-preview" label="Part Preview">
With the above configuration, when a column with this action assigned in hovered over, the action will do an HTTP GET to the "endPoint" and send as parameters the "cpn" attribute for the ROW which the action was launched.
- SourceId: A unique ID for this action, may be anything unique
- Width/Height: the initial size in pixesl of the hover over window
- httpMethod: GET | POST
- encpoint: the URL to the server and page that will create the the view
- inputAttributes: A comma separated list of index field names whose values will be sent as arguments to the GET or POST
- <Auth> disabled | basic
- auth.user/auth.pass: Credentials used only if BASIC auth is selected.
- <attributesToValidate>cpn,description</attributesToValidate> Thsi list fields that if NULL the rendering of hover over will be skipped
Map GroupBy To Action
Within a a GroupBy Section map a given column to newly created action
<Column catid="agile common" field="part-preview" filterable="false"
label="" size="24" visible="true" icon="resources/images/log.png">
<ActionLink id="part-preview" />
Configure the Sample Server
Please note this is a sample server, ment only as an example. In production any technology may be used. This example will show a simple webpage that will reder either a whole tab or a popup, using PHP and retreiving additional data from Encompass/AX using the REST API.
Extract the Sample server package : tar xaf REUSE_VIS_DEMO.tar.gz
in www/lib/encompass_api.php edit the PSW_SERVER_URL:
$PSW_SERVER_URL = "http://172.30.1.40:8080/encompass";
Please note the IP address if on EC2 in a VPC must be the NAT'd address not the public IP, this is not a n issue with encompass rather the way EC2 networking opperates.
Start the php server, (StartServer.php)
Restart Encompass, and Test
Updated Example see IPV_exmaple.tar.gz
The rendered content is NOT in an IFRAME, as a result globall CSS cant be used. Its best to enclose your page in a master div, set the class then tie CSS to that class.
Also as its NOT an IFRAME its possible for the rendered CSS and HTML to pollute the main UI.