BAS Briefing

niagara presentation xml

Efficient PX Graphics in Niagara

niagara presentation xml

Introduction

In my position, I often end up replacing or finishing PX graphics made by other contractors. While style is certainly subjective, there are almost always some very large mistakes I see being made in regards to the scalability/reusability of these graphics, specifically. PX files end up commonly copied/pasted just to use absolute ords on each binding, opportunities for reusable includes are missed, and as a result of the amount of manual work being done, there are even constant misspellings and typos. There are a large number of best practices and efficient tricks to creating and maintaining graphics more easily within Niagara, and we’re going to go over some of the most useful ones today!

Requirements

PX graphics are very adaptable, and you can make them fit to any station. However, everything I’ll say in this guide will be working with a few assumptions in regards to your station. The biggest, and most important, is that you have consistent point naming. Re-using any PX files will require that each device of a similar type has the same point names for the same data, for example, HTG_O for your heating valve actuator command, SF_C for your supply fan command. If your data model isn’t consistent, scalability becomes a major problem, for far more than just PX graphics.

It’s also important to keep a consistent file structure. This is easier to work around than inconsistent naming, but if one AHU has all points directly under the device’s “points” folder, and another has subfolders under “points” for “outputs”, “inputs”, and “setpoints”, that inconsistency will also cause problems. Similarly to point naming, this can also limit you in other ways, such as making you unable to filter a BQL query with something like “where parent.parent.name like ‘AHU*‘“.

Ord Relativization

To start, let’s take a look at our station. To keep things simple and quick, all we have are some reheat coils, with Zone Temp, Zone Temp Setpoint, and Heating Valve Output, with each coil in its own folder. We also have a Discharge Air Temp Sensor in some reheats, but not all. Below is a screenshot of our station:

niagara presentation xml

Most commonly, when someone is new to Niagara, I see them binding ords in PX files by just copying the absolute ord (station:|slot:/TravisLogic/DemoReheats/RHC_1/ZN_T, in this case) and pasting it into the binding. They then do all linking to direct PX files in the file tree of the station. This, however, is incredibly inefficient. Niagara allows you to tie PX graphics to folders directly, and in doing so, provides several tricks to re-use files. To start, we want to right click one of our device folders (RHC_1, to start) and choose “new view”. This gives the following UI:

niagara presentation xml

You point to an existing file in the Source→Px File option, but you can also point to one that doesn’t exist, and Niagara will create a blank graphic for you to work with. After this view is added, the default view of this folder will no longer be property sheet, but our graphic. First, lets set up our Zone Temp binding! This should mostly be familiar, but here, we’re going to use a relativized ord. If you bind to “slot:” on a PX graphic, it is functionally identical to binding directly to the folder we are viewing. Continuing to build out our ord from here will specify slots under the current folder. Below is our configuration for Zone Temp’s value label:

niagara presentation xml

Now, this label will hold the correct Zone Temp on every folder, and allow us to re-use our PX file across all RHC_X folders!

PX Object Degradation

One thing you may have noticed is that not all folders have the same points; We have a Discharge Air Temp in some reheats, but not all! Often, even when a contractor knows how to relative ords, they would split this into 2 different PX files, which can be harder to maintain. If you update to a newer graphical standard, for example, this means you have to make these changes twice! Luckily, there are also a few tricks to get around this limitation. To start, we’re assuming you’ve already added a discharge probe graphic and label to our existing graphic, and you’re viewing it from RHC_2’s folder.

In label bindings, there is a property called “degradeBehavior”. This will determine how an object in a PX graphic responds if the ord is unresolved. This option is what we’ll use to hide our discharge probe graphic and labels when they don’t exist. To start, we need to add some bindings that aren’t used for animation. We should already have our binding on the value label for Discharge Temp, but we need to add the same binding to the probe graphic and Discharge Temp label as well. To add a binding, you just have to click the icon circled below, and then choose “kitPx:Bound Label Binding” in the resulting popup:

niagara presentation xml

This gives us the same binding as we get on Bound Labels, so all we need to do is add our “slot:DA_T” ord, then in degradeBehavior, just choose “Hide”. After making this change, we can view RHC_1 and RHC_2 using the same graphic, but Niagara hides our Discharge Temp info if it doesn’t exist.

This works very reliably, but one thing to point out is that if an object is hiding on degrade, it’s tough to select in the PX editor. Ideally, you want to edit this graphic on devices that have all possible points, but in a pinch, you can drag a box over where the hidden objects are placed, and edit them that way.

Bulk-Adding PX Views

Now that we have our graphic built and ready to go, we want to add the view to every RHC folder. This can be done manually, but the Batch Editor allows us to add these views to all applicable folders at once. I made a more in-depth Batch Editor guide previously, and I will link to it down below, but I’m covering it here because there are some specific quirks to using the Batch Editor to add views specifically that I want to cover.

As usual, we want to select all of our target folders, in this case all RHC folders, and we want to use the “Add Slot” action in Batch Editor. Our specific type is baja:PxView. Below is the configuration I’m using here:

niagara presentation xml

We already have this view on two of our reheats, but since we’re using the same slot name and checking “Set if exists”, it doesn’t hurt to apply this action to all RHC folders. Now, at first glance, it appears to already be done, but this lack of clarity is why I’m documenting this process specifically. If you were to log in with a non-admin account, these graphics actually wouldn’t show up! The screenshot below shows why this is the case:

niagara presentation xml

The Graphic slot we just added was added with no slot flags; Graphics actually aren’t visible to non-admin users without the “Operator” flag checked. Luckily, this is easy to remedy with the Batch Editor. With our same list of all RHC folders still in place, we can choose “Edit Slot Flags” and add this operator flag. Below is a screenshot of what we’ll set in the Batch Editor to make this fix.

niagara presentation xml

PX Includes

