Is there any way to start multiple project specific designer sessions at once using a batch file, PowerShell script or similar?
I regularly need to open 6+ projects in designer at the same time to compare and synchronize "standard" items between (scripts, styles, views, queries, UDT definitions) and I tire of doing that manually. I'd rather start a batch file and have them all fire up (synchronously or staggered).
As far as I can tell Designer Launcher does not support command line arguments and there is no means to start project specific designer sessions without using the designer launcher GUI. Please prove me wrong.
There's no supported way to launch the designer directly into a project, unfortunately.
The two relevant arguments in the snippet @Bieito_de_la_Fuente posted above are -Djavaws.ignition.debug=true and -Dproject.name="$project"; the project name flag will not work without the debug parameter set, and that will cause other possibly undesirable side effects throughout your development, so I wouldn't recommend using it.
Can you offer any insight as to what those undesirable affects might be?
Sure would be nice if the designer launcher executable allowed you to specify a gateway URL and project name as command line parameters... as ChatGPT mislead me to belief for a brief moment in time. can you get that added to the roadmap? that would also allow creation of desktop shortcuts that launched directly into a project specific designer instance.
@echo off
REM Example batch file... not valid as designerlauncher.exe does not accept command line parameters (yet)
REM Set the path to the Designer Launcher executable
SET LAUNCHER="%USERPROFILE%\AppData\Roaming\Inductive Automation\Designer Launcher\designerlauncher.exe"
START "" %LAUNCHER% --gateway "https://10.120.2.10:8043/" --project "project1"
START "" %LAUNCHER% --gateway "https://10.120.2.10:8043/" --project "project2"
exit
It's actually already possible, in a somewhat better way, in 8.3
If you navigate to a URL like designer://${gateway_address}:${port}/${project} (note that the "protocol" is designer instead of http or https) on a system with an 8.3.0+ Designer Launcher installed, it will launch a new designer, pointed at that gateway, launching that project. That way you can launch the designer from a web interface directly, or from a CLI by just asking the OS to open/launch the given URL.
Also, bonus, the 8.3 designer launcher is backwards compatible with 8.1, including supporting deep links (there just won't be any 8.1 web UI guiding you towards them, obviously) - so as soon as 8.3 is out, you can install the new designer launcher and reap the benefits, even before you've upgraded.
Are there any plans to make the launchers handle multiple projects/gateways better? For an end-customer it's not an issue usually, but for us integrators, I have a long scrollable list of gateways in my launchers that I would love to have folders or some sort of organization besides favorites. Favorites help keep a smaller list of recent projects that I'm working on, but the main list can't be re-arranged or anything to organize it.
Interesting.. thanks for the heads up! I'm interested to learn more of v8.3 goodness. Not sure I'd be able to convince my clients to switch fully to v8.3 right away but this is an interesting bit of info.
Any chance the URL will be able to handle something like designer://username:password@${gateway_address}:${port}/${project} to allow auto-logins with the classic authentication scheme? (I wouldn't expect it to work with an IdP.)
No plans to do so, and I wouldn't hold your breath; passwords in URLs have been deprecated for a while in browsers because they tend to get captured in incidental logs way too easily. We're admittedly a different sort of target than a browser, but I don't think something like that would pass the security smell test.
I recall being able to rearrange the order by using the 'Settings > Export Launcher Config' feature to export the connections, then massage the json export file, and then import the revised json file.
The best part about launching with such URLs and their desktop shortcuts is that you don't actually have to configure it in the designer launcher. It is really sweet on Linux, as you can make a JSON file with the config fragment and give it a .designer extension and it just works™.
My personal favorite productivity boon so far is a browser bookmarklet that navigates to the designer deeplink for "whatever host and port I am currently looking at " - so even without any corresponding web UI (or if I'm looking at an 8.1 gateway) I can have a one-click designer launch experience. Deep links are one of the less flashy but very impactful features for folks who are in the trenches
Ahh, I hadn't even thought of that benefit yet. Could probably use Greasemonkey/Tampermonkey to make some userscripts to detect a gateway and embed a floating designer link or something too.