Ax Graphics Migrated to Niagara 4 - Known Issues


Posted on

Since the release of Niagara4 there has been growing confusion concerning the use of the “HTML5HxProfile”. The “HTML5HxProfile” is simply a new and additional Hx profile that has been enhanced to support the HTML5 markup language. The “HTML5HxProfile” profile is the best Px viewer of the various Hx profiles available in Niagara4. This means that your AX graphic pages that were designed for Hx profiled users will be enhanced after migrating to Niagara4. However, if those same graphic pages were designed for workbench (Wb) profiled users, the switch to “HTML5HxProfile” may not be as desirable and there could be problems displaying the Px page.

The PxToHx converters originated in AX with the purpose of converting the PxPages created in AX workbench to html views in a browser. This code remains relatively unchanged in Niagara4. The bottom line is, if you created the Px graphics in AX using the ‘HxMedia’ type, and those graphics were targeted for AX users with Hx Web Profiles, then the graphics will display as well or better in Niagara4.

Where users are running into trouble is when the designers of AX graphics start with the “Workbench PxMedia” (which is normally the case). This ‘target media’ type allows the graphic creator to add any workbench view, even if that view does not have a PxToHx converter. When this style of Px pages are migrated to Niagara4 and the “HTML5HxProfile” profile is selected, it is very unlikely the pages will display as expected. Tridium is working to create Niagara4 PxToHx converters for all views, however most are scheduled for a future version of Niagara4.

Ideally, graphic designers should create Px pages using the “Hx PxMedia” due to the fact that this type of ‘target media’ will warn the designer (figure 1) when there is no PxToHx converter for the object being added to the graphic.

User-added image

The above being understood there are some modifications that can be made to typical workbench profiled graphics to allow them to operate better in the "HTML5HxProfile".

Problem Jira # Workaround
Gradients - currently not supported in N4 NCCB-12450 Fixed in
Work Around:Use an SVG image on a Label as a background
Radio Buttons - currently not supported in N4 NCCB-12454 Fixed in
Canvas, scale, fit ratio - currently not supported in N4 NCCB-14557  Fixed in
Work Around: Change fit ratio to none. 
Borders : inset - currently not supported in N4  NCCB-15913 Fixed in
Change to solid or none
HxPx does not have support for groove, ridge, inset or outset NCCB-15913 Fixed in
HXPX has support for none, solid dotted and dashed
Mouse over styling does not visibly change in HxPx when used with full image NCCB-15941
Work Around:manually inspect all EnhancedBoundLabels on all PX pages and Ensure they are all user EnhancedValueBindng instead of the regular ValueBinding. This will help it render in hxpx.
IE10: Overlapping labels prevent hyperlinks from working in HxPx NCCB-15943 Fixed in
HxPx transparent canvas background makes child widgets incorrectly transparent NCCB-15876 Fixed in
Work Around:Edit the canvas background and choose a solid color.
WB bindings to the ReportService (component and BQL reporting grids) do not render with HTML5HxProfile. The page displays blank. NCCB-17084
Fixed in 4..35.1
The Piping/SmallPiping/CWS horizontal and vertical pieces are backwards i.e. horizontal pieces are actually vertical. Also the DuctHorzBypass.svg the height of the duct in the bypass section is to big so none of the other objects (dampers, coils...ect) don't line up with the duct. NCCB-17085 For the piping, they are just named wrong and they can use vertical in place of horizontal and visa versa. There is no work around for the bypass damper.
In AX a PXView with a BoundLabelBinding to invoke a BQL query to request number of rows in a table. NCCB-13473 BQL syntax has changed in N4, and BQL queries on a PX page may not work as intended. Example of sample queries: Replace station:|slot:/Drivers/NiagaraNetwork|bql:select name as "Point Name", slotPath as "Unit Description", out as "Point Status" from control:ControlPoint|bql|size to :|slot:/Drivers/NiagaraNetwork|bql:select count(*) from control:ControlPoint|cell:0,0
In a browser, when viewing a Special Event "Custom" event, the dialog box incorrectly displays the custom settings. The "week" setting selection will always match the "month" selection. NCCB-18360
Alarm console buttons cutoff incorrectly when you re-size the browser window NCCB-17496
Hx History Chart Builder is missing right-click export view export and data. This feature allows the user to export to csv, html, text and pdf in the workbench view. NCCB-13859 
Provide export button in Hx profiles to provide easier access to exporters (BoundTable) NCCB-12659 
Provide export button in Hx profiles to provide easier access to exporters (GridTable) NCCB-12659 
SetPointSlider with vertical orientation is flipped in HxPx View NCCB-18204 Fixed in
SetPointCheckBox appears cutoff in a browser view (HTML5HxProfile) NCCB-18447 
Using the html5 profile, right-click on an outgoing account > Actions > Send
All the fields of the pop-up window cannot be edited from the browser.
(Works fine in workbench/wbProfile)
The scheduler view won't let you save a schedule on a tabbed pane (first tab seems to work, but if you make a change on any other tabs the save icon stays grayed out).
The schedules on the other tabs also won't let you perform right-click actions like, Apply Mon-Fri, etc.
NCCB-18461 Fixed in
Polygons with width 0 or height 0 don't render in HX, nor in HTML5. A graphic with vertical lines being generated by Px ‘path’ button (on the canvasPane) contains lines have a width of zero, and they do not render.
NCCB-17318 Fixed in
If the ‘path’ is not exactly vertical it will render. So, if you take one end of the path figure and move it slightly so it is not exactly vertical, then save the Px, you will see it display in the browser.