The final important thing I see contractors regularly miss is usage of PX Includes. These allow you to re-use small PX files to tie data to multiple different folders. We’re going to make an include that will show some our RHC name and current Zone Temp, as well as link to the RHC graphics we just made. First, we need a blank graphic on our parent folder “DemoReheats”, and we also need to make a new PX file to serve as our include. We then want to start off as normal, and build a small graphic with absolute ords. Once we have that built, we’ll do a bulk ord search+replace by clicking the button circled below:

niagara presentation xml

We’ll want to populate the search and replace dialog box with the following:

niagara presentation xml

Our resulting ords look a little strange, but it will make more sense in a moment! For now, just remember that we are replacing the ord to the device with $(device) (Technically any string inside of the $() will work). Save this change, and the graphic should lose all data in the direct PX file view. This is expected! This ord is invalid outside of properly deployed includes. To deploy this, we’ll want to go to our overview graphic, select all of our RHC folders, and drag them out onto the PX file. This will give the following popup, which I’ve filled out:

niagara presentation xml

Make sure to select “device” under our PX file variables; This can be easy to forget, but Niagara won’t properly populate our PX includes if we do! We end up with a series of PX objects populated with basic data, as well as links to the individual graphics if we made sure to add a blank label over top, with a bound label binding and $(device) in our hyperlink slot. Below is how this will look in the end:

niagara presentation xml

Obviously this is quite ugly, but fortunately, this is a technical guide and not a graphic design guide!

Additional Resources

As always, you can use ctrl+L inside of Niagara and paste in the following documentation ords to view them.

PxInclude Widget: module://docGraphics/doc/AboutthePxIncludeWidget.html

PX Data Binding: module://docGraphics/doc/aBindingTypes.html

If you’d like to be notified of future guides, enter your email below!

niagara presentation xml

Ready for more?

Navigation Menu

Search code, repositories, users, issues, pull requests..., provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

  • Notifications

Latest commit

File metadata and controls, web development in niagara 4.

  • Logan Byam, JJ Frankovich, and Gareth Johnsom
  • Software Engineers @ Tridium

Note: this slideshow was originally delivered as a live, HTML/JS-based demonstration running in a browser. Therefore, Powerpoint slides were not created. This is a Markdown export of the original text and images.

UI Development Basics

Open Source Java Web Server

Servlet version 3.1 compliant

Supports Web Sockets

Servlets in Niagara

BWebServlet : Servlet Components in a Station.

BServletView : Servlets that are Niagara Views.

HttpServlet : traditional Java Web Servlets.

NiagaraRpc : Remote Procedure Calls new to Niagara 4.1.

Servlets as Components

Servlet components - step 1.

Extend javax.baja.web.BWebServlet , implement doGet() ...

Servlet Components - Step 2

Implement servletName Property...

Servlet Components - Step 3

Run slot-o-matic

Add to the module's palette

Start Station

Add the Servlet to the Station from the palette

Open a browser and navigate to https://localhost/myServlet

Servlets as Views

Servlet views - step 1.

Extend javax.baja.web.BServletView , implement doGet() , register view as an agent...

Servlet Views - Step 2

Slot-o-matic, build etc.

Open browser to a MyComponent instance...

https://localhost/ord/station:|slot:/MyComponent

Standard Java Servlets

Httpservlet - step 1.

Extend javax.servlet.http.HttpServlet ...

HttpServlet - Security

Validate all inputs. Check what you're given.

Use org.owasp.encoder.Encode to prevent XSS (cross-site scripting) attacks.

Follow OWASP best practices guidelines - https://www.owasp.org

When resolving ORDs, pass in a user Context.

When working with Components, check security permissions.

HttpServlet - Step 2

Add WEB-INF/web.xml :

HttpServlet - Step 3

Ensure web.xml is picked up during the build...

Build, start Station, etc.

Open browser to...

https://localhost/webServerDemo/myFirstServlet/rocks

Remote Procedure Calls

Make JSON Remote Procedure Calls via...

  • RESTful Web Server

Annotation based

Transport agnostic

NiagaraRpc Server

Annotate a Java method...

NiagaraRpc Client

Invoke via BajaScript...

Invoke via AJAX...

Invoke via Fox...

NiagaraRpc Overview

RPC methods can be static or instance based

Supports multiple arguments

Java Collection encoding/decoding

Developer can define security permissions

Developer can define support transports

Data format is pure JSON

Web Server Conclusion

Create Servlets in a variety of ways via...

  • Standard Java technology

NiagaraRpc provides a super simple way to create RPC calls!

Client UI Technologies

What's new in n4, bajascript v2.

Workbench Web Browser

Why all this new stuff?

Applet's days are numbered

bajaui outdated

Capitalize on open source and innovation

What is BajaScript?

  • JavaScript data API

Resolve and Subscribe

  • Database queries

Tags and Relations

  • Not a UI framework

Keep up to date with Niagara data values.

Database Queries

Retrieve data from the history and alarm databases.

Query for tag and relation data from components.

Unit Database support

Convert numeric values between units of measure.

Promises are new in BajaScript v2.

Interact with other promise-based libraries.

(Callbacks still work.)

http://bluebirdjs.com

What is a Promise?

A unit of asynchronous work

Can be fulfilled or rejected

Bring try/catch/finally semantics to asynchronous code

Can be orchestrated / grouped together

A Promise is like...

image of a restaurant pager

Promise example

Try/catch/finally, offline support.

As of 4.2, BajaScript can be used to configure offline BOG files in Workbench.

Implement BIOffline to mark a field editor or type extension as supporting offline mode.

  • Keep JS modular
  • Load the code you need, when you need it

User interface framework: bajaux

What is bajaux .

is an HTML5 widget framework

that integrates with the Niagara Framework.

We used it to write a new Property Sheet, Web Charts, Search, and more.

What is a Widget ?

Self-contained UI element in the browser.

Can be small and simple, like a button.

Or made of many child Widget s, like a Property Sheet.

It can hold a data value.

It can integrate with Workbench, the web Profile, Px, and Hx.

How to write a bajaux Widget

You will need:

  • JavaScript.

Key API: Widget

Base class from which all Widget s inherit.

Specify its behavior by overriding certain functions.

Key API: fe

I have a Baja value .

I want a Widget for it here .

I want it to just work .

bajaux Workflow

Make a widget .

Bind it to an element in your page.

Load in a value.

Read it back out.

Save changes.

bajaux Override Points

doInitialize() : bind a Widget to a DOM element (once)

doLoad() : load a value in (multiple times)

doRead() : read the current state of the Widget

doSave() : commit changes made to the Widget

doDestroy() : release resources held by the Widget

Example Widget

image of a RangeSlider

doInitialize()

Bind the Widget to an HTML element. Call it once .

Give it a value, and the value gets loaded into the widget. Call it many times.

Read the current state of your widget.

Stay up to date

Save changes, properties().

Use properties() to expose properties you can change in the Px editor.

image of bajaux Properties edited in the Px editor

Framework integration

Create a Java class that tells the framework where to find your JS code.

Register it as an agent on a Type.

image of SimpleGauges embedded in a Property Sheet

Workbench integration: Commands

bajaux Widgets have Commands. Workbench can invoke them.

image of SimpleView invoking a Command

Workbench integration: Events

bajaux Widgets fire events. Workbench can listen for them.

  • Find bugs before they occur
  • Maintain code quality

image of JSHint report

  • Test-driven JS development
  • Run tests in all browsers at once

image of Karma report

Open source tools

Tridium provide some open source tools to ease development.

  • niagara-station : start/stop stations in Node
  • niagara-test-server : station test utilities (login, spec filtering)
  • grunt-niagara : smart defaults for linting and testing
  • grunt-init-niagara : boilerplate for brand new web modules

https://github.com/tridium

Quick note: public vs. private API

image of UI developer documentation in Workbench help

Jump in and play

Check the docDeveloper palette.

image of bajaux example being run from the docDeveloper palette

  • Mark Forums Read
  • Who's Online
  • Thanks / Like Statistics
  • Hottest Threads / Posts
  • Contracting Business
  • Advanced Search

Home

  • The ARPA Zone/Open Membership Discussion Forums

Some images not visible in JACE web page?

  • Cookie Consent We use cookies to improve your website experience. To learn about our use of cookies and how you can manage your cookie settings, please see our Cookie Policy . By continuing to use the website, you consent to our use of cookies.
  • Gain access to our free AOP (Ask a Professional) Section to get real answers for your questions. All this and much more is available to you absolutely free when you register ; for an account, so join our community today today! We suggest not registering using an AT&T, BellSouth, AOL or Yahoo email address. If you have any problems with the registration process or your account login, please contact support .

Next

  • Jump to page:

Thread: Some images not visible in JACE web page?

Thread tools.

  • Show Printable Version
  • View Profile
  • View Forum Posts
  • Visit Homepage
  • View Forum Threads

glennmcaz is offline

I have used some of the canned graphics from KitPxHVAC in my AX JACE and WB. I tried viewing the page through the local loopback of 127.0.0.1. Some of the pipes show up, but others don't. I also don't have the ducts appearing. I've compared properties of the items that appear to those that don't and the properties are identical. I've also made sure the KitPxhvac is in the software on the platform (local and remote). Anything you guys can think of? Thanks in advance.

leaflying is offline

Upload your px file.
Say it...t!

codewriter's Avatar

