Generic Auto Updater for Inkscape on Windows

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Generic Auto Updater for Inkscape on Windows

Victor Westmann
Hi everyone,

I was just wondering if this is interesting for Inkscape project on Windows platform.
The website of the project is here: http://wingup.org

Text extracted from the homepage of GUP:
"WinGUp is a Generic Updater running under Windows environment.

The aim of WinGUp is to provide a ready to use and configurable updater which downloads a update package then installs it.
By using cURL library and TinyXml module, GUP is capable to deal with http protocol and process XML data.

Originally WinGUp was made for the need of Notepad++ (a generic source code editor under MS Windows). During its conception, the idea came up in my mind : if it can fit Notepad++, it can fit for any Windows program. So here it is, with LGPL license to have no (almost not) restriction for integration in any project.

Being LGPLed, WinGUp can be integrated in both commercial (or close source) and open source project. So if you run a commercial or open a source project under MS Windows and you release your program at regular intervals, then you may need WinGUp to notice your users the new update."

I find it very convenient to be able to update notepad++ by clickinh on "?" > "Update Notepad++".

I am aware that in Linux and MacOS environments updates are a more automated task and usually happen in the shell or CLI side of things... but I would just like to suggest this and collect the feedback on the possibility of this feature.


Thanks everyone and have a great day!

--Victor Westmann

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Reply | Threaded
Open this post in threaded view
|

Re: Generic Auto Updater for Inkscape on Windows

Tim Sheridan
> I am aware that in Linux and MacOS environments updates are a more automated
> task and usually happen in the shell or CLI side of things... but I would
> just like to suggest this and collect the feedback on the possibility of
> this feature.