Don't use "Path" from the BajaUi palette. Instead, use "Line" from the same palette.
Subordinate Niagara stations (JACEs for example) have histories in a Supervisor. The Histories are displayed in Px Views, and should re-use Px files. This is similar to relativized Point ORDs, but for Histories instead. Not a JIRA issue.

Available in AX and N4 but not widely used.
Note this shorthand is only intended for history views embedded within a Px graphic, and does not work with hyperlinks.

A special history ID syntax was required to provide a mechanism for graphics which are portable between JACE folders on a Supervisor. For example, given a network with two JACE stations, "Foo" and "Bar":


In the situation above, let's say you want the Graphic to be able to access the OAT history for the respective Niagara stations, as follows:

/NiagaraNetwork/Foo/Graphic -> history:/Foo/OAT
/NiagaraNetwork/Bar/Graphic -> history:/Bar/OAT

In order to accomplish this and allow the Graphic to be portable, a new syntax was added to the History ORD scheme which checks for a '@' character in the History ID. Using the same example as above, the history IDs within the graphics would be reformatted as follows:

/Foo/OAT -> @OAT
/Bar/OAT -> @OAT

The new History ORD scheme will detect the starting '@' character and use the parent Niagara Station instance (the Station name of the JACE, for example) to resolve the history.

Meaning, you have a Px graphic under a Niagara Station. And this Px has embedded widgets whose value binding is the history you want to display. You’d drag the history onto the Px and in the ‘Make Widget’ wizard select ‘Workbench view’, and whatever chart or table. After the widget is created, edit the ‘Wb View Binding’ and replace the device name with the ‘@’ symbol.
N4 charting can relativize Point ORDs just like any pxEditor widget to a value binding.

This will automatically display the Histories associated with the Points. No need to refer to the History ID.

See the attached
Not a JIRA issue. This is a new N4 feature, in addition to the "@" syntax above. The Px View must be a view on a Component, such as the Points folder under a particular device.

1) You can display the history on a specific child-point of the points folder...
...this is standard syntax for a relative ORD.

2) You can display the first 10 children-points (that have with histories)
...the preceding was "slot:" followed by nothing.
Hx page will not load if apostrophe appears in lexicon, double quotes, or single quotes appear on page. Such as, a bound label pointing to a StringWritable containing "HELLO", the double quotes will cause the Hx page not to load. NCCB-10153 Fixed in
Edit the text and replace the problem character with the unicode version. This has some other problems. Alternately you could replace the character with text, such as 6" pipe could be changed to 6 inch pipe.

Some stations have a lot of content. Global changes can be made with the following search and replace procedure using Workbench:

In Workbench, make a Station connection to your Niagara Host (JACE or Supervisor) , and use the Backup Service to create a complete station Backup*.dist file.

In Workbench, make a Platform connection to your Niagara Host, and use the Station Copier to copy that Host's Station to your Workbench PC.

In the menu bar in Workbench, go to Search, and choose Replace in Files. In the window that comes up, enter in the information as directed below:

User-added image 1

Search for:

Replace with:

Files to Replace


Please note that the <Niagara-user-home> will already be filled-in by Workbench. You only need to add the Station-specific path on the right, either by typing, or by clicking on the navigation (folder) icon next to the path.

After hitting OK, make sure to click “Select All” and then hit OK again.

Once the PX changes have been made in the Niagara-user-home, copy the station back to the Host.

Here are a list of items that may not work as expected:

Services as a widget on a px page:
AlarmExtManager - cannot load plugin
AlarmInstructionManager - no ux and hx does not function
AlarmClassSummary - cannot load plugin
CategoryBrowser - no ux and hx does not function
CategoryManager - cannot load plugin
EmailAccountManager - cannot load plugin
HistoryExtManager - cannot load plugin
JobServiceManager - no ux and hx does not function
BatchEditor(ProgramService) - no ux and hx does not function
RoleManager(RoleService) - no ux and hx does not function
PermissionsBrowswer(RoleService) - no ux and hx does not function

Direct HTML5view
AlarmExtManager - resolves to alarm db maint
AlarmInstructionManager - resolves to alarm db maint
AlarmClassSummary - resolves to alarm db maint
CategoryBrowser - resolves to PropertySheet
CategoryManager - resolves to PropertySheet
EmailAccountManager - resolves to PropertySheet
HistoryExtManager - resolves to PropertySheet
JobServiceManager - resolves to PropertySheet
BatchEditor(ProgramService) - resolves to PropertySheet
RoleManager(RoleService) - resolves to PropertySheet
PermissionsBrowswer(RoleService) - resolves to PropertySheet

as a widget on a px page:
Station Manager - cannot load plugin
BacnetDevice Manager - cannot load plugin
LonDevice Manager - cannot load plugin
Any Device Manager - cannot load plugin

N4 Software

Maximize Your Graphics

Used by some of the largest companies in the world

back to knowledge base...