Upload the px to what? I think he is running the station on his pc. Your running the station in workbench and then opening your browser and typing in "localhost" and then enter right? Do you have both 3.0 and 3.1 loaded on the pc your using? Post up the px file also, lets have a look.
I am running it both on the PC and a 201. The KitPx and KitPxHvac are both on the remote platform (quadzillion checked). These are basic test pages that aren't even going to work right as far ass the points are concerned (and i re-found the Label item so I don't have to use the Bound Lable and unanimate it anymore). It's just certain images such as the pipewarmvert, and then the dpsshort... there are others, too, though. Here's the xml <?xml version="1.0" encoding="UTF-8"?> <!-- Niagara Presentation XML --> <px version="1.0" media="workbench:WbPxMedia"> <import> <module name="baja"/> <module name="bajaui"/> <module name="converters"/> <module name="gx"/> <module name="kitPx"/> </import> <content> <ScrollPane> <CanvasPane name="content" viewSize="800.0,600.0" background="silver"> <BoundLabel layout="300,90,140,115" background="#e0e0e0" border="top(1.0 solid black) right(1.5 solid black) bottom(1.5 solid black) left(1.0 solid black)"> <BoundLabelBinding/> </BoundLabel> <BoundLabel layout="243,320,7,30" image="module://kitPxHvac/piping/hotVert.gif"/> <BoundLabel layout="278,273,7,33" image="module://kitPxHvac/piping/hotVert.gif"/> <BoundLabel layout="229,340,7,95" image="module://kitPxHvac/piping/warmVert.gif"/> <BoundLabel layout="150,309,83,7" image="module://kitPxHvac/piping/hotHoriz.gif"/> <BoundLabel layout="449,396,40,7" image="module://kitPxHvac/piping/hotHoriz.gif"/> <BoundLabel layout="370,385,40,7" image="module://kitPxHvac/piping/hotHoriz.gif"/> <BoundLabel layout="530,332,25,40" image="module://kitPxHvac/devices/pipeSensorTop.gif"/> <BoundLabel layout="393,233,25,40" image="module://kitPxHvac/devices/pipeSensorTop.gif"/> <BoundLabel layout="320,326,7,33" image="module://kitPxHvac/piping/hotVert.gif"/> <BoundLabel layout="409,324,41,25" image="module://kitPxHvac/equipment/pumpHotLeftTrue.gif"> <ValueBinding/> </BoundLabel> <BoundLabel layout="409,380,41,25" image="module://kitPxHvac/equipment/pumpHotLeftTrue.gif"> <ValueBinding/> </BoundLabel> <BoundLabel layout="370,329,40,7" image="module://kitPxHvac/piping/hotHoriz.gif"/> <BoundLabel layout="340,345,21,29" image="module://kitPxHvac/piping/hotTeeW.gif"/> <BoundLabel layout="350,326,21,21" image="module://kitPxHvac/piping/hotElbowSE.gif"/> <BoundLabel layout="350,371,21,21" image="module://kitPxHvac/piping/hotElbowNE.gif"/> <BoundLabel layout="260,357,83,7" image="module://kitPxHvac/piping/hotHoriz.gif"/> <BoundLabel layout="518,368,58,7" image="module://kitPxHvac/piping/hotHoriz.gif"/> <BoundLabel layout="449,340,40,7" image="module://kitPxHvac/piping/hotHoriz.gif"/> <BoundLabel layout="488,337,21,21" image="module://kitPxHvac/piping/hotElbowSW.gif"/> <BoundLabel layout="488,382,21,21" image="module://kitPxHvac/piping/hotElbowNW.gif"/> <BoundLabel layout="498,356,21,29" image="module://kitPxHvac/piping/hotTeeE.gif"/> <BoundLabel layout="308,313,21,21" image="module://kitPxHvac/piping/hotElbowSW.gif"/> <BoundLabel layout="276,302,21,21" image="module://kitPxHvac/piping/hotElbowNE.gif"/> <BoundLabel layout="290,289,25,50" image="module://kitPxHvac/valves/globeValve2Way.gif"/> <BoundLabel layout="265,269,103,7" image="module://kitPxHvac/piping/hotHoriz.gif"/> <BoundLabel layout="241,344,21,21" image="module://kitPxHvac/piping/hotElbowNE.gif"/> <BoundLabel layout="226,266,21,21" image="module://kitPxHvac/piping/hotElbowSE.gif"/> <BoundLabel layout="231,306,21,21" image="module://kitPxHvac/piping/hotElbowSW.gif"/> <BoundLabel layout="216,283,21,21" image="module://kitPxHvac/piping/hotElbowNW.gif"/> <BoundLabel layout="7,269,211,91" image="module://kitPxHvac/equipment/heatExchanger.gif"/> <BoundLabel layout="364,269,103,7" image="module://kitPxHvac/piping/hotHoriz.gif"/> <BoundLabel layout="243,207,29,75" image="module://kitPxHvac/devices/dpsShortBtmAlarm.gif" valign="fill"/> <BoundLabel layout="120,30,110,30" text="1738 Home" background="#e0e0e0" border="top(1.0 solid black) right(1.5 solid black) bottom(1.5 solid black) left(1.0 solid black)" mouseOver="highlight"> <BoundLabelBinding hyperlink="file:^PX_Files/1738home.px" statusEffect="none"/> </BoundLabel> <Slider layout="469,260,200,20" min="140" max="200" value="155"> <SetPointBinding widgetEvent="actionPerformed" widgetProperty="value"> <IStatusToBrush name="trackBrush"/> </SetPointBinding> </Slider> <BoundLabel layout="474,240,190,17" text="Discharge Water Temp Setpoint"> <BoundLabelBinding statusEffect="none"> <IBooleanToSimple name="image"> <Image name="trueValue" value="null"/> <Image name="falseValue" value="null"/> </IBooleanToSimple> </BoundLabelBinding> </BoundLabel> <BoundLabel layout="475,445,100,7" image="module://kitPxHvac/piping/warmHoriz.gif"/> <BoundLabel layout="375,445,100,7" image="module://kitPxHvac/piping/warmHoriz.gif"/> <BoundLabel layout="280,445,100,7" image="module://kitPxHvac/piping/warmHoriz.gif"/> <BoundLabel layout="245,445,100,7" image="module://kitPxHvac/piping/warmHoriz.gif" valign="fill"/> <BoundLabel layout="227,431,21,21" image="module://kitPxHvac/piping/warmElbowNE.gif"/> <BoundLabel layout="217,320,21,21" image="module://kitPxHvac/piping/warmElbowSW.gif"/> <BoundLabel layout="500,400,99,20" text="Return Water Temp"> <BoundLabelBinding statusEffect="none"> <IBooleanToSimple name="image"> <Image name="trueValue" value="null"/> <Image name="falseValue" value="null"/> </IBooleanToSimple> </BoundLabelBinding> </BoundLabel> <BoundLabel layout="520,420,70,20"> <BoundLabelBinding> <ObjectToString name="text"/> </BoundLabelBinding> </BoundLabel> <BoundLabel layout="210,210,90,19" text="Flow Switch"> <BoundLabelBinding statusEffect="none"> <IBooleanToSimple name="image"> <Image name="trueValue" value="null"/> <Image name="falseValue" value="null"/> </IBooleanToSimple> </BoundLabelBinding> </BoundLabel> <BoundLabel layout="220,230,70,20"> <BoundLabelBinding> <ObjectToString name="text"/> </BoundLabelBinding> </BoundLabel> <BoundLabel layout="309,344,29,21" image="module://kitPxHvac/piping/hotTeeN.gif"/> <BoundLabel layout="267,266,29,21" image="module://kitPxHvac/piping/hotTeeS.gif"/> <BoundLabel layout="10,90,140,115" background="#e0e0e0" border="top(1.0 solid black) right(1.5 solid black) bottom(1.5 solid black) left(1.0 solid black)"> <BoundLabelBinding/> </BoundLabel> <BoundLabel layout="25,155,100,20" text="Pump Status"> <BoundLabelBinding/> </BoundLabel> <BoundLabel layout="25,175,100,20"> <BoundLabelBinding> <ObjectToString name="text"/> </BoundLabelBinding> </BoundLabel> <BoundLabel layout="25,95,100,20" text="Pump 1 Command"> <BoundLabelBinding/> </BoundLabel> <ImageButton layout="15,115,60,30" text="RUN"> <ActionBinding widgetEvent="actionPerformed"/> </ImageButton> <ImageButton layout="85,115,60,30" text="STOP"> <ActionBinding widgetEvent="actionPerformed"/> </ImageButton> <BoundLabel layout="155,90,140,115" background="#e0e0e0" border="top(1.0 solid black) right(1.5 solid black) bottom(1.5 solid black) left(1.0 solid black)"> <BoundLabelBinding/> </BoundLabel> <BoundLabel layout="170,155,100,20" text="Pump Status"> <BoundLabelBinding/> </BoundLabel> <BoundLabel layout="170,175,100,20"> <BoundLabelBinding> <ObjectToString name="text"/> </BoundLabelBinding> </BoundLabel> <BoundLabel layout="170,95,100,20" text="Pump 2 Command"> <BoundLabelBinding/> </BoundLabel> <ImageButton layout="160,115,60,30" text="RUN"> <ActionBinding widgetEvent="actionPerformed"/> </ImageButton> <ImageButton layout="230,115,60,30" text="STOP"> <ActionBinding widgetEvent="actionPerformed"/> </ImageButton> <BoundLabel layout="470,50,140,160" background="#e0e0e0" border="top(1.0 solid black) right(1.5 solid black) bottom(1.5 solid black) left(1.0 solid black)"> <BoundLabelBinding/> </BoundLabel> <BoundLabel layout="490,50,100,20" text="Outside Air Temp"> <BoundLabelBinding/> </BoundLabel> <BoundLabel layout="490,180,100,20"> <BoundLabelBinding> <ObjectToString name="text"/> </BoundLabelBinding> </BoundLabel> <AnalogMeter layout="490,70,100,100" min="-15"> <ValueBinding> <INumericToNumber name="value"/> <ObjectToString name="text"/> </ValueBinding> </AnalogMeter> <BoundLabel layout="320,100,100,20" text="Summer / Winter"> <BoundLabelBinding/> </BoundLabel> <BoundLabel layout="320,125,100,20" text="SUMMER" background="lime"> <BoundLabelBinding/> </BoundLabel> <BoundLabel layout="320,150,100,20" text="WINTER" background="blue"> <BoundLabelBinding/> </BoundLabel> </CanvasPane> </ScrollPane> </content> </px>
I removed a couple of labels to get inside the post limit, but they are just bound labels with text or links to other pages in them... but I forgot that they don't appear in the screen either. <BoundLabel layout="350,275,99,20" text="High Temp Water"> <BoundLabelBinding statusEffect="none"> <IBooleanToSimple name="image"> <Image name="trueValue" value="null"/> <Image name="falseValue" value="null"/> </IBooleanToSimple> </BoundLabelBinding> </BoundLabel> <BoundLabel layout="492,293,108,17" text="Discharge Water Temp"> <BoundLabelBinding statusEffect="none"> <IBooleanToSimple name="image"> <Image name="trueValue" value="null"/> <Image name="falseValue" value="null"/> </IBooleanToSimple> </BoundLabelBinding> </BoundLabel> <BoundLabel layout="214,365,128,15" text="Control Valve"> <BoundLabelBinding statusEffect="none"> <IBooleanToSimple name="image"> <Image name="trueValue" value="null"/> <Image name="falseValue" value="null"/> </IBooleanToSimple> </BoundLabelBinding> </BoundLabel> <BoundLabel layout="500,310,70,20"> <BoundLabelBinding> <ObjectToString name="text"/> </BoundLabelBinding> </BoundLabel> <BoundLabel layout="370,295,70,20"> <BoundLabelBinding> <ObjectToString name="text"/> </BoundLabelBinding> </BoundLabel> <SetPointFieldEditor layout="230,380,100,20"> <SetPointBinding> <IStatusToBrush name="foreground" mode="foreground"/> <IStatusToBrush name="background"/> </SetPointBinding> </SetPointFieldEditor> <BoundLabel layout="0,0,210,20" text="Heat Exchanger System" font="18pt Tahoma" halign="left"> <BoundLabelBinding/> </BoundLabel> <BoundLabel layout="0,30,110,30" text="Base Home" background="#e0e0e0" border="top(1.0 solid black) right(1.5 solid black) bottom(1.5 solid black) left(1.0 solid black)" mouseOver="highlight"> <BoundLabelBinding statusEffect="none"/> </BoundLabel>
hmm... works fine for me... I'll look deeper later, the wifey wants to go to dinner.
I noticed that the modules at the top do not list KitPxHvac... but there are items from Hvac showing up... makes no freakin sense. It is ALWAYS the same images showing or not showing, though... if that helps. Thanks CW, I look forward to helping you help me
Send me the entire station zipped, something is wrong somewhere else. Is this on 3.0 or 3.1 on your end?
Upload the px to what? To this forum. glennmcaz, here are 2 screenshoots. Same to yours or not?
Leaflying... dagnabbit, you got it to work... you suck. LOL I am missing the lower warm pipes buttons at the top and some other things... consistently. But only when viewing through the web interface (IE6 with all the latest packs, as well as latest java updates). in PxView, it works fine. Codewriter... email sent
Last edited by glennmcaz; 02-01-2007 at 09:28 PM .
Code handles it, so I dont have to think hard. This reminds me a geek's t-shirt, it says "I write code so you dont have to".
I have one that says _ _ _ _ you in binary Just one more of my offensive t-shirts that we've discussed before. There's also the hex for "I _ _ _ _ed your girlfriend"
Code handles what? Sorry leaflying, I now understand what you mean, I was thinking hard to, like what trick do I not know about... lol... I thought you were going to break out some super secret or something... When I open the px, mine looks just like those as well.
Have you run it in a web browser, not the pxviewer in WB
Yep, it works in everything I try it in. Your horizontal pipe images are not sized properly, but other than that it all appears as I think you intended. Maybe thats what your "not" seeing, when in px viewer click on your horizontal pipes, and drag the top handle up or the bottom handle down a bit so tha you see the entire width of the pipe, and then reposition so that it connects properly with the other pipes. In WB, go to the top menu, select Tools/Options/Px Editor/ and change the grid size and snap size to a smaller value and that will give you a finer control over placement, if that does not give you the resolution you want, switch the Use Snap to false. For basic pages I set grid to 5 and snap to 5, if I am doing detailed stuff I turn off the Use Snap to give me exact control.
I use Ctrl+arrow key to do fine placement. if memory serves me right, I just used the default image and dragged it around the page. I might have used the grab handles to shorten the h length of the h-pipes (anyone thinking of a Weezer song?), but i didn't do anything to the vert sizing. I'll see what I can do with your instructions. Thanks
Originally Posted by glennmcaz I use Ctrl+arrow key to do fine placement. Thanks! I just learned something! I still like adjusting my snap so I can drop it a little closer to exact placement the first time, but the Ctrl+arrow will make life just a wee bit easier when I am a click off.
It was something Phil showed us in AX training, and it's one pixel at a time. In a normal arrow move, it's something like 5 px (at least it is in a 10px grid). I was used to it from other graphics progs
Since we are here, I have a question. Did you guys find there are certain areas on the screen that you can not apply "down" or "left" arrow (you keep pressing the button, but the image block wont move.) ?