Mac diversion from me here. For CLI software, things are mostly
managed by a package manager like homebrew, macports, fink, etc. But,
for GUI apps (ignoring Mac App Store distributed apps), they commonly
do their own version updating. A very popular technique is to use a
similar kind of library to this one called Sparkle
(https://sparkle-project.org). Though, it has update version check
logic client-side, with just an RSS feed containing entries for app
releases server-side.

Sparkle integration is something I've got on the list to look at with
the Mac build. Basic integration into Inkscape is pretty simple when
adding it to an Obj C app wrapper (the replacement for the <= 0.92.x
Carbon wrapper). The tricky bit is getting it to integrate with a
Inkscape preferences UI to set things like enable version checking,
version check interval, enable beta release channel, etc.

If there's interest in doing a Windows self-updater, it'd be useful to
discuss what would be desired for a preferences UI so we can work out
a common UI for that, if possible.

Cheers,
Tim

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Reply | Threaded
Open this post in threaded view
|

Re: Generic Auto Updater for Inkscape on Windows

Victor Westmann
Hi Tim,

Thank you for your observations. I guess that this will need to be further discussed if it is desired and in case it is on how many operating systems this could/should be done. 

Just thought it would be really nice to have something similar to this since notepad++ has it. VLC also has something similar.

It's good to collect feedback on this.

Thanks.

On Sep 13, 2017 10:54 AM, "Tim Sheridan" <[hidden email]> wrote:
> I am aware that in Linux and MacOS environments updates are a more automated
> task and usually happen in the shell or CLI side of things... but I would
> just like to suggest this and collect the feedback on the possibility of
> this feature.

Mac diversion from me here. For CLI software, things are mostly
managed by a package manager like homebrew, macports, fink, etc. But,
for GUI apps (ignoring Mac App Store distributed apps), they commonly
do their own version updating. A very popular technique is to use a
similar kind of library to this one called Sparkle
(https://sparkle-project.org). Though, it has update version check
logic client-side, with just an RSS feed containing entries for app
releases server-side.

Sparkle integration is something I've got on the list to look at with
the Mac build. Basic integration into Inkscape is pretty simple when
adding it to an Obj C app wrapper (the replacement for the <= 0.92.x
Carbon wrapper). The tricky bit is getting it to integrate with a
Inkscape preferences UI to set things like enable version checking,
version check interval, enable beta release channel, etc.

If there's interest in doing a Windows self-updater, it'd be useful to
discuss what would be desired for a preferences UI so we can work out
a common UI for that, if possible.

Cheers,
Tim

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Reply | Threaded
Open this post in threaded view
|

Re: Generic Auto Updater for Inkscape on Windows

Martin Owens-2
Updates:

From the website perspective, the plan is to provide a simple json and
rss feed for inkscape itself to consume. This would give information
about new versions, as well as other important updates. Optional
community updates would also be available through a similar feed.

When thinking about what kind of system we should use, we can think
about how this website system will deliver information to inkscape or
it's wrapper updater systems.

Best Regards, Martin Owens

On Wed, 2017-09-13 at 11:47 -0700, Victor Westmann wrote:

> Hi Tim,
>
> Thank you for your observations. I guess that this will need to be
> further discussed if it is desired and in case it is on how many
> operating systems this could/should be done. 
>
> Just thought it would be really nice to have something similar to
> this since notepad++ has it. VLC also has something similar.
>
> It's good to collect feedback on this.
>
> Thanks.
>
> On Sep 13, 2017 10:54 AM, "Tim Sheridan" <[hidden email]> wrote:
> > > I am aware that in Linux and MacOS environments updates are a
> > more automated
> > > task and usually happen in the shell or CLI side of things... but
> > I would
> > > just like to suggest this and collect the feedback on the
> > possibility of
> > > this feature.
> >
> > Mac diversion from me here. For CLI software, things are mostly
> > managed by a package manager like homebrew, macports, fink, etc.
> > But,
> > for GUI apps (ignoring Mac App Store distributed apps), they
> > commonly
> > do their own version updating. A very popular technique is to use a
> > similar kind of library to this one called Sparkle
> > (https://sparkle-project.org). Though, it has update version check
> > logic client-side, with just an RSS feed containing entries for app
> > releases server-side.
> >
> > Sparkle integration is something I've got on the list to look at
> > with
> > the Mac build. Basic integration into Inkscape is pretty simple
> > when
> > adding it to an Obj C app wrapper (the replacement for the <=
> > 0.92.x
> > Carbon wrapper). The tricky bit is getting it to integrate with a
> > Inkscape preferences UI to set things like enable version checking,
> > version check interval, enable beta release channel, etc.
> >
> > If there's interest in doing a Windows self-updater, it'd be useful
> > to
> > discuss what would be desired for a preferences UI so we can work
> > out
> > a common UI for that, if possible.
> >
> > Cheers,
> > Tim
> >
> -------------------------------------------------------------------
> -----------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Inkscape-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/inkscape-devel

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Reply | Threaded
Open this post in threaded view
|

Re: Generic Auto Updater for Inkscape on Windows

Eduard Braun

Hi all,

I really like the general idea! However I'm quite unclear on how the details could/should work...

Most important question from my side: What type of update mechanism do we actually have in mind?
  1. Simply notify the user "Hey we have a new version, visit our homepage to download!"
  2. Automatically download a suitable package for the user and start installation.
  3. Some even more sophisticated update logic inside the updater.

I think option C is pretty much out of question as it's almost impossible to implement and I guess it's unlikely we can get it right across all OSs. (Unless of course there's cross platform software designed exactly for this purpose and we're willing to switch our packaging...)
Even option B gives me a headache: We do not only have to support a lot of different OSs but on each of these OSs we have different packaging options. How do we decide which is a "suitable package"? How do we avoid to interfere with packaging options that already provide automatic updates?
Last but not least, option A: While this is probably the easiest to implement and mostly OS-independent even here we have some complications: If we release Inkscape 0.92.3 but don't have a Windows package yet - do we notify Windows users anyway? Or do we differentiate here? If we differentiate OSs - should we even differentiate individual packages? If we differentiate individual packages - what do we do if we discontinue a package or can't offer an update package for any other reason? If we differentiate individual packages we're also back to the problem of option B and have to keep track of what package the user actually obtained in the beginning.

I don't want to sound too pessimistic, but at this point I'm unsure if anything beyond a simple notification for a new Inkscape version (OS and package independent) is feasible without an unproportionate amount of work.

Obviously we could leave it to packagers (as we basically do now) so we do not have to deal with OS differences in Inkscape itself but that kind of defeats the whole purpose of this thread as I assume a unified solution with metadata provided centrally from the homepage as Martin mentioned would be preferable...

Let me know what you think... Maybe I'm overlooking something and a solution might be easier than I can imagine!

@tghs: I'd be happy to get together with you, but while we're still unsure how the process could look it's probably a bit early to even think about UI...

Regards,
Eduard


Am 14.09.2017 um 04:53 schrieb Martin Owens:
Updates:

From the website perspective, the plan is to provide a simple json and
rss feed for inkscape itself to consume. This would give information
about new versions, as well as other important updates. Optional
community updates would also be available through a similar feed.

When thinking about what kind of system we should use, we can think
about how this website system will deliver information to inkscape or
it's wrapper updater systems.

Best Regards, Martin Owens

On Wed, 2017-09-13 at 11:47 -0700, Victor Westmann wrote:
Hi Tim,

Thank you for your observations. I guess that this will need to be
further discussed if it is desired and in case it is on how many
operating systems this could/should be done. 

Just thought it would be really nice to have something similar to
this since notepad++ has it. VLC also has something similar.

It's good to collect feedback on this.

Thanks.

On Sep 13, 2017 10:54 AM, "Tim Sheridan" [hidden email] wrote:
I am aware that in Linux and MacOS environments updates are a
more automated
task and usually happen in the shell or CLI side of things... but
I would
just like to suggest this and collect the feedback on the
possibility of
this feature.
Mac diversion from me here. For CLI software, things are mostly
managed by a package manager like homebrew, macports, fink, etc.
But,
for GUI apps (ignoring Mac App Store distributed apps), they
commonly
do their own version updating. A very popular technique is to use a
similar kind of library to this one called Sparkle
(https://sparkle-project.org). Though, it has update version check
logic client-side, with just an RSS feed containing entries for app
releases server-side.

Sparkle integration is something I've got on the list to look at
with
the Mac build. Basic integration into Inkscape is pretty simple
when
adding it to an Obj C app wrapper (the replacement for the <=
0.92.x
Carbon wrapper). The tricky bit is getting it to integrate with a
Inkscape preferences UI to set things like enable version checking,
version check interval, enable beta release channel, etc.

If there's interest in doing a Windows self-updater, it'd be useful
to
discuss what would be desired for a preferences UI so we can work
out
a common UI for that, if possible.

Cheers,
Tim

-------------------------------------------------------------------
-----------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Reply | Threaded
Open this post in threaded view
|

Re: Generic Auto Updater for Inkscape on Windows

Sebastian Zartner
Hi together,

personally, I'd really like to see option C to happen, though of course that would mean the biggest effort.
Having said that, Victor mentioned Notepad++'s installer, which is one of the best I know regarding UX. The program tells you when there's a new version available and the installer itself recognizes the current installation configuration and preselects the update options accordingly. So, the user just has to click through the installer without having to adjust anything to get the installed version updated.
Also, LibreOffice's installation experience is quite similar to the one of Notepad++, with the difference that you have to download it manually.
Even one step beyond Notepad++'s one is FileZilla's installer, which not only recognizes the existing installation options but only requires like two or three clicks to get updated.
Speaking of those programs, I just know their installation routines on Windows and don't know if they work the same on all supported OSes.

So, I'd say the Inkscape team should reach out to the people behind those programs and ask them how they implemented their solutions.

If their solutions (which cover option B and C) are not feasible for Inkscape for whatever reason, option A would still be a big step forward. Having said that, the recognition for whether there is an update really needs to be correct for a good UX. Taking Eduard's example of a user getting an update notification, then going to the website and realizing that the new version is not available for their system would be really bad from a user's view.
So yes, the update routine needs to differenciate between OSes and packages.

Sebastian

On 16 September 2017 at 14:22, Eduard Braun <[hidden email]> wrote:

Hi all,

I really like the general idea! However I'm quite unclear on how the details could/should work...

Most important question from my side: What type of update mechanism do we actually have in mind?
  1. Simply notify the user "Hey we have a new version, visit our homepage to download!"
  2. Automatically download a suitable package for the user and start installation.
  3. Some even more sophisticated update logic inside the updater.

I think option C is pretty much out of question as it's almost impossible to implement and I guess it's unlikely we can get it right across all OSs. (Unless of course there's cross platform software designed exactly for this purpose and we're willing to switch our packaging...)
Even option B gives me a headache: We do not only have to support a lot of different OSs but on each of these OSs we have different packaging options. How do we decide which is a "suitable package"? How do we avoid to interfere with packaging options that already provide automatic updates?
Last but not least, option A: While this is probably the easiest to implement and mostly OS-independent even here we have some complications: If we release Inkscape 0.92.3 but don't have a Windows package yet - do we notify Windows users anyway? Or do we differentiate here? If we differentiate OSs - should we even differentiate individual packages? If we differentiate individual packages - what do we do if we discontinue a package or can't offer an update package for any other reason? If we differentiate individual packages we're also back to the problem of option B and have to keep track of what package the user actually obtained in the beginning.

I don't want to sound too pessimistic, but at this point I'm unsure if anything beyond a simple notification for a new Inkscape version (OS and package independent) is feasible without an unproportionate amount of work.

Obviously we could leave it to packagers (as we basically do now) so we do not have to deal with OS differences in Inkscape itself but that kind of defeats the whole purpose of this thread as I assume a unified solution with metadata provided centrally from the homepage as Martin mentioned would be preferable...

Let me know what you think... Maybe I'm overlooking something and a solution might be easier than I can imagine!

@tghs: I'd be happy to get together with you, but while we're still unsure how the process could look it's probably a bit early to even think about UI...

Regards,
Eduard


Am 14.09.2017 um 04:53 schrieb Martin Owens:
Updates:

From the website perspective, the plan is to provide a simple json and
rss feed for inkscape itself to consume. This would give information
about new versions, as well as other important updates. Optional
community updates would also be available through a similar feed.

When thinking about what kind of system we should use, we can think
about how this website system will deliver information to inkscape or
it's wrapper updater systems.

Best Regards, Martin Owens

On Wed, 2017-09-13 at 11:47 -0700, Victor Westmann wrote:
Hi Tim,

Thank you for your observations. I guess that this will need to be
further discussed if it is desired and in case it is on how many
operating systems this could/should be done. 

Just thought it would be really nice to have something similar to
this since notepad++ has it. VLC also has something similar.

It's good to collect feedback on this.

Thanks.

On Sep 13, 2017 10:54 AM, "Tim Sheridan" [hidden email] wrote:
I am aware that in Linux and MacOS environments updates are a
more automated
task and usually happen in the shell or CLI side of things... but
I would
just like to suggest this and collect the feedback on the
possibility of
this feature.
Mac diversion from me here. For CLI software, things are mostly
managed by a package manager like homebrew, macports, fink, etc.
But,
for GUI apps (ignoring Mac App Store distributed apps), they
commonly
do their own version updating. A very popular technique is to use a
similar kind of library to this one called Sparkle
(https://sparkle-project.org). Though, it has update version check
logic client-side, with just an RSS feed containing entries for app
releases server-side.

Sparkle integration is something I've got on the list to look at
with
the Mac build. Basic integration into Inkscape is pretty simple
when
adding it to an Obj C app wrapper (the replacement for the <=
0.92.x
Carbon wrapper). The tricky bit is getting it to integrate with a
Inkscape preferences UI to set things like enable version checking,
version check interval, enable beta release channel, etc.

If there's interest in doing a Windows self-updater, it'd be useful
to
discuss what would be desired for a preferences UI so we can work
out
a common UI for that, if possible.

Cheers,
Tim

-------------------------------------------------------------------
-----------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Reply | Threaded
Open this post in threaded view
|

Re: Generic Auto Updater for Inkscape on Windows

Victor Westmann
In reply to this post by Eduard Braun
Hi Eduard,

Interesting points the ones you observed. They make a lot of sense. I really don't want to add a whole lot more complexity to the project.

I will keep my eyes open if I stumble upon a cross platform app that updates 3rd party app. But the overall idea was to check for updates, download them, uninstall the current app and install the new one. But it demands a lot more research. 

Thank you for your observations. It's good to know that more people find this idea interesting. ;)

On Sep 16, 2017 5:22 AM, "Eduard Braun" <[hidden email]> wrote:

Hi all,

I really like the general idea! However I'm quite unclear on how the details could/should work...

Most important question from my side: What type of update mechanism do we actually have in mind?
  1. Simply notify the user "Hey we have a new version, visit our homepage to download!"
  2. Automatically download a suitable package for the user and start installation.
  3. Some even more sophisticated update logic inside the updater.

I think option C is pretty much out of question as it's almost impossible to implement and I guess it's unlikely we can get it right across all OSs. (Unless of course there's cross platform software designed exactly for this purpose and we're willing to switch our packaging...)
Even option B gives me a headache: We do not only have to support a lot of different OSs but on each of these OSs we have different packaging options. How do we decide which is a "suitable package"? How do we avoid to interfere with packaging options that already provide automatic updates?
Last but not least, option A: While this is probably the easiest to implement and mostly OS-independent even here we have some complications: If we release Inkscape 0.92.3 but don't have a Windows package yet - do we notify Windows users anyway? Or do we differentiate here? If we differentiate OSs - should we even differentiate individual packages? If we differentiate individual packages - what do we do if we discontinue a package or can't offer an update package for any other reason? If we differentiate individual packages we're also back to the problem of option B and have to keep track of what package the user actually obtained in the beginning.

I don't want to sound too pessimistic, but at this point I'm unsure if anything beyond a simple notification for a new Inkscape version (OS and package independent) is feasible without an unproportionate amount of work.

Obviously we could leave it to packagers (as we basically do now) so we do not have to deal with OS differences in Inkscape itself but that kind of defeats the whole purpose of this thread as I assume a unified solution with metadata provided centrally from the homepage as Martin mentioned would be preferable...

Let me know what you think... Maybe I'm overlooking something and a solution might be easier than I can imagine!

@tghs: I'd be happy to get together with you, but while we're still unsure how the process could look it's probably a bit early to even think about UI...

Regards,
Eduard


Am 14.09.2017 um 04:53 schrieb Martin Owens:
Updates:

From the website perspective, the plan is to provide a simple json and
rss feed for inkscape itself to consume. This would give information
about new versions, as well as other important updates. Optional
community updates would also be available through a similar feed.

When thinking about what kind of system we should use, we can think
about how this website system will deliver information to inkscape or
it's wrapper updater systems.

Best Regards, Martin Owens

On Wed, 2017-09-13 at 11:47 -0700, Victor Westmann wrote:
Hi Tim,

Thank you for your observations. I guess that this will need to be
further discussed if it is desired and in case it is on how many
operating systems this could/should be done. 

Just thought it would be really nice to have something similar to
this since notepad++ has it. VLC also has something similar.

It's good to collect feedback on this.

Thanks.

On Sep 13, 2017 10:54 AM, "Tim Sheridan" [hidden email] wrote:
I am aware that in Linux and MacOS environments updates are a
more automated
task and usually happen in the shell or CLI side of things... but
I would
just like to suggest this and collect the feedback on the
possibility of
this feature.
Mac diversion from me here. For CLI software, things are mostly
managed by a package manager like homebrew, macports, fink, etc.
But,
for GUI apps (ignoring Mac App Store distributed apps), they
commonly
do their own version updating. A very popular technique is to use a
similar kind of library to this one called Sparkle
(https://sparkle-project.org). Though, it has update version check
logic client-side, with just an RSS feed containing entries for app
releases server-side.

Sparkle integration is something I've got on the list to look at
with
the Mac build. Basic integration into Inkscape is pretty simple
when
adding it to an Obj C app wrapper (the replacement for the <=
0.92.x
Carbon wrapper). The tricky bit is getting it to integrate with a
Inkscape preferences UI to set things like enable version checking,
version check interval, enable beta release channel, etc.

If there's interest in doing a Windows self-updater, it'd be useful
to
discuss what would be desired for a preferences UI so we can work
out
a common UI for that, if possible.

Cheers,
Tim

-------------------------------------------------------------------
-----------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Reply | Threaded
Open this post in threaded view
|

Re: Generic Auto Updater for Inkscape on Windows

Tobias Ellinghaus
In reply to this post by Eduard Braun
Am Samstag, 16. September 2017, 14:22:50 CEST schrieb Eduard Braun:

> Hi all,
>
> I really like the general idea! However I'm quite unclear on how the
> details could/should work...
>
> Most important question from my side: What type of update mechanism do
> we actually have in mind?
>
>  1. Simply notify the user "Hey we have a new version, visit our
>     homepage to download!"
>  2. Automatically download a suitable package for the user and start
>     installation.
>  3. Some even more sophisticated update logic inside the updater.
>
> I think option C is pretty much out of question as it's almost
> impossible to implement and I guess it's unlikely we can get it right
> across all OSs. (Unless of course there's cross platform software
> designed exactly for this purpose and we're willing to switch our
> packaging...)
> Even option B gives me a headache: We do not only have to support a lot
> of different OSs but on each of these OSs we have different packaging
> options. How do we decide which is a "suitable package"? How do we avoid
> to interfere with packaging options that already provide automatic updates?
> Last but not least, option A: While this is probably the easiest to
> implement and mostly OS-independent even here we have some
> complications: If we release Inkscape 0.92.3 but don't have a Windows
> package yet - do we notify Windows users anyway? Or do we differentiate
> here? If we differentiate OSs - should we even differentiate individual
> packages? If we differentiate individual packages - what do we do if we
> discontinue a package or can't offer an update package for any other
> reason? If we differentiate individual packages we're also back to the
> problem of option B and have to keep track of what package the user
> actually obtained in the beginning.
>
> I don't want to sound too pessimistic, but at this point I'm unsure if
> anything beyond a simple notification for a new Inkscape version (OS and
> package independent) is feasible without an unproportionate amount of work.
>
> Obviously we could leave it to packagers (as we basically do now) so we
> do not have to deal with OS differences in Inkscape itself but that kind
> of defeats the whole purpose of this thread as I assume a unified
> solution with metadata provided centrally from the homepage as Martin
> mentioned would be preferable...
Maybe something halfway between dealing with it in Inkscape and having the
maintainer do it might be feasible: Have a mechanism that regularly checks an
RSS feed (or some other easily parsable file on a webserver), checks the
signature of the file (so that it can't be faked) and compares the timestamp +
version of the latest release to what is currently installed (so that old
versions can't be replayed). If it's newer it offers to download the file,
check its signature and install it. Where the packager comes into play is the
URL of that RSS feed. For every flavour of installer a custom feed would be
configured at compile time.
Alternatively the RSS feed (or JSON file as that's allowing easier extension
with custom data) could also mention the supported operating system, 32/64
bit, installer type and so on. Whenever a new build gets uploaded it gets
added to the feed automatically. That would however make the code in Inkscape
that does the checking more complicated.

> Let me know what you think... Maybe I'm overlooking something and a
> solution might be easier than I can imagine!
>
> @tghs: I'd be happy to get together with you, but while we're still
> unsure how the process could look it's probably a bit early to even
> think about UI...
>
> Regards,
> Eduard

Tobias

[...]
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Generic Auto Updater for Inkscape on Windows

Victor Westmann
Hi everyone,

this seems to be Open Source, made in C++ and cross-platform:
and

Let me know your thoughts. I know that C++ and Python are the preferred languages for the project since the core code of Inkscape is written in C++ and the plugins and extensions are written in Python.

Cheers!



--Victor Westmann

2017-09-16 23:49 GMT-07:00 Tobias Ellinghaus <[hidden email]>:
Am Samstag, 16. September 2017, 14:22:50 CEST schrieb Eduard Braun:
> Hi all,
>
> I really like the general idea! However I'm quite unclear on how the
> details could/should work...
>
> Most important question from my side: What type of update mechanism do
> we actually have in mind?
>
>  1. Simply notify the user "Hey we have a new version, visit our
>     homepage to download!"
>  2. Automatically download a suitable package for the user and start
>     installation.
>  3. Some even more sophisticated update logic inside the updater.
>
> I think option C is pretty much out of question as it's almost
> impossible to implement and I guess it's unlikely we can get it right
> across all OSs. (Unless of course there's cross platform software
> designed exactly for this purpose and we're willing to switch our
> packaging...)
> Even option B gives me a headache: We do not only have to support a lot
> of different OSs but on each of these OSs we have different packaging
> options. How do we decide which is a "suitable package"? How do we avoid
> to interfere with packaging options that already provide automatic updates?
> Last but not least, option A: While this is probably the easiest to
> implement and mostly OS-independent even here we have some
> complications: If we release Inkscape 0.92.3 but don't have a Windows
> package yet - do we notify Windows users anyway? Or do we differentiate
> here? If we differentiate OSs - should we even differentiate individual
> packages? If we differentiate individual packages - what do we do if we
> discontinue a package or can't offer an update package for any other
> reason? If we differentiate individual packages we're also back to the
> problem of option B and have to keep track of what package the user
> actually obtained in the beginning.
>
> I don't want to sound too pessimistic, but at this point I'm unsure if
> anything beyond a simple notification for a new Inkscape version (OS and
> package independent) is feasible without an unproportionate amount of work.
>
> Obviously we could leave it to packagers (as we basically do now) so we
> do not have to deal with OS differences in Inkscape itself but that kind
> of defeats the whole purpose of this thread as I assume a unified
> solution with metadata provided centrally from the homepage as Martin
> mentioned would be preferable...

Maybe something halfway between dealing with it in Inkscape and having the
maintainer do it might be feasible: Have a mechanism that regularly checks an
RSS feed (or some other easily parsable file on a webserver), checks the
signature of the file (so that it can't be faked) and compares the timestamp +
version of the latest release to what is currently installed (so that old
versions can't be replayed). If it's newer it offers to download the file,
check its signature and install it. Where the packager comes into play is the
URL of that RSS feed. For every flavour of installer a custom feed would be
configured at compile time.
Alternatively the RSS feed (or JSON file as that's allowing easier extension
with custom data) could also mention the supported operating system, 32/64
bit, installer type and so on. Whenever a new build gets uploaded it gets
added to the feed automatically. That would however make the code in Inkscape
that does the checking more complicated.

> Let me know what you think... Maybe I'm overlooking something and a
> solution might be easier than I can imagine!
>
> @tghs: I'd be happy to get together with you, but while we're still
> unsure how the process could look it's probably a bit early to even
> think about UI...
>
> Regards,
> Eduard

Tobias

[...]
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel