Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add auto-updater for development builds #661

Closed
tobiasdiez opened this issue Jan 10, 2016 · 29 comments
Closed

Add auto-updater for development builds #661

tobiasdiez opened this issue Jan 10, 2016 · 29 comments

Comments

@tobiasdiez
Copy link
Member

In view of the more regular release schedule, it would be nice if JabRef can perform an auto-update.

@stefan-kolb
Copy link
Member

Definitely 👍

@koppor
Copy link
Member

koppor commented Jan 10, 2016

install4j offers that functionality and also generates an updates.xml. Have to investigate where to put that file and how to automate that process.

Currently, I think, it should be put at https://www.jabref.org/updates.xml. Since that page is served via github, we currently do not get a valid SSL certificate. It doesn't seem possible to offer SSL at custom domains. Thus, I have to provide https://updates.jabref.org/updates.xml or https://builds.jabref.org/updates.xml or https://files.jabref.org/updates.xml (all of them not working, as SSL currently not setup for jabref.org. Help with letsencrypt wanted). Think, builds.jabref.org is the right choice, isn't it?

@simonharrer
Copy link
Contributor

👍 but needs to be automated so this is not too much a hassle.

@tobiasdiez
Copy link
Member Author

Apperently, it is relatively easy to also support a special channel for dev-builds.

@tobiasdiez tobiasdiez added this to the v3.3 milestone Mar 7, 2016
@koppor koppor modified the milestones: v3.4, v3.3 Mar 8, 2016
@obraliar
Copy link
Contributor

obraliar commented May 2, 2016

Stupro features team would like to take care about this issue for the 3rd sprint which has just started.

@stefan-kolb
Copy link
Member

This would free users from downloading from our affiliate sites. How much income do we potentially lose with this?

@koppor
Copy link
Member

koppor commented May 9, 2016 via email

@simonharrer
Copy link
Contributor

simonharrer commented May 10, 2016

Should be done without install4j, but rather manually using swingworker (background thread)

Ask github API whether newer version exists
Menu option: Help - Check for update
During startup: check and if newer display this somehow

@matthiasgeiger
Copy link
Member

Important for usability: Checkbox: "Do not notify for this update again" or sth like this.

@matthiasgeiger
Copy link
Member

matthiasgeiger commented May 19, 2016

Example from TexStudio:
auto-update

This dialog is shown on startup.

@obraliar Any news on this topic?

@obraliar
Copy link
Contributor

Due to decision problems we switched to other topic in this sprint. Full steam ahead now we are working on shared-database support. Should we implement only a checker (see #984) without updating the software?
If this is clear, we are going to implement this quickly in the next sprint which starts on 5th June.

@matthiasgeiger
Copy link
Member

Allright - no problem ;-)

Before implementing a solution it would be great if you can evaluate which possibilities install4j provides for updating a program.

@stefan-kolb stefan-kolb modified the milestones: v3.5, v3.4 May 20, 2016
@Siedlerchr
Copy link
Member

I would vote for just adding a dialog like in TexStudio.
Regarding install4j, it should also be evaluated how it support building msi packages for easier rollout on Windows environments and how to handle updates. A typical scenario is to automatically deploy software to Windows PCs in the network.

@koppor koppor assigned mairdl and unassigned koppor May 20, 2016
@koppor
Copy link
Member

koppor commented May 20, 2016

Implement it like Simon and Matthias said:

I think, @mairdl can do it.

@mairdl
Copy link
Contributor

mairdl commented May 26, 2016

We are currently working on it. Our first prototype looks like this (you can ignore the values)
newversion
Feel free to leave suggestions about the layout.

@Siedlerchr
Copy link
Member

Like the Ignore Update and Remind me Later.

I would change the text from Visit Downloadpage to simply Download (update).
And add a description text like in TexStudio, e.g. A new version of JabRef is avaiable.
And add some bottom line text, For more information and a changelog visit the website www.jabref.org.
Or maybe simpler: To see what's new visit the website (clickable Link).

Regarding the behavior of the dialog: When you open JabRef for the first time then the dialog should be displayed, in case a new version is available.

@chriba
Copy link
Contributor

chriba commented May 26, 2016

