# Bulk Edit of Property Bindings Using Python

**URL:** <https://forum.inductiveautomation.com/t/bulk-edit-of-property-bindings-using-python/91514>\
**Category:** Ignition\
**Tags:** ignition81, scripting, vision\
**Created:** [June 6, 2024, 8:09pm UTC](https://forum.inductiveautomation.com/t/bulk-edit-of-property-bindings-using-python/91514 "2024-06-06T20:09:23Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jeffrey.minton](https://avatars.discourse-cdn.com/v4/letter/j/ecae2f/32.png) [@jeffrey.minton](https://forum.inductiveautomation.com/u/jeffrey.minton)\
**Post date:** [June 6, 2024, 8:09pm UTC](https://forum.inductiveautomation.com/t/bulk-edit-of-property-bindings-using-python/91514/1 "2024-06-06T20:09:23Z")

</div>

I am needing to edit many indirect tag bindings on many windows in my project. I need to do this so that I can change the tag provider depending on the line being managed at the time.

Im am wondering if anyone is aware of a way to use the java objects for the properties to edit the indirect tag bindings in bulk with a python script. I have been looking at the DSK and I am able to find references to indirect tag binding object but I cannot make the connection to the property object.

Thanks

---

<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:** [June 6, 2024, 8:18pm UTC](https://forum.inductiveautomation.com/t/bulk-edit-of-property-bindings-using-python/91514/2 "2024-06-06T20:18:42Z")

</div>

It is astonishingly complicated. But start with your window's [interactionController](https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.38/com/inductiveautomation/factorypmi/application/FPMIWindow.html#getInteractionController()) property. It is a very deep rabbit hole.

Consider, as part of your effort, whether you manage to automate it or not, to rework all of your window and template indirection to start with a `tagpath` window or template parameter that provides the prefix in all indirect tag bindings. Such that all indirect tag bindings look something like this:

```python
{1}/Something

```

Where `{1}` is attached to `{Root Container.tagpath}` or `{SomeTemplate.tagpath}`.

"Something" could include `{2}` or other elements, but always have `{1}` as shown.

Any nested template would have `tagpath` passed directly to it, or with something appended.

If you fix your architecture, you will never have to worry about tag provider indirect binding nuances again. Just supply the tag provider in the outermost `tagpath` parameter. Everything else will Just Work™.

(Do this in Perspective, too, when the time comes.)