neuron is offline

Try looking at the images layers

Sometimes images that are on the same layer hide one to the other... Or a image that is not resized correctly.
  • Private Messages
  • Subscriptions
  • Search Forums
  • Forums Home
  • The #1 question asked by NEW MEMBERS. Please read this...
  • Questions About Becoming A Professional Member? Step Inside...
  • SITE Software Issues? Post Them Here
  • RULES for AOP - Owner Assistance and Contractors
  • AOP Residential HVAC (Beenthere Zone)
  • AOP Commercial HVAC
  • General Discussion
  • Job Wanted/Needed Discussion
  • Industry and Forum News
  • Webinars and Virtual Events
  • Tech to Tech Chat - Residential
  • Tech to Tech Chat - Commercial
  • Refrigeration & Ice Making
  • Members Inventions **NEW
  • Test & Balancing Forum NEW
  • Control Sales Forum
  • Professional Controls Forum
  • Control Jobs Forum
  • Chillers Open Forum
  • Energy Efficiency and Building Performance Discussion NEW
  • Commercial Food Service Equipment
  • Residential Geo Thermal / Water Source
  • Commercial Geo Thermal / Water Source
  • Indoor Air Quality
  • Tools & Test Equipment
  • Food and Grill Forum
  • "Wall of Pride" - Pictures
  • "Wall of Shame" - Pictures
  • How To Become a Pro and Rules For Pro Members
  • Pro's Forum: General Discussion
  • Charlie's Corner (Icemeister)
  • HVAC Basics **NEW
  • Pro Forum: Refrigerants and EPA regulations **NEW
  • Pro's Forum: Business & Marketing
  • Pro Forum: Residential Refrigeration and Appliances **NEW
  • Pro's Forum: Sales
  • Pro Forum: Equipment Recalls and Bulletins **NEW
  • Pro's Forum: Residential
  • Pro's Forum: Commercial
  • Pro's Forum: Geo Thermal / Water Source
  • Pro's Forum: Refrigeration & Ice
  • Pro's Forum: Chillers
  • Pro's Forum: Oil Burners
  • Pro's Forum: Hydronics/Boilers
  • Pro's Forum: Building Science Discussions
  • Pro's Forum: Training and Education
  • Pro's Forum: Instructors Forum NEW
  • Pro's Forum: Tips 'n Tricks of the Trade
  • Pro's Forum:The Gun Enthusiast
  • Frequently Asked Questions About Submissions
  • Manufacturers' Technical Information
  • Articles Authored by Others
  • Self-Authored Articles
  • Submit Quiz Questions
  • About the Suggestion Box
  • Voice Your Opinions
  • Share Ideas
  • Report Problems
  • Educational, Training & Reference Information
  • Manufacturer's Technical Information Links
  • Quiz Questions
  • Open Forum Discussion
  • Split Systems, Package Units, Furnaces
  • Geothermal / Water Source Heat Pumps
  • Specialty Systems
  • Boilers – Hydronic, Steam
  • Accessories – Humidifiers, Air Cleaners, HRUs, Fans, Filters, etc
  • Components – Coils, Heaters, Motors, etc.
  • Compressors
  • Oil Burners
  • Systems - General
  • Accessories – Pumps, Cooling Towers, Evap Condensers, etc
  • Components – Valves, Motors, Condensers, Evaporators, etc
  • Refrigeration Systems
  • Evaporators, Condensers, Etc.
  • Valves, Regulators, Filters, Etc.
  • Walk-Ins, Cold Storage
  • Food Service Equipment, Display Cases
  • Supermarket Cases & Compressor Systems
  • Ice Machines
  • Controls, Motors, Etc
  • HVAC Load Calc Software
  • Refrigeration Load Calc Software
  • HVACR Software & Online Training
  • HVACR Calculators & Apps
  • Formulas and Calculations
  • In Memoriam
  • Licensing, Laws, Codes and Certification
  • Jokes, Quotations, Humor, Wisdom Pills
  • Practice, Testing Area
  • Plumbing Forum Rules
  • Plumbing General Open Forum
  • Pro's Forum: Plumbing Discussion
  • Electrical Forum Rules
  • Open Discussion Electrical
  • Photovoltaic
  • New Products
  • Bonding & Grounding
  • Motors & Motor Controls
  • Test & Measurement
  • Tools & Equipment
  • Code Violations
  • Pro's Forum: Power Quality
  • Pro's Forum: Calculations & Electrical Theory
  • Pro's Forum: Electrical Business & Marketing
  • Pro's Forum: Estimating
  • Job Postings

