Not sure if this was by design or a glitch on your part but why is it each time the KeePass database must save a Google Drive request screen pops up asking for permission? Wouldn't it be more logical to just ask once (if at all) and then from that point forward it has permission to write to the drive? I've seen other applications that use Google Drive do this with relative ease so the capability is there.
I had assumed the variable: GoogleSyncShowAuthenticationForm in the KeePass config file when set to FALSE would by default not show this notification but setting it to TRUE or FALSE does the same thing in that there is always a pop up that requests to "Accept" (or Decline) permission to GDrive.
Seems like a bug or an oversight. But then seems an obvious thing since one just has to save the database to see the problem immediately. Or maybe people just like to see this pop up constantly? Anyway, i doubt i will get a reply so i may use alternative working plugins.
I am using it on Windows 7 x64.
Last edit: Kelly Roo 2013-08-25
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for your feedback. The issue you are describing is something I tried to resolve but was not able to. I decided to time-box my efforts to find a solution and when that time was up, I only found other developers facing same problem.
You will notice when that popup opens up, the accept button is disabled. it gets enabled after a few milliseconds (and sometimes seconds). The .NET library I am using to browse to Google for authentication is limited that it does not know when the button becomes enabled, so I could click it for you, programmatically.
This solution still involves showing the popup for first time and using combination of refresh token and access token for subsequent syncs. The next question is, once I have the token, where do I store it? Should I update your config file with it? Should I create a new KeePass entry or update your current google entry to store the token somewhere for future use?
Or should the popup show once every time KeePass is restarted (on the first sync)? After the first sync, as long as KeePass is running, the popup does not have to keep showing up on subsequent syncs.
By the way, you mentioned alternative solutions. I hope someone has already come up with a plugin that is better than mine. If so, please let me know where we can get it from.
For other sync solutions besides Google Drive, please refer to http://keepass.info/plugins.html (Backup & Synchronization & IO).
The only non-plugin solutions I could find online at the time involved downloading Google Drive on one's computer and putting KeePass database file in the folder that gets synced automatically with Google Drive. This involves installing Google Drive on every computer KeePass is used.
I use the portable version of KeePass plus my plugin, no installation required and I could put it on my USB stick.
Not a bug nor an oversight, definitely an annoyance. No one has complained thus far about having to do 3 clicks (Tools > GoogleSyncPlugin > Sync With Google Drive). Is removing one additional click for user consent worth the developing efforts?
I can tell you what would be worth it, in my opinion.
- First sync shows a user consent popup.
- Save the token for future use
- Use token for automatic sync with Google Drive every time user makes changes to KeePass database or maybe every time KeePass is started.
Now we got rid of the initial 3 clicks as well. Are enough users interested in automatic syncs or do most prefer to do manual sync for more control.
Let's see what users prefer.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
No more popup for permission request on every database save. It should only ask you once and as long as the token from Google is valid, it will continue to reuse it.
Enjoy.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Not sure if this was by design or a glitch on your part but why is it each time the KeePass database must save a Google Drive request screen pops up asking for permission? Wouldn't it be more logical to just ask once (if at all) and then from that point forward it has permission to write to the drive? I've seen other applications that use Google Drive do this with relative ease so the capability is there.
I had assumed the variable: GoogleSyncShowAuthenticationForm in the KeePass config file when set to FALSE would by default not show this notification but setting it to TRUE or FALSE does the same thing in that there is always a pop up that requests to "Accept" (or Decline) permission to GDrive.
Seems like a bug or an oversight. But then seems an obvious thing since one just has to save the database to see the problem immediately. Or maybe people just like to see this pop up constantly? Anyway, i doubt i will get a reply so i may use alternative working plugins.
I am using it on Windows 7 x64.
Last edit: Kelly Roo 2013-08-25
Hi Kelly,
Thanks for your feedback. The issue you are describing is something I tried to resolve but was not able to. I decided to time-box my efforts to find a solution and when that time was up, I only found other developers facing same problem.
You will notice when that popup opens up, the accept button is disabled. it gets enabled after a few milliseconds (and sometimes seconds). The .NET library I am using to browse to Google for authentication is limited that it does not know when the button becomes enabled, so I could click it for you, programmatically.
There is, however, a solution that Google has posted here https://developers.google.com/accounts/docs/OAuth2InstalledApp
This solution still involves showing the popup for first time and using combination of refresh token and access token for subsequent syncs. The next question is, once I have the token, where do I store it? Should I update your config file with it? Should I create a new KeePass entry or update your current google entry to store the token somewhere for future use?
Or should the popup show once every time KeePass is restarted (on the first sync)? After the first sync, as long as KeePass is running, the popup does not have to keep showing up on subsequent syncs.
By the way, you mentioned alternative solutions. I hope someone has already come up with a plugin that is better than mine. If so, please let me know where we can get it from.
For other sync solutions besides Google Drive, please refer to http://keepass.info/plugins.html (Backup & Synchronization & IO).
The only non-plugin solutions I could find online at the time involved downloading Google Drive on one's computer and putting KeePass database file in the folder that gets synced automatically with Google Drive. This involves installing Google Drive on every computer KeePass is used.
I use the portable version of KeePass plus my plugin, no installation required and I could put it on my USB stick.
Not a bug nor an oversight, definitely an annoyance. No one has complained thus far about having to do 3 clicks (Tools > GoogleSyncPlugin > Sync With Google Drive). Is removing one additional click for user consent worth the developing efforts?
I can tell you what would be worth it, in my opinion.
- First sync shows a user consent popup.
- Save the token for future use
- Use token for automatic sync with Google Drive every time user makes changes to KeePass database or maybe every time KeePass is started.
Now we got rid of the initial 3 clicks as well. Are enough users interested in automatic syncs or do most prefer to do manual sync for more control.
Let's see what users prefer.
No more popup for permission request on every database save. It should only ask you once and as long as the token from Google is valid, it will continue to reuse it.
Enjoy.