Forum / Remote Desktop Manager - Feature Request

Check rights in database for upgrade requiring a database upgrade

  • Create an Issue
  • Cancel

Hi,

Recently we have some issues with the RDM 11 upgrade. As this upgrade requires the database to be upgraded, we didn't upgrade the database right away (first we wanted to do some testing) and only the RDM administrators have the right to upgrade the database some users had to downgrade to RDM 10.6.7 after they clicked upgrade when presented at startup.

After the first few users reported this I set the maximum version to 10.6.7, disabled the update check at start and also set a system message stating not to upgrade but somehow some user stills got the upgrade pop-up (maybe because this is a local check and the maximum version, the update prevention and the system message are set at the central database level?) and as is this is presented way faster than the system message they already clicked upgrade.

Would it be possible to have the updater check the status of the database and if a database upgrade is required check if the user has rights to upgrade the database before the actual of the RDM application is executed (and obviously prevent the RDM application to upgrade is the database upgrade rights are not present for this user)?

regards,
JP

Clock4 yrs

Hello,
We could only allow the upgrade to be executed by an Administrator. A simple user will get the message that an upgrade is required and to contact the administration. Do you think it could work?

David Hervieux

signaturesignature

Clock4 yrs

That would only work if an actual database upgrade is required so the RDM upgrade should check that. If the database has been upgraded already then a simple user should still be able to upgrade.
If an RDM upgrade requiring a database upgrade would always need to be performed by an admin then we would have to upgrade every users local RDM installation. That's not what we want :-)

JP

Clock4 yrs

I see what you mean. I don't think it will be easy for the updater to check if a database upgrade is required. We don't do any database upgrade in minor update so perhaps we could add the possibility to block the major upgrade notification?

David Hervieux

signaturesignature

Clock4 yrs

If you could combine it with a pop-up stating a major upgrade is available but won't be installed without authorization from the local administrators then we would still get a reminder a new version is avaiable.

And then I would have to disable the block to have the users update? Then I would probably also have to to set the minimum version so every will upgrade otherwise I can't enable the block again (as this would prevent users who did not upgrade already to start the upgrade)?

JP

Clock4 yrs

I will enter a feature request.

David Hervieux

signaturesignature

Clock4 yrs

Today we have had the same issue with the new 12 version. Some people upgrade RDM and then RDM "complained" about requiring a database upgrade they do not have the rights for.
Also the pop-up stating an upgrade for RDM exists states a database upgrade is highly recommended but after the upgrade RDM won't work without the database upgrade so it seems mandatory to me.

Clock2 yrs

Again the same issue when upgrading to 12.0.8.0 (I came from 12.0.5.0 so I'm not sure which version exactly required the database upgrade but as this happened just now with one of the users I'm assuming it is 12.0.8.0).

The pop-up stating a new upgrade is present does not state (or if it does not directly clear to me or the user complaining) a database upgrade is required before hand. Only after the upgrade has been performed the user gets a pop-up a database upgrade is required and if not the data source will not work.
As only admins can upgrade, we use the tool 24x7 (we manage servers, applications, databases etc. 24x7 using RDM as our primary access tool for logging reasons) and we don't want to get called in the evening or the night regarding this issue it would be very helpfull to have the upgrade pop-up very explictely state a database upgrade may be required or even check if a database upgrade is required and don't allow an application upgrade when the user has no rights to perform a database upgrade. I think you check for a new version of the application before the data source (we use) actuallyis connected so it may not be that easy but the users have no clue about the database upgrade and we promote to update regulary ... if this keeps happening they may revert to not updating for a longer period.

Clock2 yrs

Hi Jan,
I'm sorry with don't usually add a database upgrade in the minor version but we had an issue that required a fix. This was an exception and I'm sorry again. This will not happen soon.

By the way I've tried to add a validation to only allow the Admin user to execute the database upgrade but this was causing more problems than expected. In a nutshell we are unable to detect that we are admin if we are not connected and we are unable to connect if a database upgrade is required.

Regards

David Hervieux

signaturesignature

Clock2 yrs

