# Put a dictionary onto a root container as a custom property?

**URL:** <https://forum.inductiveautomation.com/t/put-a-dictionary-onto-a-root-container-as-a-custom-property/60212>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [May 31, 2022, 2:44pm UTC](https://forum.inductiveautomation.com/t/put-a-dictionary-onto-a-root-container-as-a-custom-property/60212 "2022-05-31T14:44:27Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![bkarabinchak.psi](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bkarabinchak.psi/32/83567_2.png) [@bkarabinchak.psi](https://forum.inductiveautomation.com/u/bkarabinchak.psi)\
**Post date:** [May 31, 2022, 2:44pm UTC](https://forum.inductiveautomation.com/t/put-a-dictionary-onto-a-root-container-as-a-custom-property/60212/1 "2022-05-31T14:44:27Z")

</div>

I have a popup window that can be called from multiple other windows.

Depending on which main window calls the popup I want to determine the UI update when the user is done creating/updating the record.

I already have a generic way to update the UI for the current user using a list of dictionaries (which have sub dictionaries which makes this a little ill-suited for a dataset).

Therefore I think the easiest way for me to do this would be to put the UI Update data as a custom property on the root container of the window which will then get fed to my generic message handler that updates the UI.

I am in script console and I thought `.putClientProperty` was the way to go but this

```auto
win = system.gui.getWindow("Pop_AddEditUser")
rc = win.getRootContainer()
rc.putClientProperty("updateAfter",{"something":1})

for prop in rc.properties:
	if prop == 'updateAfter':
		print prop
		
for thing in dir(rc):
	if thing == 'updateAfter':
		print thing

rc.updateAfter

```

shows me nothing, I can’t seem to access, and the last line gives me an attribute error.

Is there a way to do this?

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [May 31, 2022, 2:49pm UTC](https://forum.inductiveautomation.com/t/put-a-dictionary-onto-a-root-container-as-a-custom-property/60212/2 "2022-05-31T14:49:43Z")

</div>

I’m not positive, but a client property isn’t the same thing as a custom property, so wouldn’t the last line be this?

```auto
rc.getClientProperty('updateAfter')

```

---

<div class="post-metadata">

**Author:** ![bkarabinchak.psi](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bkarabinchak.psi/32/83567_2.png) [@bkarabinchak.psi](https://forum.inductiveautomation.com/u/bkarabinchak.psi)\
**Post date:** [May 31, 2022, 2:50pm UTC](https://forum.inductiveautomation.com/t/put-a-dictionary-onto-a-root-container-as-a-custom-property/60212/3 "2022-05-31T14:50:40Z")

</div>

Ahh, I should have realized to use a `getter` after using a `setter`. That works, thank you!

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [May 31, 2022, 2:51pm UTC](https://forum.inductiveautomation.com/t/put-a-dictionary-onto-a-root-container-as-a-custom-property/60212/4 "2022-05-31T14:51:13Z")

</div>

> [@dkhayes117](#):
>
> I’m not positive, but a client property isn’t the same thing as a custom property

You are correct. `.getClientProperty()` is the only way to retrieve them.