updatepopup
The download button leads the user to http://www.jabref.org/#downloads.
If the user clicks the ignore button this update will be ignored by automatic updates, when the updatesearch is manually started by the user this update will be suggested again.
When remind me later is clicked the update will popup whenever the next versioncheck is performed.
The changelog link will lead directly to the changelog of the latest version, in case of v3.3 it would be https://github.com/JabRef/jabref/blob/v3.3/CHANGELOG.md

An automated versioncheck will be performed dependend on the users preferences.

updatepreferences

The user can also search for Updates via Help -> Search for updates.

If the Update was executed manually fails (eg. the github server is not available or the API limit is reached (60 calls per IP per hour, barely a problem)), a error dialog will popup,
if an automatic update check fails it will be shown only on the statusfield.

I will open a PR within the next few days, but feel free to discuss it here some more.

@Siedlerchr
Copy link
Member

Good work 👍
For me it's looking perfect now.

2016-05-26 21:28 GMT+02:00 bartsch-dev [email protected]:

[image: updatepopup]
https://cloud.githubusercontent.com/assets/15333371/15587100/f9589300-2387-11e6-9634-4fe1344407f4.JPG
The download button leads the user to http://www.jabref.org/#downloads.
If the user clicks the ignore button this update will be ignored by
automatic updates, when the updatesearch is manually started by the user
this update will be suggested again.
When remind me later is clicked the update will popup whenever the next
versioncheck is performed.

An automated versioncheck will be performed dependend on the users
preferences.

[image: updatepreferences]
https://cloud.githubusercontent.com/assets/15333371/15587225/8860cae0-2388-11e6-9a66-96ee6b479334.jpg


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#661 (comment)

@stefan-kolb
Copy link
Member

Dialog looks good, just capitalize first letzter of latest Version. For the
preferences, i'd rather simplify this a little bit. As for the Naming i'd
suggest Updates. Does the user really need to select how often we check?
And all the other Options? We could just handle that in the background?!
Am 27.05.2016 10:40 vorm. schrieb "Christoph" [email protected]:

Good work 👍
For me it's looking perfect now.

2016-05-26 21:28 GMT+02:00 bartsch-dev [email protected]:

[image: updatepopup]
<
https://cloud.githubusercontent.com/assets/15333371/15587100/f9589300-2387-11e6-9634-4fe1344407f4.JPG

The download button leads the user to http://www.jabref.org/#downloads.
If the user clicks the ignore button this update will be ignored by
automatic updates, when the updatesearch is manually started by the user
this update will be suggested again.
When remind me later is clicked the update will popup whenever the next
versioncheck is performed.

An automated versioncheck will be performed dependend on the users
preferences.

[image: updatepreferences]
<
https://cloud.githubusercontent.com/assets/15333371/15587225/8860cae0-2388-11e6-9a66-96ee6b479334.jpg


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#661 (comment)


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#661 (comment), or mute
the thread
https://github.com/notifications/unsubscribe/ACCtQ-ip9U8-8fnSecnNLWAk_9M3A3wRks5qFq4XgaJpZM4HB8U7
.

@stefan-kolb
Copy link
Member

Download button should go to fosshub?! No intermediary Clicks needed then.
Am 27.05.2016 10:51 vorm. schrieb "Stefan Kolb" [email protected]:

Dialog looks good, just capitalize first letzter of latest Version. For
the preferences, i'd rather simplify this a little bit. As for the Naming
i'd suggest Updates. Does the user really need to select how often we
check? And all the other Options? We could just handle that in the
background?!
Am 27.05.2016 10:40 vorm. schrieb "Christoph" [email protected]:

Good work 👍
For me it's looking perfect now.

2016-05-26 21:28 GMT+02:00 bartsch-dev [email protected]:

[image: updatepopup]
<
https://cloud.githubusercontent.com/assets/15333371/15587100/f9589300-2387-11e6-9634-4fe1344407f4.JPG

The download button leads the user to http://www.jabref.org/#downloads.
If the user clicks the ignore button this update will be ignored by
automatic updates, when the updatesearch is manually started by the user
this update will be suggested again.
When remind me later is clicked the update will popup whenever the next
versioncheck is performed.

An automated versioncheck will be performed dependend on the users
preferences.

[image: updatepreferences]
<
https://cloud.githubusercontent.com/assets/15333371/15587225/8860cae0-2388-11e6-9a66-96ee6b479334.jpg


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#661 (comment)


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#661 (comment), or mute
the thread
https://github.com/notifications/unsubscribe/ACCtQ-ip9U8-8fnSecnNLWAk_9M3A3wRks5qFq4XgaJpZM4HB8U7
.