vBulletin Message

The following errors occurred with your submission, quick reply, register now.

Please enter the name by which you would like to log-in and be known on this site.

  • Confirm Password:

Please enter a password for your user account. Note that passwords are case-sensitive.

  • Email Address:

Please enter a valid email address for yourself.

  • HVAC/R Contractor
  • HVAC/R Technician/Installer
  • HVAC/R Wholesaler/Distributor
  • HVAC/R Manufacturer
  • Manufacturer Rep
  • HVAC/R Consultant
  • HVAC/R Engineer
  • Facilities manager/Mechanical Engineer
  • Homeowner or Building/Equipment Owner (We welcome homeowners and Building owners. Help us customize your experience) Please post in the AOP Section
  • Residential HVAC
  • Light Commercial HVAC (up to 25 tons)
  • Commercial HVAC (over 25 tons)
  • Refrigeration
  • Hydronic Heating
  • Building Automation/Controls

Posting Permissions

  • You may post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts
  • BB code is On
  • Smilies are On
  • [IMG] code is On
  • [VIDEO] code is On
  • HTML code is Off

Forum Rules

  • HVAC-Talk.com

© VerticalScope Inc. All Rights Reserved.

niagara presentation xml

NIAGARA: A New Musical To Have A Concert Presentation

niagara presentation xml

