# ResourceLockManager where?

**URL:** <https://forum.inductiveautomation.com/t/resourcelockmanager-where/76469>\
**Category:** Module Development\
**Tags:** ignition81\
**Created:** [July 17, 2023, 5:02pm UTC](https://forum.inductiveautomation.com/t/resourcelockmanager-where/76469 "2023-07-17T17:02:13Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Robert\_McIlvenna](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/robert_mcilvenna/32/80238_2.png) [@Robert\_McIlvenna](https://forum.inductiveautomation.com/u/Robert_McIlvenna)\
**Post date:** [July 17, 2023, 5:02pm UTC](https://forum.inductiveautomation.com/t/resourcelockmanager-where/76469/1 "2023-07-17T17:02:13Z")

</div>

Trying to edit resources through the SDK as described in [Working with Project Resources - Ignition SDK Programmer's Guide - Ignition Documentation (inductiveautomation.com)](https://docs.inductiveautomation.com/display/SE/Working+with+Project+Resources), but I can't seem to find ResourceLockManager. Is there a Maven dependency I need for this to be visible?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 17, 2023, 5:05pm UTC](https://forum.inductiveautomation.com/t/resourcelockmanager-where/76469/2 "2023-07-17T17:05:53Z")

</div>

Ah, that documentation is not applicable to 8.0+.

I don't know if we have anything about the new project system... let me look around.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 17, 2023, 5:06pm UTC](https://forum.inductiveautomation.com/t/resourcelockmanager-where/76469/3 "2023-07-17T17:06:57Z")

</div>

Ah, looks like all we have is this example: [https://github.com/inductiveautomation/ignition-sdk-examples/tree/master/project-resource](https://github.com/inductiveautomation/ignition-sdk-examples/tree/master/project-resource)

---

<div class="post-metadata">

**Author:** ![Robert\_McIlvenna](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/robert_mcilvenna/32/80238_2.png) [@Robert\_McIlvenna](https://forum.inductiveautomation.com/u/Robert_McIlvenna)\
**Post date:** [July 17, 2023, 5:14pm UTC](https://forum.inductiveautomation.com/t/resourcelockmanager-where/76469/4 "2023-07-17T17:14:56Z")

</div>

Thanks! I'll look into that

---

<div class="post-metadata">

**Author:** ![Robert\_McIlvenna](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/robert_mcilvenna/32/80238_2.png) [@Robert\_McIlvenna](https://forum.inductiveautomation.com/u/Robert_McIlvenna)\
**Post date:** [July 18, 2023, 5:23pm UTC](https://forum.inductiveautomation.com/t/resourcelockmanager-where/76469/5 "2023-07-18T17:23:06Z")

</div>

This is sorta what I need, but I'm not looking to make my own workspace, but to edit the already existing script resources, is this possible to use without creating a whole workspace for it?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 18, 2023, 5:23pm UTC](https://forum.inductiveautomation.com/t/resourcelockmanager-where/76469/6 "2023-07-18T17:23:51Z")

</div>

Do you want to edit them programmatically or present a UI to the user to edit them?

---

<div class="post-metadata">

**Author:** ![Robert\_McIlvenna](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/robert_mcilvenna/32/80238_2.png) [@Robert\_McIlvenna](https://forum.inductiveautomation.com/u/Robert_McIlvenna)\
**Post date:** [July 18, 2023, 5:26pm UTC](https://forum.inductiveautomation.com/t/resourcelockmanager-where/76469/7 "2023-07-18T17:26:33Z")

</div>

programmatically

---

<div class="post-metadata">

**Author:** ![Robert\_McIlvenna](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/robert_mcilvenna/32/80238_2.png) [@Robert\_McIlvenna](https://forum.inductiveautomation.com/u/Robert_McIlvenna)\
**Post date:** [July 18, 2023, 5:28pm UTC](https://forum.inductiveautomation.com/t/resourcelockmanager-where/76469/8 "2023-07-18T17:28:49Z")

</div>

as well, im hoping to be able to programmatically change any of the resources on the gateway, not just the current project if that helps

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 18, 2023, 5:29pm UTC](https://forum.inductiveautomation.com/t/resourcelockmanager-where/76469/9 "2023-07-18T17:29:04Z")

</div>

Ok, you don't need any Designer scope stuff then.

Look at the javadoc for `ProjectManager` and `ProjectManagerBase` interfaces. You can get a `Project`, find resources in that project, and eventually push change operations back into the `ProjectManager`.

---

<div class="post-metadata">

**Author:** ![Robert\_McIlvenna](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/robert_mcilvenna/32/80238_2.png) [@Robert\_McIlvenna](https://forum.inductiveautomation.com/u/Robert_McIlvenna)\
**Post date:** [July 19, 2023, 4:07pm UTC](https://forum.inductiveautomation.com/t/resourcelockmanager-where/76469/10 "2023-07-19T16:07:21Z")

</div>

This works, thanks. However, the changes don't show up until pressing the "Merge gateway to open project" button. Do you know of a way to programmatically 'press' this or force the update to resources in the open project?  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/a/7ad6a4b540eb6e87a2d83854bc00ab925ed53fd5.png)

---

<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:** [July 19, 2023, 4:15pm UTC](https://forum.inductiveautomation.com/t/resourcelockmanager-where/76469/11 "2023-07-19T16:15:33Z")

</div>

There's no supported way to do so; it's a potentially destructive operation for the user (if they have local changes) so it requires user action.

If you accept the risk/don't think it's a big deal, it's a public method on the `IgnitionDesigner` (non-public) class: [https://github.com/IgnitionModuleDevelopmentCommunity/ignition-extensions/blob/main/designer/src/main/kotlin/org/imdc/extensions/designer/DesignerProjectExtensions.kt#L36C11-L36C11](https://github.com/IgnitionModuleDevelopmentCommunity/ignition-extensions/blob/main/designer/src/main/kotlin/org/imdc/extensions/designer/DesignerProjectExtensions.kt#L36C11-L36C11)

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 19, 2023, 4:18pm UTC](https://forum.inductiveautomation.com/t/resourcelockmanager-where/76469/12 "2023-07-19T16:18:29Z")

</div>

I think this will still pop a diff resolution dialog if there are conflicts.

---

<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:** [July 19, 2023, 4:19pm UTC](https://forum.inductiveautomation.com/t/resourcelockmanager-where/76469/13 "2023-07-19T16:19:45Z")

</div>

That's my understanding too, but still something to be aware of.
