Widgets versus Parameterized Pages

Widgets and pages share a number of features:

  • Both are created using the same tools of the Idea Studio.
  • Both can display tag values and other contextual information.

They also have important differences:

  • You can navigate to pages, but not to widgets.
    Widgets can only be seen when drawn on a page.
  • Widgets can be linked to tags and can make use of linked tag properties.
    You can't link a tag to a page the same way that you can link a tag to a widget. You could write expressions in your pages to achieve a similar result, but this is more difficult.

When creating custom widgets, parameterized pages, and also custom tag types, your goal should always be to reduce repetitive work. If you have only two stations, then just create the tags for the two stations. Create a page for each station, copying objects from the first to the second where convenient.

But if you will have 20 or more stations, and each station can have two or ten pumping systems or other equipment, then create a custom tag for all the I/O in the equipment and create a tag for a station.

Move as much configuration work as possible to the top. For tags, this means creating parameters in your Context tag for everything that needs to be configured in the child tags. Then use expressions in the child tags to pull information from the parent context, performing math or string concatenation where useful.

All the configuration for all these child tags is done within the parent, tag.

For widgets, it means creating a custom widget that can be linked to one of your user-defined tags and that represents some or all of the I/O within that tag.

The widget shows five I/O, but links to only one tag.

For pages, it means creating a parameterized page that displays one or more of your custom widgets, passing the appropriate tag for the widget(s) through parameters when the page is opened.

This page has one parameter for the station, not 18 for the I/O shown.