Niagara: A New Musical , will premiere this spring with a special one-night-only concert presentation at The Green Room 42 on May 23rd, 2024. The new musical is an universal story celebrating life and family. The book is written by Lauren Widner and Ryan McCurdy, tells the tale of six individuals connected by the wonder and adventure of Niagara Falls. With an original contemporary musical score and ubiquitous themes, Niagara is an uplifting and hope-filled experience.

This new story was first developed in 2019 at Manhattan Theatre Club Studios and the Hartford Fringe Festival. In 2020, writer Lauren Widner tragically passed away and now, Widner’s writing partner McCurdy, and her sister Cheryl Widner, continue to bring Niagara ’s message to new audiences.

The full creative team of Niagara includes Widner & McCurdy (Book, Music, and Lyrics), James Rushin (Additional Music), and Katie Walker (Dramaturgy). Cheryl Widner serves as the lead producer with an investment by J. Wilson Morris. The cast includes Grammy Nominee Mick Bleyer, Rebecca Faulkenberry, Pearl Gold, Brooke Ishibashi , Vanessa Sierra, and Julius Thomas III. The evening will be hosted by McCurdy and Rushin, with additional special guests to be announced.

“One thing that I always admired about my sister was the relationship she had with her students as a music teacher,” said Widner, Lauen’s sister and the lead producer of the musical. “She always expressed to her students to follow their dreams which is one reason why I’m so passionate about following hers.”

For more information, visit here.

As a native New Yorker, Alex has always loved everything involving theatre. With a degree in Theatre and New Media from Marymount Manhattan College, Alex realized that, since he was not talented enough to be on Broadway, the next best thing would be to write about it!

niagara presentation xml

Holland Taylor and Ana Villafañe To Star in The World Premiere Play N/A Inspired by Nancy Pelosi and AOC This Summer

May 10, 2024

Robert Downey Jr Will Star In Lincoln Center Theaters Production Of MCNEAL - A New Play By Ayad Akhtar

May 7, 2024

Shiki Theatre Company’s New Original Musical THE GHOST & THE LADY Now Open

Schmigadoon, the 25th annual putnam county spelling bee, & legally blonde announced for the john f. kennedy center for the performing arts 2024–2025 theater season.

niagara presentation xml

A fresh look at features, news, reviews, and interviews of theatre across the globe, from Broadway to London and everywhere in between. Your one-stop shop for the latest information in arts and culture by the next generation, for the next generation.

niagara presentation xml

IMAGES

  1. PPT

    niagara presentation xml

  2. Pangaea Niagara R2 Xml Synchronization

    niagara presentation xml

  3. PRESENTATION NIAGARA + CONFIGURATION JACE POUR RESEAU BACnet NIAGARA4

    niagara presentation xml

  4. Introducing Niagara 4: The Latest Release of the Niagara Framework®

    niagara presentation xml

  5. Niagara Presentation by Liam Menard on Prezi Video

    niagara presentation xml

  6. Niagara Query Interface Example.

    niagara presentation xml

VIDEO

  1. 🤑SHARE UP TO 8% PER DAY 💰NEW PROGRAM🤑

  2. 02- Business Opportunity Ahead

  3. Katy Perry's Music Is Life Is Music at the 53rd GRAMMY Awards.

  4. Démonstration de Junko Takeuchi la voix de Naruto) à Japan Expo 2013

  5. Get started with Niagara's Landscape Interface in UE

  6. Niagara PRO TIPS: Schedule Relations Part 1

COMMENTS

  1. tridium/summit18-building-niagara

    Niagara Summit 2018 example code demonstrating: 1) the process of migrating a module to the Niagara 4.6 build environment and 2) some examples of Niagara Annotation usage. - tridium/summit18-building-niagara ... you should have a folder structure like the one shown in the presentation slides. Delete the generated module part code folder (e.g ...

  2. PRESENTATION PROCESS Create 'New View' Graphic

    Technical Document: Niagara AX-3.x User Guide, Ch. 6; Tridium Demo: www.axdemo.tridium.com Custom graphical views are defined with a Px file (Presentation XML), a special XML file that describes the graphical components. Px files can be any collection of components, up to a complete database.

  3. PDF Building Niagara

    3 • New Developer Environment Features • Slot-o-matic Improvements • Code Signing Agenda

  4. PDF Intro to Niagara 4

    Niagara 4.4 introduced Single Sign On (SSO) with your Identity Provider (IdP). Niagara 4.9 now features native IdP capability. Reduce reliance on IT support infrastructure when accessing Niagara Stations via a browser. Users can now utilize Niagara as an IdP, instead of manually configuring and managing an external IdP.

  5. PDF Features Overview

    New provisioning steps. The ability to upgrade or reconfigure installed application templates. Flexibility in defining and configuring peer device and/or station proxies when installing an application template. Ability to capture and reuse the as-built configuration of an application template. Facilitating Niagara at the Edge.

  6. PDF Niagara Framework 4

    Provides an enhanced querying workflow and improved user experience, giving you even more flexibility to quickly get the job done. Query components via an HTML5 Browser Interface. Configure Reports in a Browser using the Report Service. Create BQL queries for later use across your Niagara Stations. Connectivity.

  7. Efficient PX Graphics in Niagara

    This, however, is incredibly inefficient. Niagara allows you to tie PX graphics to folders directly, and in doing so, provides several tricks to re-use files. To start, we want to right click one of our device folders (RHC_1, to start) and choose "new view".

  8. summit16-presentations/ui-development-basics/README.md at ...

    Presentation materials from the Niagara Summit 2016 Developer Bootcamp. - tridium/summit16-presentations

  9. PDF The Niagara Internet Query System

    The Niagara Internet Query System is designed to have these characteristics. To support the "From *" clause, Niagara uses a novel collaboration between its XML query processor and its "text-in-context" XML search engine. When the XML query processor receives a query, expressed in a modified version of the XML-QL query language [8] (in ...

  10. PPT PowerPoint Presentation

    Introduction to XML Algebra Based on talk prepared for CS561 by Wan Liu and Bintou Kane

  11. Niagara Query Engine

    Niagara can be used for retrieving XML data, querying and monitoring them for some interesting changes. These three functionalities are implemented by its three main components: Search Engine, Query Engine and Trigger Manager. XML is gaining popularity for representing semi-structured data on the net. Additionally it is being used as a medium ...

  12. NiagaraAX 3.x User Guide

    C. HAPTER. 1. About NiagaraAX Framework. Software frameworks provide a platform to allow businesses to more easily build their end-product offerings. Tridium's patented Niagara Framework® is targeted at solving the challenges associated with managing diverse smart devices, unifying their data, and connecting them to enterprise applications.

  13. PDF Tagging in Niagara Introducing UxMedia

    Tagging in Niagara Introducing UxMedia March 25, 2021 . Q&A 1. How does this help Graphics on Supervisor? UxMedia shifts the rendering work from the station to the user's device. If your supervisor is running on a strong PC and performance is already acceptable, there's no requirement to switch to UxMedia. 2.

  14. PDF Niagara 4 Driver for SQL User Guide

    Supervisor it is usually C:\Niagara\Niagara-4.x.xx.xx\jre\lib\ext. Note: Close the Niagara Workbench after inserting all the modules in the folder. Next time you start the Niagara Workbench the driver will be loaded in Niagara Workbench and will be immediately available for use.

  15. Solved: N4MIG N4 migration tool failure

    N4MIG N4 migration tool failure. Existing Systems Forum. Find answers to your questions regarding existing systems on the Schneider Electric. Collaborate and share with other professionals across the globe while learning about our solutions.

  16. NiagaraAX 3.8, -3.7 User Guide

    Scroll to page 2 of 403 C. HAPTER. 1. About NiagaraAX Framework

  17. Some images not visible in JACE web page?

    I have used some of the canned graphics from KitPxHVAC in my AX JACE and WB. I tried viewing the page through the local loopback of 127.0.0.1. Some of the pipes show up, but others don't. I also don't have the ducts appearing. I've compared properties of the items that appear to those that don't and the properties are identical. I've also made sure the KitPxhvac is in the software on the ...

  18. PDF Tagging in Niagara ppt

    Niagara Framework: Always Evolving - 4.10. Niagara 4.10 brings exciting new features that continue to evolve Niagara's key tenets of visualization, rapid deployment, security, Edge, connectivity, certification and IT compliance. Visualization. System DBSupport for Tag Based PX UI Performance Enhancements Video Surveillance Viewer HTML5 Tag ...

  19. A way to globally delete graphics summary in N4?

    The summary info field shows up in Workbench in the "status bar" at the bottom of the window, or as a popup in HTML5 in a browser. To remove the entire contents, you can either do it manually for each binding (not what you asked for), or you have to write a robot that parses the XML in all your .px files and modifies all bindings that a summary ...

  20. NIAGARA: A New Musical To Have A Concert Presentation

    Niagara: A New Musical, will premiere this spring with a special one-night-only concert presentation at The Green Room 42 on May 23rd, 2024.The new musical is an universal story celebrating life and family. The book is written by Lauren Widner and Ryan McCurdy, tells the tale of six individuals connected by the wonder and adventure of Niagara Falls.

  21. PDF Niagara 101

    Niagara helps many of the world's most demanding customers meet their building automation and IoT needs in one comprehensive, \൳ecure, flexible and open platform.\爀屲Whether you are planning the HVAC needs of a single building. or are integrating Smart Bui對lding technologies for a multi-national organization with extreme cybersecurity demands, Niagara can be scaled to your requirem ...

  22. Niagara Musical to Receive Concert Presentation at Green Room 42

    Niagara: A New Musical will receive a concert premiere later this month at The Green Room 42.The one-night-only concert presentation will be held May 23. The new musical by Lauren Widner and Ryan ...

  23. Niagara Framework IoT

    Niagara Framework Easily Connects Intelligent Systems. Niagara Framework® is a comprehensive software infrastructure that addresses the challenges of creating device-to-enterprise applications. It serves as a central console for connecting real-time operational data to the people and systems that manage workflows in smart buildings, data ...