How about at least adding a red/bolded notice in the "What's new" section of the update notification, stating that "This update will require a database schema update to continue using" or something similar? I update my version regularly ahead of everyone else but today's 12.0.8 update surprised me when it required a schema update. I never run day-to-day using an administrative profile/data source so I have to switch out and upgrade the schema before folks start having problems.


But more importantly I'd like the chance to do a backup of the database before updating the schema, not being forced to do the update first.


Is it possible to add this notice regardless of which user is logged on?

Clock2 yrs

Hi,
We have an indicator in the change history:

2017 01 03 19 02 01

By the way I think that I have an idea on how we could avoid database upgrade. We could add an option in the data source configuration. We will save the last login value (Admin or not admin) and use it to block the upgrade. For a new data source, it will be considered as unknown and it will allow the database update.

What do you think?

David Hervieux

signaturesignature

2017-01-03_19-02-01.png
Clock2 yrs

I think that might work if you also keep track (together with the last login value) of the database version when you save the last login value (regarding admin or non-madin). Otherwise you would never be able to upgrade the application, right?!?

I missed the indicator and if I missed it a "normal" user could miss it too :-)

Clock2 yrs

Hello,
I thought about exposing the field and let you update it just to make sure that it always possible to upgrade.

For example in the Advanced setting, I could add a combo with this label: Allow database upgrade

Default
False
True

I would be Default by default and as soon as I detect that you are Admin, I switch it to True and False if you are not. I could also add another value to manually turn off for a specific user: Never

What do you think?

Regards

David Hervieux

signaturesignature

Clock2 yrs

I'm still not quite sure if this is simple solution for the users.
The user (i.e. non-admin) just wants to able to upgrade the application without having to worry about a possible database upgrade.
With this solution it seems the user has to switch the data source setting if he still wants to upgrade? So he/she would get a pop-up a new version is avaiable but because it is a new version requiring a database upgrade he/she will have to to enable the upgrade in the data source?

Wouldn't it be easier (esp. for the users) to save the admin mode for the login (admin or non-admin) together with the database version locally when the data source connection has been etablished (and maybe after some time when still connected to check for a new database version) and when the application is started and a new application version is available with a database upgrade the pop-up will either allow the application upgrade (either because of the fact the login is using admin level access or because the database version is at the correct level - i.e. has already been upgraded) or will disallow the application upgrade (telling the user a new version is available but to contact the admins to upgrade the database) (because the database servion is not at the correct level and the login is not using admin rights.

Clock2 yrs

Hi again,
That something we could do for sure but the user might get a crash before getting notified that a database upgrade is required. This will happen if a column or a table is missing and it's required.

Anyway I think that I will have to go back to the drawing board and think about it again.

Regards

David Hervieux

signaturesignature

Clock2 yrs

I see the note about database upgrade required, and it's more prominent in the web-based Change History screenshot above... I noticed it is also there in the app upgrade notification but it's not highlighted/bolded so that's why I missed it this time around. For us, simply making the "database upgrade required" more prominent in the app upgrade notification would be a huge help.

Also great that you're working on a smarter way to do this that's more automatic based on user permission levels.

Clock2 yrs

David,

I'm not sure what you mean about the crash and missing tables.

What I propose (and I'm not sure if it is possible) is to have a local file holding the admin status (yes or no) and the database version.
When the user starts the application and an application upgrade is detected requiring a database upgrade the local file is checked. If the admin status is yes or if the database version is high enough (i.e. database has already been upgraded) the user gets the possibilty to upgrade the application. If the admin status is no and the database version is not high enough then the user doesnn't get the possibilty to upgrade the application but is advised to contact the RDM admins to upgrade the database.
When the user successfully connects to the database via the data source (and maybe even during the connection and/or when ending the connection cleanly) the local file is updated if the database has been upgraded during the time the user was connected.

Regards,
Jan-Pieter

Clock2 yrs

Hi,
I see what you mean. In a nutshell it's exactly what I wanted to do but the information was saved in the data source configuration instead of another local file. The only piece that was missing was to keep the database version. I will try to implement you idea.

Regards

David Hervieux

signaturesignature

Clock2 yrs