|
Post by George on Feb 11, 2024 14:06:42 GMT -5
OK then, other than turning OFF 'Only one SPFLite running', give me a solution for how I test new versions while having the production version 'up' doing useful work.
And that solution also has to let me test the 'Only one SPFLite running' logic.
Yes, I know, I could put in some arbitrary code to do this, which I would have to edit and set on and off as needed, a royal PITA.
Also "Broken?" And just how does what is done currently 'break' anything? Other than violating the exact legal phrasing of the Options ON/OFF text, it 'breaks' nothing, at most it is an annoyance. And I'm sorry, but Beta testers, by their nature, have volunteered to put up with some annoyances in order to help development.
This is simply a tempest in a teapot.
George
|
|
|
Post by Robert on Feb 12, 2024 14:15:52 GMT -5
George, I will try to respond to this as best I can. Truly, I don't want an argument, which is where I see this heading.
First, my apologies if I misapplied the word 'broken'. However, if I ask for only one SPFLite to run, and I can easily get two running, what word would you use instead of 'broken'?
You want a solution? Allow me to offer one. The main issues here are:
(1) "one SPFLite running" doesn't actually mean TRULY one instance.
(2) sometimes version numbers matter when allowing multiple instances, and sometimes they don't.
(3) I will go out on a limb and say that running multiple instances is an unusual, non-typical usage. That is true for all editors, not just SPFLite. Thus, any options that involve multiple-instances should be considered as an EXCEPTION, and not the usual behavior.
To resolve this, and to give you what you need as well as what a typical user needs, I would do this:
In the general options GUI, the [x] Only 1 SPFLite running would be renamed as [x] Allow multiple SPFLite's running
Here, this would invert the sense of the [x] checkbox. Then, add a second checkbox: [x] Allow multiple SPFLite's only for unique version numbers
Finally, a "beta" version would always be considered (internally) as different from any "prod" version. For purposes of your code making a version comparison, it would be AS IF a prod version had a ".0" appended to the number, and a beta version had a ".1" appended to it. This is ONLY how the code would treat it; users would NOT see .0 or .1 displayed anywhere.
If the "unique versions" is NOT enabled, then your test would simply be if ANY version of ANY SPFLite exe was running or not.
I believe this would support all of the known use cases as I understand them.
R
===> I believe it would be helpful, if you added the new checkbox, to rearrange general options screen so the two options are placed next to each other. I know redoing GUI code is a pain, but it would make the most sense to keep them together.
===> There's one other thing. Suppose I start one version, then try to start another version, and multiple SPFLite's is not allowed? You would either have to permit the "mis-use" of multiple SPFLite's or not. You could either dismiss the second instance and just not run, or you could show a popup that said "You requested to run a second SPFLite but your general options do not allow for it. Do you want to allow the second instance for this time only? Yes / No". Something like that. And yes, adding a potential popup would be (for you) another annoyance, but I see it as a protection for users. Maybe they had a good reason to limit things to one exe only, and this would prevent them from possibly making some kind of mistake that could put their data at risk. If they really want multiples running, they can ask for it and make it 'official' by changing the options gui.
|
|
|
Post by George on Feb 12, 2024 14:46:00 GMT -5
Robert: It's not quite that simple. Multiple instances, regardless of the Options setting can always be created by using the OPEN/OPENE/OPENB/OPENV commands.
Users can also have unique Instances opened, so as well as versions, we also have Instance names and the Beta/non-Beta condition.
It all gets messy in the code, as well as the testing, and as I said, it has been like this for years and I don't hear a huge hue & cry from users to 'make this messy condition better'.
I'd like to hear from users (other than you) who feel this area needs addressing, because I just don't see the need. I'm sure 99.9% of users only ever have 1 version installed and running, in which case all this discussion is moot.
George
|
|
|
Post by Robert on Feb 12, 2024 16:01:54 GMT -5
Yes, perhaps, "99.9% of users only ever have 1 version installed and running". But does that really mean "in which case all this discussion is moot"?
I think though that your count of 99.9% could be a bit off. After all, you are constantly creating beta versions, and only intermittently release a prod version. So, anyone keeping up with, and using, beta versions will likely have at least two versions installed - the current prod and the latest beta. (Personally, I have least 20 prior beta versions, but generally only try to use the latest one.) I believe it would be more accurate to say that "99.9% of users only ever have TWO versions installed" and may have or or both of them running.
It would be a different matter if beta versions were only used by internal testers - which is the normal definition of a "beta version" in software houses - but for SPFLite, basically all of us are beta testers. In reality, the only meaningful difference - for users - between beta and prod is that "prod" means you have revised the Help doc.
I run with "1 SPFLite" set. If I click on my Beta icon, I currently get 24.037. Now, if I happened to be in Windows File Explorer, right click on a text file and click on, "Open with SFPlite", I get a second instance of SPFLite, in this case it's the prod version 24.026, because that's what the file explorer context thing is defined as - it only runs SPFLite2.exe. So, I now have two versions running, even though I asked for only one. It seems to me that the prod version should have detected that a beta was running, and because I said to run only one, it should have directed the request to the currently running beta. That is what I would view as "1 SPFLite". And, I will add, I *AM* in the 99.9% that only runs one (or, tries to, anyway).
That's why I see this as NOT moot. I only want one, but I can't stop it from running two. I feel the part about things being this way for years is not accurate either, because you have done a lot of work on Instances in the last year, and as I recall there actually WAS some hue and cry about it.
But, since you bring up the OPEN* command bringing up new instances, I looked up the Help for this, and basically ALL it says about what happens is ONLY contained in the title of the Help: "OPEN - Open New SPFLite Instance and Edit File". Otherwise, you don't document it AT ALL, anywhere, as far as I can tell. That also means that the "Only 1 SPFLite running" option was never implemented consistently. The documentation for THAT says,
"If this box is checked, multiple executions (separate instances) of SPFLite will be prevented. If you attempt to open a file in a second SPFLite, it will detect the existing one running and cause your file to be opened as a new tab within the existing SPFLite execution. Once that is done, the second SPFLite will go away (actually, you will never even see it). Even when this option is set, a new SPFLite instance can still be opened by issuing an OPEN primary command from the existing SPFLite."
So, OPEN is "immune" from being under the control of this General Option flag. And, externally starting an SPFLite is ALSO immune from being under control of that flag, if the versions differ. That being the case, just what is under the control of this flag? It seems like you ignore this flag far more often that you respect it. That is the basic problem I have: When checked, multiple executions will be prevented, except when they aren't prevented - which seems to be the majority of the cases. Thus, "One 1 SPFLite running" is all but meaningless. If you are so reluctant to actually support this option, maybe what you really want is to remove it and have totally unrestricted multiple executions going. I hope you don't, but I'd rather have the option removed than to have it respected inconsistently.
But yes, we definitely need to hear from other users.
|
|
|
Post by George on Feb 12, 2024 16:18:53 GMT -5
My basic response is the same, when I hear a 'hue and cry' from the users that what we have is causing them problems, I will 'do something', until then, I still say this is a 'make work' project.
George
|
|
|
Post by Robert on Feb 12, 2024 22:32:18 GMT -5
You asked for a solution, and I gave you what you asked for.
|
|
|
Post by Stefan on Feb 13, 2024 9:59:14 GMT -5
FWIW... I actually like that "Only 1 SPFLITE running" is interprested as "one of each version". It allows me to to easily test for differences between two versions without having to close and reopen each version one after another. Sometimes it can take several actions to 'prepare the ground' for a test and having to repeat the steps over and over from one restart to another is time-consuming. With two different versions running side by side, the differences are established more quickly. The average user isn't going to be troubled by this, given that the normal install process provides only one installation and associated invocation method. If users go to the lengths of providing access to several startable versions, they most likely understand why and how to use them.
|
|
|
Post by George on Feb 13, 2024 12:24:59 GMT -5
Robert: I did a quick check, the option for 'only one SPFLite' has been around for over 10 years, and multiple Instance support for almost 5 years. And we've never had so much as a comment (good or bad) from users about the 'problems' you want solved.
George
|
|