# Duplicating views in perspective

**URL:** <https://forum.inductiveautomation.com/t/duplicating-views-in-perspective/72281>\
**Category:** Ignition\
**Tags:** vision, perspective\
**Created:** [April 11, 2023, 12:37am UTC](https://forum.inductiveautomation.com/t/duplicating-views-in-perspective/72281 "2023-04-11T00:37:55Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Michael\_Wilhelm](https://avatars.discourse-cdn.com/v4/letter/m/8491ac/32.png) [@Michael\_Wilhelm](https://forum.inductiveautomation.com/u/Michael_Wilhelm)\
**Post date:** [April 11, 2023, 12:37am UTC](https://forum.inductiveautomation.com/t/duplicating-views-in-perspective/72281/1 "2023-04-11T00:37:55Z")

</div>

I am new to ignition and need to know how duplicate a view and keep all the indirect links active. I have many refrigeration units that will use on of 5 different views, only slightly different by a solenoid or two.

---

<div class="post-metadata">

**Author:** ![andrew.budaiev](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/andrew.budaiev/32/72921_2.png) [@andrew.budaiev](https://forum.inductiveautomation.com/u/andrew.budaiev)\
**Post date:** [April 11, 2023, 12:49am UTC](https://forum.inductiveautomation.com/t/duplicating-views-in-perspective/72281/2 "2023-04-11T00:49:54Z")

</div>

I recommend the "Views as Templates" section at Inductive University in case you haven't seen it.

> **[Views as Templates Video at Inductive University](https://inductiveuniversity.com/videos/views-as-templates/8.1)**
>
> Learn the basics about creating a reusable Perspective view.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [April 11, 2023, 1:03am UTC](https://forum.inductiveautomation.com/t/duplicating-views-in-perspective/72281/3 "2023-04-11T01:03:14Z")

</div>

The video Andrew linked will be useful.

There are two obvious options to me that you have:

1. Create a single View that is used as a template. As part of this, you should have a custom prop on the View that holds the tag path to the refrigeration unit. Then every relevant tag binding on the page should use this in an indirect tag binding to retrieve the correct device/tags from the refrig unit. Use the `isAvailable` expression function from the Ignition Extensions module ([Ignition Extensions - Convenience utilities for advanced users](https://forum.inductiveautomation.com/t/ignition-extensions-convenience-utilities-for-advanced-users/64615) - I would highly recommend this!) on the `visible` meta prop to show/hide devices that may not be on all refrig units. (You can use the `isGood` function available as standard, but this is a bit dodgy since the devices will be hidden if the tags are valid, but have errors like configuration errors, etc. `isAvailable` returns `true` if the tag is both not "Bad\_Disabled" and not "Bad\_NotFound")
2. If there are too many differences, it may be better to create multiple templates, or one View for each refrig unit. If this is the case, develop the Views in the same way as above, using a custom View prop to hold the base tag path to the refrig unit. This makes it far simpler to change it later on.
