I choose to make a new post to bump this into attention
I believe I am not the only one who have been asking myself if I really should answere yes or no to this question. There are several related issues to this I want to bring into attention. If anyone agree, please like or comment and add to this feature request
1. CTRL+S (Save All)
Current implementation commits all modifications in designer -without any question. This is in my opinion a dangerous functionality. It is verry likely that you commit something accidentally modified fex.
Computer users are used to the keyboard shortcut CTRL+S from many software packages. But with a different behaviour: It will save the resource currently in focus.
[Feature request]: modify the meaning of CTRL+S:
-Should only commit current resource in focus.
-Save All should bring up a list of modified resources for the developer to verify. Use another keyboard shortcut for this. fex CTRL+SHIFT+S
2. Close resource
When I close a template or window in the designer, I get the above mentioned question.
-The problem is that the question is given regardles if the resource is modified or not.
-That way I dont really know if I should answere yes or no. I need to think, and try to remember, or search the resource for any accidental modification
-Usually I find myself answering yes -just to be on the safe side -but I have many examples of this beeing the wrong descision, having committed accidental modifications
-The question looses its intended meaning since it is always asked.
-Close without question if not modified
3. What is modified?
I often try to track what window or template is actually modified.
-Currently resources are not marked as modified in the designer
Mark resource if modified. Fex add “*” to the resource name as in notepad
4. Multi developer environment
Typically we are several developers connected to the same gateway. Sometimes opening resources for reference. By accidentally commiting “ghost-modifications” this troubles our workflow since we often need to handle unnecessary merge conflicts on the gateway.
-I believe there will be less such conflicts if designer did not have “Save-All-Without-Question” as default behaviour on CTRL+S.
I agree with all of these!
As I said in my post, save all as the only option was very unnatural for me when I first started with ignition. I’ve become used to it now but it doesn’t mean I like it due to all the points you’ve raised. It would be great if we could have both a save and a save all button with save (single) as the default
With the 7.X versions there was the staging and publish versions and you got to pick and choose what to save/push, but it would get confusing as if you made a change and didn’t push it, the next time you came in and went to save, you’d see that that window or script was affected but it’d be completely on you to remember what.
I think perhaps like a synthesis of the 7.X and 8.X style would work as you said OP. Still have the option to save all for those cases sure. But if you do a save where you can select which specific windows/scripts etc to push then when you exit designer, anything that that was “modified” (if it even really was not) but was not pushed/saved - that just reverts to the last “unmodified” state. This way next time you open the designer to make a few changes, the only options you see to push next time you save are things you changed in that session - you won’t see a window you maybe opened 4 sessions ago and didn’t do anything to (if you can remember what you did) as an option to push.
Wonder how other people feel about this method. I think this is how I would personally like it.
Changing the “Save-all” behavior of Ctrl-S will break the expectations of all developers who’ve used Ignition for a decade. And lots of applications use the same paradigm, like JetBrains IDEs.
Bindings execute in the designer in both design and preview modes. Preview mode includes property changes from running scripts and user interaction. Property values are part of the resource to save, and just opening a window causes value updates that may need to be saved. So the designer asks whether to commit or not. I’d be shocked if IA could satisfy this request.
Some parts of the designer interface show modified resources in italics, so not entirely missing. But could be better, yes. A way to individually revert resources to the gateway copy would be most helpful. (Ok, so not much of a devil’s advocate on this one.)
Multiple developers should be working on their own copy of the gateway, or at least their own copy of the project, until the resources they are editing are ready to push to production. (Via “send to…”, preferably.) Avoid having multiple developers connecting to the same gateway.
I see. Everything usually has a history or an explanation.
-However where come from, Ignition is the only software where CTRL+S saves everything no questions asked.
-At least this seems a little odd in contrast to the behaviour when closing (as far as the developer is concerned) a not-modified resource -Where questions are always asked.
Interesting to bring this up in the forum and share different experiences and opinions with you all.
-Knowing that IA deveolopers reads this forum makes it relevant to bring up such issues -to see if this is a “one-mans-opinion” or someting others are also thinking about.
I don’t agree with this at all sorry Phil. A huge benefit of Ignition is the fact that you can have multiple developers working side-by-side on the same gateway, making changes that may benefit others who are using those resources (templates/styles/scripts/etc.) in their own resources that have fixes or development being awaited.
I’ve been using Ignition now for 6-7 years and still find this functionality awkward. Anyone I train up in Ignition as well makes a familiar scrunched up face when I tell them about the "save doesn’t save the thing you have open, but saves all you have open, so make sure you close and revert everything you have open that you don’t need to save so that you don’t pollute the audit log or the resource modified dates. Of course, everyone forgets this half the time so it’s a bit of a pointless exercise really…
CTRL+S seems to be an issue only to people who have not set up version control on their project. Which is the “out of the box” use case of Ignition.
In my own opinion, it would make more sense to have “CTRL+S” bring up a confirmation dialog with a summary of changes that will be pushed to the Gateway. This way you know which resources you pushed to the gateway, at least.
This is good feedback. It’s one of those things where it’s worked that way for so long, nobody around here questions it anymore. I do think it’s a good idea to change it, although we might wait for 8.2 because I think the sudden change might be quite jarring to folks.
Phil is right about one part though - our ability to accurately know if anything has “changed” is not good. The model is quite dynamic, and we can’t readily distinguish changes made with intention vs properties changed from bindings.
Now, I personally dislike the “would you like to commit any changes?” dialog that Vision uses, and I’m all for the idea of eliminating it. In fact, we did eliminate it for Perspective, which automatically commits when you close a resource. I feel like this is the correct default action, and then, users should become familiar with these options:
So, what I’d want to do is two minor tweaks:
Swap the CTRL+S and CTRL+SHIFT+S Shortcuts
Drop Vision’s prompt on close, adopt Perspective’s model, including the Close & Commit / Close & Revert items for all resource types.
I can’t speak to the behavior in the various IDE platforms that users with a software development background may be used to, but for me, Ctrl-S as Save All is exactly what I expected it to do. For the vast unwashed masses of Windows users, of which I am one while at work, the expected behavior of Ctrl-S is typically to save “the thing that you have open”. If you’re in Excel, it saves the workbook, not just the worksheet, in Word, it saves the whole open document, etc. The thing that you open in an Ignition Designer instance is a project, so we would expect Ctrl-S to save the project (all of it). There would obviously be benefits to some people as seen in this thread, but I think; a behavior contrary to what I described will be less intuitive for a lot of users, not more so.
Just a question on the functionality - I open a window, accidentally move a component, realize I’m in the wrong window and close without the dropdown and without right clicking the to do a “Close and Revert”. This component move is then primed for the Saved via Ctrl+S, but if I do a Ctrl+Shift+S, I could exclude that window from saving right?
Then if I close and reopen designer, on that window I made a mistake - it looks how it did before I made my accidental move and there’s nothing primed to be saved via Ctrll+Shift+S - its all a clean slate?