lazierthanthou / sqlite-manager

Manage all your sqlite databases using this lightweight extension for firefox, thunderbird, seamonkey, komodo etc.
http://lazierthanthou.github.io/sqlite-manager/
325 stars 133 forks source link

Migrate to WebExtensions, if it's possible. #75

Open AlexBeLi opened 7 years ago

AlexBeLi commented 7 years ago

If not, create notification on addons.mozilla.org what addon will stop working in Firefox 57 with the Webextensions exclusive requirement for addons.

Pomax commented 7 years ago

It's been quite a few months: @lazierthanthou had you see this issue? If so, is this planned or is contributor help required for you to get this work done before Firefox 57 turns off the old API in a few weeks time?

(FF57 is currently the nighlty version, and will be released November 14)

justinclift commented 7 years ago

Well... this project seems pretty unmaintained. There have been a few PR's accepted a while ago, but nothing substantial.

If this project doesn't get rewritten in time to work with FF 57, the SQLite GUI project I'm putting time into is actively maintained:

    https://github.com/sqlitebrowser/sqlitebrowser

It's not browser based though, so might not be suitable for people really wanting that (unsure).

lazierthanthou commented 7 years ago

FF 57 does not support access to sqlite through extensions. Hence, the present state of the project.

justinclift commented 7 years ago

Ahhh, that explains things. Wonder how many other Firefox extensions will be outright killed due to the change? Sounds like it'll be painful for a lot of people. 😦

When Firefox 57 rolls out, people that need a supported browser but don't want to lose access to SQLite Manager can probably use Firefox ESR (Extended Support Release):

    https://www.mozilla.org/en-US/firefox/organizations/all/

It's a version of Firefox for people who need something with a slower release pace. It will be a few more more months until that reaches version 57, which would give people extra time to figure out an alternative.

justinclift commented 7 years ago

@lazierthanthou As a thought, it might be useful to put some kind of clear notice on the front page of the project repo, and/or even the Firefox extension page, so people know what to expect and aren't left wondering.

Pomax commented 7 years ago

@lazierthanthou what do you mean with "[it] does not support access to sqlite through extensions"? Do you mean that it doesn't allow file access so that sqlite database files can be loaded, or that it does not allow you to run the sqlite driver itself for unpacking those files and visualising the data in the SQLite Manager UI?

lazierthanthou commented 7 years ago

FF uses sqlite but the equivalent of mozIStorageService and Storage API (https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Storage) does not provide for sql queries, Please refer to https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Comparison_with_XUL_XPCOM_extensions.

lazierthanthou commented 7 years ago

There is a NativeMessaging facility (https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging) which would require separate installation of sqlite, but in that case too incoming messages are limited to 1MB which may be inadequate for a number of databases containing sizeable blobs.

Pomax commented 7 years ago

Would it make sense to file a bugzilla issue over this, given that SQLite Manager is pretty much the most functional sqlite database inspector and maintenance tool available to a web dev? (it one has not already been filed)

justinclift commented 7 years ago

... the most functional sqlite database inspector and maintenance tool available to a web dev?

Is that because it's inside Firefox? Note, not challenging that. Just trying to understand, so if there's some aspect of things we (sqlitebrowser.org) can do better, we get to understand it and think it through. :smile:

Pomax commented 7 years ago

Both that, and the fact that it's a really good and super elaborate UI (with its own large window, sqlite manager has the same feel as a mysqladmin, pgadmin3, etc, rather than "a small utility") that also just "looks like any other program" rather than a hand-spun UI that doesn't really look like a windows app on windows, nor like a mac app on osx. That makes a huge difference in experience: it feels like a normal, straight up full blown administration application.

Croydon commented 7 years ago

Maybe https://github.com/kripken/sql.js/ can help?

justinclift commented 7 years ago

@Pomax No worries. :smile:

Croydon commented 7 years ago

@lazierthanthou Please check out this online demo https://kripken.github.io/sql.js/GUI/

I'm pretty sure that you could do this with the existing APIs, reading file via "upload", keep it in cache, after manipulations write it via the download api. https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/downloads/download

Of course you need to rewrite the UI via HTMl/CSS/JS as well, this might be quite some work but it should be doable to port the add-on to a WebExtension today.

wbt commented 6 years ago

Another reason why loss of this extension creates loss of functionality not replaceable by @justinclift 's sqlitebrowser is that it didn't require admin privileges to install.

As noted here, there's a meeting starting in a few hours for review of what additional WebExtensions APIs might be needed.

justinclift commented 6 years ago

@wbt Well... technically with our program it's possible to just extract the contents of the installer and throw that into a directory somewhere. It'll work fine. The admin perms are really only needed on Windows, and only for the installer itself. On that note someone requested a .zip file version of the distribution, but it didn't seem to be much in demand so we never got around to it. If that would actually be well used, we can probably make a .zip version. It shouldn't be hard. :smile:

The WebExtensions meeting approach though might work too. Give it a go. :smile:

monk-time commented 6 years ago

@justinclift You should add your app on portablefreeware.com then. :)

justinclift commented 6 years ago

@monk-time Thanks. :smile:

Hadn't come across portablefreeware.com before. Sounds somewhat similar to portableapps.com, which we have a download for too. Haven't really tried the portableapps.com download personally though, so I don't know that much about it.

Xtigyro commented 6 years ago

Are we going to see this very useful add-on revived for the latest Firefox? What's the plan?

Pomax commented 6 years ago

@Xtigyro presumably unless you know of a way to get around https://github.com/lazierthanthou/sqlite-manager/issues/75#issuecomment-328328216, the answer is going to stay "no".

francipvb commented 6 years ago

hello @justinclift

Is that because it's inside Firefox? Note, not challenging that. Just trying to understand, so if there's some aspect of things we (sqlitebrowser.org) can do better, we get to understand it and think it through. 😄

I tried your project but I cannot use it because screen reader support is completely broken, at least in the table creation dialog.

I'll post an issue to your repo regarding this later.

Cheers,

justinclift commented 6 years ago

... screen reader support is completely broken ...

Yeah, we've not (yet) thought through our screen reader support at all.

I'll post an issue to your repo regarding this later.

Thanks @francipvb, please do.

We use Qt 5 for our GUI, which from rough memory has fairly lousy support for screen readers.

If it's reasonably possible to get a Qt5 application working decently with screen readers though, we'd likely be up for it. Baring in mind that like many OSS projects we're volunteer based, so it generally takes time to get major improvements fully worked through.

If you're willing to keep involved with the process (eg testing stuff and providing real world insight as it gets added), that generally helps greatly. :smile: