# Ignition Extensions - Convenience utilities for advanced users

**URL:** <https://forum.inductiveautomation.com/t/ignition-extensions-convenience-utilities-for-advanced-users/64615>\
**Category:** 3rd Party Modules\
**Created:** [September 28, 2022, 6:41pm UTC](https://forum.inductiveautomation.com/t/ignition-extensions-convenience-utilities-for-advanced-users/64615 "2022-09-28T18:41:11Z")\
**Posts on this page:** 1\
**Showing post:** 15

<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:** [October 13, 2022, 2:40pm UTC](https://forum.inductiveautomation.com/t/ignition-extensions-convenience-utilities-for-advanced-users/64615/15 "2022-10-13T14:40:56Z")

</div>

I have another idea for Perspective components, I can't remember if we talked about it at ICC; a module that does all the gateway level scaffolding, and allow you to just upload an arbitrary JS component bundle that you create however you feel like.

Unrelated idea:

> [@Best Practices for SVN/GIT on projects](https://forum.inductiveautomation.com/t/best-practices-for-svn-git-on-projects/30218/16):
>
> You are taking your chances with `system.util.execute`. I don't think it waits for the process to run, so those three commands could execute out of order. Use java's `ProcessBuilder` to ensure things are sequential (and you can check for success).

`system.util.launch`, as a wrapper around `ProcessBuilder`? Perhaps a context manager, so `with system.util.launch() as process:` works?  
Would need some input on what folks expect to be able to do with a launched process; capture stdout and stderr, certainly, but also to be able to inject arbitrary data to stdin?

---

_[View the full topic](https://forum.inductiveautomation.com/t/ignition-extensions-convenience-utilities-for-advanced-users/64615)._
