# Difference between making custom properties on view or on root container?

**URL:** <https://forum.inductiveautomation.com/t/difference-between-making-custom-properties-on-view-or-on-root-container/43469>\
**Category:** Ignition\
**Tags:** perspective, ignition80\
**Created:** [February 16, 2021, 5:10pm UTC](https://forum.inductiveautomation.com/t/difference-between-making-custom-properties-on-view-or-on-root-container/43469 "2021-02-16T17:10:57Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![michael.black](https://avatars.discourse-cdn.com/v4/letter/m/ee7513/32.png) [@michael.black](https://forum.inductiveautomation.com/u/michael.black)\
**Post date:** [February 16, 2021, 5:10pm UTC](https://forum.inductiveautomation.com/t/difference-between-making-custom-properties-on-view-or-on-root-container/43469/1 "2021-02-16T17:10:57Z")

</div>

I have created some custom properties which are binded to tags within perspective. I will be using these properties on several objects within this page/view. Is there a difference or preferred method to creating these custom properties on the actual view versus on the root container?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [February 16, 2021, 5:54pm UTC](https://forum.inductiveautomation.com/t/difference-between-making-custom-properties-on-view-or-on-root-container/43469/2 "2021-02-16T17:54:36Z")

</div>

Having them on the view itself makes it slightly easier to reference from scripting (`self.view.custom.someProperty`) and, in my opinion, slightly easier to reason about. Performance wise, there shouldn’t be any difference.

---

<div class="post-metadata">

**Author:** ![michael.black](https://avatars.discourse-cdn.com/v4/letter/m/ee7513/32.png) [@michael.black](https://forum.inductiveautomation.com/u/michael.black)\
**Post date:** [February 16, 2021, 6:05pm UTC](https://forum.inductiveautomation.com/t/difference-between-making-custom-properties-on-view-or-on-root-container/43469/3 "2021-02-16T18:05:41Z")

</div>

Ok cool. Agreed using the view instead of the root does make things simpler to read. Would this same self.view.custom.someProperty be used whether you are in perspective or vision?

Thanks.

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [February 16, 2021, 6:07pm UTC](https://forum.inductiveautomation.com/t/difference-between-making-custom-properties-on-view-or-on-root-container/43469/4 "2021-02-16T18:07:17Z")

</div>

I agree with @paul-griffith; I always put my view-wide custom properties on the view node. I always try to scope my custom properties to the node which would use them. Placing a custom property on the root node sort of implies that only the root would use that property. I’ve always considered properties on the View node to be available for use throughout the View.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [February 16, 2021, 6:10pm UTC](https://forum.inductiveautomation.com/t/difference-between-making-custom-properties-on-view-or-on-root-container/43469/5 "2021-02-16T18:10:27Z")

</div>

> [@michael.black](#):
>
> Would this same self.view.custom.someProperty be used whether you are in perspective or vision?

No, Vision has completely different semantics for accessing things through scripting and different conventions. The same general advice applies (put things at the highest level that 'makes sense' for encapsulation), but Vision's got a stronger delineation between 'windows' and 'templates', where templates have dedicated support for parameters. Perspective blended the two into 'views', which also have (directional) parameters.

---

<div class="post-metadata">

**Author:** ![michael.black](https://avatars.discourse-cdn.com/v4/letter/m/ee7513/32.png) [@michael.black](https://forum.inductiveautomation.com/u/michael.black)\
**Post date:** [February 16, 2021, 6:53pm UTC](https://forum.inductiveautomation.com/t/difference-between-making-custom-properties-on-view-or-on-root-container/43469/6 "2021-02-16T18:53:32Z")

</div>

Good to know, thanks. I have only worked on perspective projects so far.

---

<div class="post-metadata">

**Author:** ![michael.black](https://avatars.discourse-cdn.com/v4/letter/m/ee7513/32.png) [@michael.black](https://forum.inductiveautomation.com/u/michael.black)\
**Post date:** [February 16, 2021, 6:53pm UTC](https://forum.inductiveautomation.com/t/difference-between-making-custom-properties-on-view-or-on-root-container/43469/7 "2021-02-16T18:53:48Z")

</div>

Makes sense!
