LP1731922 - Begin Firefox add-on development notes.
authorChris Sharp <csharp@georgialibraries.org>
Fri, 27 Apr 2018 20:27:24 +0000 (16:27 -0400)
committerChris Sharp <csharp@georgialibraries.org>
Fri, 27 Apr 2018 20:27:24 +0000 (16:27 -0400)
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
README.firefox-dev.adoc [new file with mode: 0644]

diff --git a/README.firefox-dev.adoc b/README.firefox-dev.adoc
new file mode 100644 (file)
index 0000000..efd9c98
--- /dev/null
@@ -0,0 +1,47 @@
+== Firefox Development Notes ==
+
+Firefox can more or less run the Chrome extension as-is after
+tweaking the native messenger manifest (see the differences between
+org.evergreen_ils.hatch.json in extension/host/chrome/ and the same 
+file in extension/host/firefox/.  A proof-of-concept can be achieved
+by following these steps (assuming Linux):
+
+1. Install Java and compile Hatch as instructed in the INSTALL.adoc
+   file.
+2. Copy the native messenger manifest to the Firefox user data directory:
+
+[source,sh]
+----------------------------------------------------------------------------------------
+mkdir ~/.mozilla/native-messaging-hosts/
+cp extension/host/firefox/org.evergreen_ils.hatch.json ~/.mozilla/native-messaging-hosts
+----------------------------------------------------------------------------------------
+    Make sure to edit org.evergreen_ils.hatch.json to include the path to hatch.sh.
+3.  As root/sudo install web-ext:
+
+[source,sh]
+--------------------------------------------------
+npm install -g web-ext
+--------------------------------------------------
+4.  Change directory to extension/app and run web-ext, which will open a new, sandboxed
+    Firefox instance with the Hatch add-on running:
+
+[source,sh]
+--------------------------------------------------
+cd extension/app
+web-ext run
+--------------------------------------------------
+5.  Navigate to about:addons, click on the gear dropdown and select "Debug Add-ons".
+
+6.  Copy the "Extension ID" value to .mozilla/native-messaging-hosts/org.evergreen_ils.hatch.json 
+    under "allowed_extensions".  Be sure to reload ("r" in the web-ext window).
+
+7.  Click "Debug" under the Hatch add-on listing to open the background page/console.
+
+8.  Open the Web Console (Upper-right menu -> Web Developer -> Web Console).
+
+9.  Follow the Hatch native app log (/home/user/.evergreen/hatch.log) in a terminal window.
+
+10.  Now navigate in the new browser window to your Evergreen instance and proceed to set up 
+     Hatch as normal.  You should see printers appear after enabling Hatch printing and should be
+     able to print a page (verifying in each console/log that messages are making it from
+     the browser to the Hatch executable.