@stefan-kolb
Copy link
Member

Maybe just use a check for updates entry in the help menu that ignores all
Settings and Displays the Dialog after, instead of the preferences?
Am 27.05.2016 10:53 vorm. schrieb "Stefan Kolb" [email protected]:

Download button should go to fosshub?! No intermediary Clicks needed then.
Am 27.05.2016 10:51 vorm. schrieb "Stefan Kolb" [email protected]:

Dialog looks good, just capitalize first letzter of latest Version. For
the preferences, i'd rather simplify this a little bit. As for the Naming
i'd suggest Updates. Does the user really need to select how often we
check? And all the other Options? We could just handle that in the
background?!
Am 27.05.2016 10:40 vorm. schrieb "Christoph" [email protected]:

Good work 👍
For me it's looking perfect now.

2016-05-26 21:28 GMT+02:00 bartsch-dev [email protected]:

[image: updatepopup]
<
https://cloud.githubusercontent.com/assets/15333371/15587100/f9589300-2387-11e6-9634-4fe1344407f4.JPG

The download button leads the user to http://www.jabref.org/#downloads
.
If the user clicks the ignore button this update will be ignored by
automatic updates, when the updatesearch is manually started by the
user
this update will be suggested again.
When remind me later is clicked the update will popup whenever the next
versioncheck is performed.

An automated versioncheck will be performed dependend on the users
preferences.

[image: updatepreferences]
<
https://cloud.githubusercontent.com/assets/15333371/15587225/8860cae0-2388-11e6-9a66-96ee6b479334.jpg


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#661 (comment)


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#661 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/ACCtQ-ip9U8-8fnSecnNLWAk_9M3A3wRks5qFq4XgaJpZM4HB8U7
.

@tobiasdiez
Copy link
Member Author

Can we please add support for automatic downloading and installation via install4j for the dev builds? We should make it as easy as possible to use development versions so that bugs are detected as soon as possible (especially, since not all features are used by the developers). Manually downloading a new dev version every day is thus not acceptable.

@chriba
Copy link
Contributor

chriba commented May 29, 2016

This update system is for the end user as it grabs the lastest stable version.
It now directs directly to fosshub.

For myself I like the Update tab in the preferences but I can see that they don't matter much for the end user. What do the others think?

@matthiasgeiger
Copy link
Member

I think the prefs are not really needed - at least not with that much options. Maybe a single setting "Check automatically for updates" (which is enabled by default) should be placed at the "Advanced" tab.

@koppor
Copy link
Member

koppor commented Jun 19, 2016

When using a development version, the dialog looks like this:

updatedialog

@matthiasgeiger
Copy link
Member

Is this really necessary?
We are not working with "Release Candidates" or "Beta Versions" - but the newest "development version" is simply a snapshot of current master - which changes (in phases where someone has time for development) daily or even more frequent - i.e., users of the dev versions will see this dialog every time they start JabRef.
I would prefer the following: If a dev version is installed the user only gets informed, if the matching stable version is released. If v3.5 dev is installed, it is checked whether v.3.5 (or later) is released. If so, a notification is shown.

@tobiasdiez
Copy link
Member Author

I would prefer an automatic update of the dev version via install4j. We really need as much testers of the dev version as possible and thus it should be very very easy to stay up-to-date with the recent version (maybe add a mechanism that the popup is only displayed once a day or so). Also the funding argument does not apply in the case of the dev version.

@simonharrer
Copy link
Contributor

install4j seems to be quite complicated to handle - @stefan-kolb can probably say something about this. I am not sure if investing time into this which is not completely necessary is worth the effort. Maybe we can achieve something quickly, but I am not sure.

@koppor koppor removed the stupro label Aug 9, 2016
@koppor koppor changed the title Add auto-updater Add auto-updater for development builds Aug 11, 2016
@koppor koppor added the on-hold label Aug 18, 2016
@koppor koppor removed this from the v3.6 milestone Aug 18, 2016
@koppor koppor removed the on-hold label Aug 18, 2016
@koppor
Copy link
Member

koppor commented Aug 18, 2016

We are currently trying to focus on other things. 🔥
We will come back later to this topic, therefore closing adding on-hold label and closing the issue for now.

@koppor koppor closed this as completed Aug 18, 2016
@koppor koppor added the on-hold label Aug 18, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants