Re: Update on 2.3.0 situation and Windows-specific issues

2018-03-10 Thread Scott Kostyshak
On Sun, Mar 11, 2018 at 02:48:03AM +, Uwe Stöhr wrote:
> Am 11.03.2018 um 01:29 schrieb Scott Kostyshak:
> 
> > I think our main point of difference is below. If the LyX 2.3.0
> > installer successfully installs LyX, but has a bad secondary effect, I'm
> > guessing you would agree that a dialog would make sense, right?
> 
> I am not the developer of MiKTeX but I see that its recent package handling
> update make problems. Please don't blame me for things I cannot change.
> It is like it is - without updating MiKTeX no LyX. And even worse, for some 
> LyX
> users it is enough to reconfigure LyX to break MiKTeX. A MiKTeX update
> results in package updates. All not my fault.

I agree it is not your fault. We are all in this together. We are going
to release LyX 2.3.0 as a team. If we ship the Windows installer
according to a decision we make as a team, then it is all of our
responsibility. If we present a dialog saying that we will update
MiKTeX, and the user clicks "Continue" (or whatever the choice is), then
if they run into problems, it shifts some responsibility to the user
because we gave them the choice.

> I made the best out of it and found a solution. With this users who already
> broke their LaTeX will get it repaired.

Yes and I think that is great. But I think there is a chance it could
break for others. By providing a dialog, we can solve both issues.

> I don't want to focus on a possible but not very probable case of a package
> on CTAN having a regression bug. If this happens, it would affect all users
> of this package, independent of the TeX distribution and OS. The experience
> is that such bugs are fixed within days because they affect so many.

I have not had this experience. First, some bugs only manifest with
certain package combinations. Second, maybe the update fixes a bug, but
because you worked around that bug in your TeX code, your code now
fails.

> Your argumentation is like I decided to drive with a car. If the fuel is
> empty I have to refuel it because I want to drive. No fuel - no drive. You
> argue that people can choose not to refuel. But they decided to drive so why
> should they not to refuel. (because they don't have money for the fuel but
> our fuel is for free)

To make that analogy (at least from my perspective), the fuel would have
to have the potential to break something in the car.

> MiKTeX is the fuel. Experienced users can select "never" in the MiKTeX
> settings to prevent any change of their system. If they have both installed,
> MiKTeX and TeXLive, they can also select in the LyX installer which TeX
> distribution should be used. They can even select not to use LaTeX at all in
> the installer.
> So there are already 3 possible workarounds for experienced users in the LyX
> installer and these options are all translated.

That behavior sounds good. My concern though is that even experienced
users will not guess that LyX will update MiKTeX. Once they realize, it
may be too late.

> > My claim comes from personal experience and from helping users.
> 
> With all respect, I doubt your first statement. From your mails I read out
> that you have never run the LyX Win installer by yourself. Otherwise you
> would know what options you can select in the installer. I also doubt that
> you are familiar with MiKTeX, its settings and options.

Sorry for not being specific. I was talking about my experience with
updated LaTeX packages. Indeed, I do not have experience with MiKTeX.
But I have seen CTAN package updates break things for me, break things
for others, and break the compilation of some of our manuals/examples.

Here are a few reports from me regarding documents that used to compile
that failed after updates. My reports include minimal examples but the
original issue came in most cases from LyX documents:

https://sourceforge.net/p/pgf/bugs/296/
http://tug.org/pipermail/luatex/2015-April/005163.html
http://tug.org/pipermail/tex-live/2015-April/036640.html
http://tug.org/pipermail/tex-live/2016-January/037586.html

> >- Some Windows users might use LaTeX directly, in addition to LyX.
> >- Updating MiKTeX could break compilation of current documents in a TeX
>   editor outside of LyX.
> 
> LyX cannot take care for other TeX programs. It is unknown how they access
> LaTeX (elevated rights or not, local installation or global, parallel
> secondary MiKTeX or parallel TeXLive - too many possibilities). Nevertheless
> an update of MiKTeX does not change any path or registry setting so other
> TeX programs should work. If not they have most likely a bug or need to be
> updated if they access the MiKTeX package handling. On my test system the
> other TeX program "TeXworks" works fine after the update of MiKTeX.

I'm more worried that a forced package update could cause compilation in
another TeX program to fail.

Scott


signature.asc
Description: PGP signature


Re: Update on 2.3.0 situation and Windows-specific issues

2018-03-10 Thread Uwe Stöhr

Am 11.03.2018 um 01:29 schrieb Scott Kostyshak:


I think our main point of difference is below. If the LyX 2.3.0
installer successfully installs LyX, but has a bad secondary effect, I'm
guessing you would agree that a dialog would make sense, right?


I am not the developer of MiKTeX but I see that its recent package 
handling update make problems. Please don't blame me for things I cannot 
change. It is like it is - without updating MiKTeX no LyX. And even 
worse, for some LyX users it is enough to reconfigure LyX to break 
MiKTeX. A MiKTeX update results in package updates. All not my fault.


I made the best out of it and found a solution. With this users who 
already broke their LaTeX will get it repaired.


I don't want to focus on a possible but not very probable case of a 
package on CTAN having a regression bug. If this happens, it would 
affect all users of this package, independent of the TeX distribution 
and OS. The experience is that such bugs are fixed within days because 
they affect so many.


Your argumentation is like I decided to drive with a car. If the fuel is 
empty I have to refuel it because I want to drive. No fuel - no drive. 
You argue that people can choose not to refuel. But they decided to 
drive so why should they not to refuel. (because they don't have money 
for the fuel but our fuel is for free)
MiKTeX is the fuel. Experienced users can select "never" in the MiKTeX 
settings to prevent any change of their system. If they have both 
installed, MiKTeX and TeXLive, they can also select in the LyX installer 
which TeX distribution should be used. They can even select not to use 
LaTeX at all in the installer.
So there are already 3 possible workarounds for experienced users in the 
LyX installer and these options are all translated.


> My claim comes from personal experience and from helping users.

With all respect, I doubt your first statement. From your mails I read 
out that you have never run the LyX Win installer by yourself. Otherwise 
you would know what options you can select in the installer. I also 
doubt that you are familiar with MiKTeX, its settings and options.


>- Some Windows users might use LaTeX directly, in addition to LyX.
>- Updating MiKTeX could break compilation of current documents in a TeX
  editor outside of LyX.

LyX cannot take care for other TeX programs. It is unknown how they 
access LaTeX (elevated rights or not, local installation or global, 
parallel secondary MiKTeX or parallel TeXLive - too many possibilities). 
Nevertheless an update of MiKTeX does not change any path or registry 
setting so other TeX programs should work. If not they have most likely 
a bug or need to be updated if they access the MiKTeX package handling. 
On my test system the other TeX program "TeXworks" works fine after the 
update of MiKTeX.


regards Uwe


Re: Update on 2.3.0 situation and Windows-specific issues

2018-03-10 Thread Uwe Stöhr

Am 10.03.2018 um 21:37 schrieb Uwe Stöhr:

Meanwhile I got the report that version 4 of the LyX Win installer fails 
on some 64bit Windows. I am currently working on this and will most 
probably come up with another version of the installer that fixes this.


I could fix this now. I indeed forgot to check for 64bit MiKTeX.

Version 5 of the installer fixes this and is available as usual here:
http://ftp.lyx.de/LyXWinInstaller/LyX2.3.0/

regards Uwe


Re: Update on 2.3.0 situation and Windows-specific issues

2018-03-10 Thread Scott Kostyshak
On Sun, Mar 11, 2018 at 12:25:12AM +, Uwe Stöhr wrote:
> Am 11.03.2018 um 00:57 schrieb Scott Kostyshak:
> 
> > If in the LyX 2.3.0 installer we provide an informative dialog, the user
> > might say "oh I did not know that LyX needed to update MiKTeX. I will
> > not install LyX now because I need to submit my paper tomorrow. After I
> > submit my paper, I can deal with an updated MiKTeX and fix any problems
> > that come from updated LaTeX packages so I will install LyX 2.3.0 at
> > that time".
> 
> Why do you claim that an update of MiKTeX's package handling introduces
> problems with LaTeX packages? I run all LyX files I have on my disc with the
> LyX 2.3.0 and don't get any compilation error.
> I already wrote that I don't like these claims.

My claim comes from personal experience and from helping users. I often
come across users who say "this used to work before!", and what we find
out is that it was an update that caused something to break.

> Why do you come up with such constructed examples?

Because I think examples help illustrate points, in addition to making
abstract arguments. I agree that at some point we have to also discuss
whether the example is realistic or not.

> The use case of an
> installer is to install. However:
> 
> - If I have to submit a paper tomorrow I will fur sure not upgrade  the
> software. For Word or LibreOffice you won't do this as well.
> - Even if you decided to install LyX 2.3.0 you made a decision - you want to
> have LyX.

I agree, but you do not know that having LyX also means updating MiKTeX.

> And with the installer you get it.

But you might get more than what you expected.

> - You expect people to have a lot of background knowledge and that they
> understand English well. Both is not the case for many if not most users. I
> also don't like that I have to issue the dialog with the OK button because
> not everybody will understand what this means since "MiKTeX" or "package"
> are not common for many users. Moreover the dialog is only in English. I
> decided to pop it up because an update can take several minutes (for example
> if you run the last update a year ago or never run an update) and if people
> think nothing is happening they might close the installer during the update
> process. The installer for 2.3.1 will of course return to the old installer
> behavior.

As mentioned before, I do not take the dialog lightly. Having the dialog
comes with its own costs. I agree that it could cause confusion. It is
just that I think the benefit of the dialog outweighs the costs. This is
my opinion, and I can see how others would disagree. That's why I think
it's good to get as many opinions as possible and make a decision as a
group.

> Allow me to continue your constructed case: The user denies any update and
> therefore don't get LyX 2.3.0. But he maybe reconfigure LyX 2.2.x and as
> result he cannot compile his document because LaTeX got broken. If he runs
> my LyX 2.3.0 installer he can afterwards also reconfigure his LyX 2.2.x
> without risking anything.

I think that's a good point. In my constructed case, I was talking about
a user who mainly uses LaTeX directly, instead of through LyX. My logic
goes as follows:

- Some Windows users might use LaTeX directly, in addition to LyX.
- Updating MiKTeX could break compilation of current documents in a TeX
  editor outside of LyX.
- Therefore, there could be a cost to someone who installs LyX 2.3.0.

Scott


signature.asc
Description: PGP signature


Re: Update on 2.3.0 situation and Windows-specific issues

2018-03-10 Thread Scott Kostyshak
On Sun, Mar 11, 2018 at 12:04:38AM +, Uwe Stöhr wrote:
> Am 11.03.2018 um 00:57 schrieb Scott Kostyshak:
> 
> > I believe their goal is to get a working LyX, but they are not aware
> > that they might be paying a cost. They might not want to update MiKTeX,
> > and they should not expect that LyX is going to update MiKTeX. Thus,
> > although they might want a working LyX, they might not want their MiKTeX
> > to change, or at least not at that time.
> 
> Then they don't get a working LyX. That is not the idea of an installer. If
> you run such a program, you expect that it installs LyX.
> So I as user of an installer already made a decision: I want to have LyX
> installed.
> Sorry that I don't get your point.

I think our main point of difference is below. If the LyX 2.3.0
installer successfully installs LyX, but has a bad secondary effect, I'm
guessing you would agree that a dialog would make sense, right? If yes,
we can forget about this sub-discussion, and focus on whether updating
MiKTeX without consent is actually a cost or not to the user. If you
would still not agree even in the case where you are convinced of the
bad secondary effect, then we should still continue this sub-debate.

> I also cannot see costs. What is in your opinion the cost of having a
> working package handling system? All your personal settings are not touched
> by the update.

I think you have indeed narrowed it down to this root disagreement: you
don't think that updating MiKTeX could have a cost to the user, and I
do. I'll respond to the other email you just sent.

Scott


signature.asc
Description: PGP signature


Re: Update on 2.3.0 situation and Windows-specific issues

2018-03-10 Thread Uwe Stöhr

Am 11.03.2018 um 00:57 schrieb Scott Kostyshak:


If in the LyX 2.3.0 installer we provide an informative dialog, the user
might say "oh I did not know that LyX needed to update MiKTeX. I will
not install LyX now because I need to submit my paper tomorrow. After I
submit my paper, I can deal with an updated MiKTeX and fix any problems
that come from updated LaTeX packages so I will install LyX 2.3.0 at
that time".


Why do you claim that an update of MiKTeX's package handling introduces 
problems with LaTeX packages? I run all LyX files I have on my disc with 
the LyX 2.3.0 and don't get any compilation error.

I already wrote that I don't like these claims.

Why do you come up with such constructed examples? The use case of an 
installer is to install. However:


- If I have to submit a paper tomorrow I will fur sure not upgrade  the 
software. For Word or LibreOffice you won't do this as well.
- Even if you decided to install LyX 2.3.0 you made a decision - you 
want to have LyX. And with the installer you get it.
- You expect people to have a lot of background knowledge and that they 
understand English well. Both is not the case for many if not most 
users. I also don't like that I have to issue the dialog with the OK 
button because not everybody will understand what this means since 
"MiKTeX" or "package" are not common for many users. Moreover the dialog 
is only in English. I decided to pop it up because an update can take 
several minutes (for example if you run the last update a year ago or 
never run an update) and if people think nothing is happening they might 
close the installer during the update process. The installer for 2.3.1 
will of course return to the old installer behavior.


Allow me to continue your constructed case: The user denies any update 
and therefore don't get LyX 2.3.0. But he maybe reconfigure LyX 2.2.x 
and as result he cannot compile his document because LaTeX got broken. 
If he runs my LyX 2.3.0 installer he can afterwards also reconfigure his 
LyX 2.2.x without risking anything.


regards Uwe


Re: Update on 2.3.0 situation and Windows-specific issues

2018-03-10 Thread Uwe Stöhr

Am 11.03.2018 um 00:57 schrieb Scott Kostyshak:


I believe their goal is to get a working LyX, but they are not aware
that they might be paying a cost. They might not want to update MiKTeX,
and they should not expect that LyX is going to update MiKTeX. Thus,
although they might want a working LyX, they might not want their MiKTeX
to change, or at least not at that time.


Then they don't get a working LyX. That is not the idea of an installer. 
If you run such a program, you expect that it installs LyX.
So I as user of an installer already made a decision: I want to have LyX 
installed.

Sorry that I don't get your point.

I also cannot see costs. What is in your opinion the cost of having a 
working package handling system? All your personal settings are not 
touched by the update.


regards Uwe


Re: Update on 2.3.0 situation and Windows-specific issues

2018-03-10 Thread Scott Kostyshak
On Sat, Mar 10, 2018 at 11:53:36PM +, Uwe Stöhr wrote:
> Am 10.03.2018 um 21:37 schrieb Uwe Stöhr:
> 
> > I understand what you wrote but not your goal behind it.
> > I use the LyX installer to install LyX. Therefore I expect a working LyX
> > afterwards.
> 
> In other words:
> 
> - we agree that users who run an installer of LyX want
>  * to get LyX
>  * a working LyX
> So the goal for the installer is to achieve this.

Yes, I agree with the above. I think many of us also believe that we
have the additional goal of allowing users to control when their
software undergoes a major updated.

> - If you have another method to achieve this than the one I am using for the
> installer, please tell me the steps the installer should do and in what
> order.
> 
> I don't see another solution than what the installer I prepared does.

I think that adding a dialog solves the same goal you mentioned above,
plus the additional goal I mentioned above.

Scott


signature.asc
Description: PGP signature


Re: Update on 2.3.0 situation and Windows-specific issues

2018-03-10 Thread Scott Kostyshak
On Sat, Mar 10, 2018 at 08:37:30PM +, Uwe Stöhr wrote:
> Am 09.03.2018 um 18:33 schrieb Scott Kostyshak:
> 
> > Do you understand the argument that I, Richard, Jean-Marc, and racoon
> > have expressed (to those I cite, please correct me if I misrepresent
> > your opinion)?
> 
> I understand what you wrote but not your goal behind it.

OK this is good to know.

> I use the LyX installer to install LyX. Therefore I expect a working LyX
> afterwards.
> 
> What you propose it to let the user choose,

Yes.

> but there is nothing to choose.
> If they don't want to install LyX they would not use the LyX installer. So
> if the LyX installer does what you want and let the user deny the update,
> they won't get a working LyX. But if their goal was not to get a working LyX
> then installing LyX makes no sense.

I believe their goal is to get a working LyX, but they are not aware
that they might be paying a cost. They might not want to update MiKTeX,
and they should not expect that LyX is going to update MiKTeX. Thus,
although they might want a working LyX, they might not want their MiKTeX
to change, or at least not at that time.

There are many users who use LaTeX outside of LyX. Some people only
install LyX to work with other people who use LyX, but use a LaTeX
editor for their main work. There are many reasons why these people
might not want to update MiKTeX. In general, updates break things. It's
up to the user to decide when is a good time to update. Perhaps a user
is about to submit a paper to a journal tomorrow. They might install LyX
2.3.0 today because their coauthor asked them to, but they should not
expect LyX to update MiKTeX. If LyX updates MiKTeX, this could break
LaTeX compilation for the user outside of LyX. There are so many
regressions in LaTeX packages, especially when considering all of the
complex interactions between LaTeX packages. Updates break things.

If in the LyX 2.3.0 installer we provide an informative dialog, the user
might say "oh I did not know that LyX needed to update MiKTeX. I will
not install LyX now because I need to submit my paper tomorrow. After I
submit my paper, I can deal with an updated MiKTeX and fix any problems
that come from updated LaTeX packages so I will install LyX 2.3.0 at
that time".

For example, I do not update TeX Live often. I wait until I'm at a time
where I can deal with something breaking when I update.

In summary, updates break things. If possible, the user should have
control over what is updated and when. Here, I claim that it is possible
and at the cost of a dialog. I do not take this cost lightly.  An extra
dialog comes with the possibility for confusion, and for users to say
"What does this mean? Why doesn't it just install it. Why is it asking
me questions?" Nonetheless, my personal opinion is that the dialog is
worth that cost.

> > Only once both sides understand the argument of the other, without
> > judgement, without comparing, just *understanding*, can we actually move
> > to the next step of coming up with a solution.
> 
> I already have the solution and the user feedback is positive. So why do you
> think there is no solution?
> task: installing results in a fully functional LyX
> solution: the LyX installer I created

You are right, you did propose a solution. I should have have phrased it
as "choosing a solution". From what I understand, there are two
solutions:

1. installer-4
2. installer-4 + a dialog at the beginning.

> Meanwhile I got the report that version 4 of the LyX Win installer fails on
> some 64bit Windows. I am currently working on this and will most probably
> come up with another version of the installer that fixes this.

Thanks for looking into it.

Scott


signature.asc
Description: PGP signature


Re: Update on 2.3.0 situation and Windows-specific issues

2018-03-10 Thread Uwe Stöhr

Am 10.03.2018 um 21:37 schrieb Uwe Stöhr:


I understand what you wrote but not your goal behind it.
I use the LyX installer to install LyX. Therefore I expect a working LyX 
afterwards.


In other words:

- we agree that users who run an installer of LyX want
 * to get LyX
 * a working LyX
So the goal for the installer is to achieve this.

- If you have another method to achieve this than the one I am using for 
the installer, please tell me the steps the installer should do and in 
what order.


I don't see another solution than what the installer I prepared does.

regards Uwe


Re: Update on 2.3.0 situation and Windows-specific issues

2018-03-10 Thread Uwe Stöhr

Am 09.03.2018 um 18:33 schrieb Scott Kostyshak:


Do you understand the argument that I, Richard, Jean-Marc, and racoon
have expressed (to those I cite, please correct me if I misrepresent
your opinion)?


I understand what you wrote but not your goal behind it.
I use the LyX installer to install LyX. Therefore I expect a working LyX 
afterwards.


What you propose it to let the user choose, but there is nothing to 
choose. If they don't want to install LyX they would not use the LyX 
installer. So if the LyX installer does what you want and let the user 
deny the update, they won't get a working LyX. But if their goal was not 
to get a working LyX then installing LyX makes no sense.



Only once both sides understand the argument of the other, without
judgement, without comparing, just *understanding*, can we actually move
to the next step of coming up with a solution.


I already have the solution and the user feedback is positive. So why do 
you think there is no solution?

task: installing results in a fully functional LyX
solution: the LyX installer I created

---

Meanwhile I got the report that version 4 of the LyX Win installer fails 
on some 64bit Windows. I am currently working on this and will most 
probably come up with another version of the installer that fixes this.


regards Uwe


Re: [RFC][PATCH] native file dialogs

2018-03-10 Thread Kornel Benko
Am Donnerstag, 1. Februar 2018 08:22:30 CET schrieb Guenter Milde 
:
> On 2018-01-31, Jürgen Spitzmüller wrote:
> > Am Mittwoch, den 31.01.2018, 11:00 +0100 schrieb Jean-Marc Lasgouttes:
> >> Le 31/01/2018 à 08:20, Jürgen Spitzmüller a écrit :
> ...
> 
> >> > The nice thing about the buttons is that they only occur when it
> >> > makes
> >> > sense. And remember we do not only have "Examples". We also show
> >> > "Templates" (my favorite), "Documents", "Cliparts" (and maybe
> >> > others).
> >> > And if done correctly, it could be extended to other places
> >> > depending
> >> > on the context (e.g., "BibTeX databases" ($TEXMF/bib) in the BibTeX
> >> > dialog).
> >> 
> >> Yes, I thought about that since writing this message. Note that "New
> >> from template" already starts from the template directory.
> > 
> > Yes, I know.
> 
> OTOH, we do not have a "File>Save as template" (and I don't think we
> should add it) while "File>Save as" offers the [templates] button for
> easy creation of templates.
> 
> > The off thing is that it only includes the system
> > directory, not the user directory (not that the buttons would solve
> > that).
> 
> The examples and templates directories can be configured in
> Tools>Preferences>Paths. However if changed to the user directory, the
> system dir is "hidden". I worked around this with a symlink from my user
> templates directory to the system one.
> 
> I expect the average user to gain from creation and use of custom
> templates. Therefore I'd like to make this "dead easy".
> 
> * Set the default value for the templates to the user directory
> 
> * Either
>   - add a symlink USERDIR/templates/standard/ -> LYXDIR/templates/
> when installing LyX
>   or
>   - merge the files in userdir and lyxdir in the "new from template"
> dialogue.
> 
> I don't expect the average user to create custom examples in
> USERDIR/examples. OTOH, examples can be used as templates. Maybe we could
> also add a symlink USERDIR/templates/examples/ -> LYXDIR/examples/
> (Possibly in additon to a Help>Examples sub-menu.)
> 
> See also the discussion around
> https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg200102.html
> 
> Günter

I'd say, now is the right time to commit the proposed patch. Having different 
defaults for linux and Mac/Windows can be done in configure.

Kornel


signature.asc
Description: This is a digitally signed message part.