Browsers seems to have been broken this project some time now, and I
haven't been able to revisit to restore behavior. Thankfully, it appears that
the standard file-handling API can meet
some of the use cases (at leasts the webappfind
proper ones).
A WebExtensions add-on (AMO) to allow opening of files from the desktop (by double-click using default file associations or "Open with...") into web applications.
While this extension has now been minimally reimplemented from version
2.0.0, it is now Mac-only instead of Windows-only (what I happen to be
developing on now), and some of the functionality (especially using
a filetypes.json
file) has not yet been restored. There have also been
breaking changes in the API, and the add-on is Firefox-only at present.
You must install the executable at http://brett-zamir.name/webappfind/node8-macos-x64-installer
(or build from source; uses pkg
).
- Short overview of WebAppFind capabilities (Youtube or click screenshot below)
- Intro and Rationale (Youtube)
- Extended usage tutorial (Youtube)
Due to the inconvenience of creating installers for and bundling Node in each extension, and because the add-ons included within this WebAppFind bundle are still experimental, we are bundling four add-ons together.
- WebAppFind (core) - Developer Guide / User Guide
- ExecutableBuilder
- AtYourCommand -
- AsYouWish
See the respective READMEs for more details.
Note that the AtYourCommand features have not been well-tested, and as they call the command line, use at your own risk!
AsYouWish too, is also potentially dangerous if you grant permission to sites asking it. AsYouWish may be separated out in the future, but for convenience it is currently being bundled.
ExecutableBuilder (and WebAppFind core) is more well-tested, but as it works with system files (e.g., modifying LaunchServices to associate default files), if there are problems, some rebuilding of some system files could be required.
For more granular choice as to features and exposure to riskier features, I currently am hoping to separate these add-ons out in the future.
We may also be able to take advantage of native-ext for factoring out the Node code from each of these add-ons in the future so there is little added weight for each add-on.
Are you a fan of web apps, but want the freedom to place your data files where you like on your desktop and thus be able to work offline and own your data rather than keeping it in the Cloud?
Do you want the freedom to be able to just double-click (or right-click) a file on your desktop so that it opens into a web app, saving you the trouble of having to copy the file path, move from your desktop to the web app, and paste the path in a file finder?
Do you want to avoid the wrist strain of dragging files into your web app in order to get a web app to read your files, especially when any modifications made to your files cannot even be saved back directly to the same place on your hard drive without renavigating to the path?
WebAppFind addresses these concerns by allowing you to double-click (or use "Open with..." right-click) on executable files on your desktop, sending the file path details to the native messaging component of the add-on (via command line arguments) which are then delivered into the main browser add-on. Based on the site that is baked into the executable, a handler web site will be sought in the browser to open the file of the designated type (whether a generic or custom type) as well as allow--if the "edit" mode was chosen (as opposed to the readonly "view" mode)--saves to be made back to the file.
WebAppFind allow you to make your data files accessible to web-accessible programs and to give your users peace of mind to not be locked into your application alone, and, if your web app allows this, the ability to work completely offline while keeping data files where you wish on your desktop.
It also allows your users to open files of your own custom types into your program immediately and from their desktop.
Unlike an approach that would allow websites the ability to request local file access, webappfind minimizes security and privacy risks by only allowing files designated in the above manner of selection by you from your desktop to be available to the relevant web application; sites cannot gain such access without your running the process that grants permission.
- See webappfind-demos-samples. This repository provides a number of basic open source web apps which may help get you started in editing local files within web apps or may serve as a basis for your own apps. (The repo also includes some sample files for testing and developer utilities.)
- Work on Git on your desktop while being able to open HTML files for WYSIWYG editing in a (CKEditor) web app which you can easily modify, e.g., to add buttons for inserting code snippets. Use CodeMirror for syntax highlighting of your JavaScript and CSS, etc. (Demos are available in the previous repo which do all of this.)
See User-Guide. Indicates usage of the executables on your OS desktop, using your OS' desktop UI to associate your own executables (including those built through the bundled ExecutableBuilder), and, for those interested, how to work WebAppFind from the command line. Building the executables is handled by the Executable Builder component.
See Developer-Guide.
See DESIGN and Tools-and-Comparisons.
See CONTRIBUTING.
See TO-DOS.