1.1 Alpha 1 Release Notes
READ THIS Before You Build and Install
Pluglet is distributed as a mostly-binary release. The platform-dependent native code and the core pluglet java code are pre-compiled. The binary distribution includes the complete pluglet Java source code. This includes the code for the pluglet API implementation and sample pluglets. The Netbeans project included with the pluglet distribution has build targets for the samples, as well as the core source code.
Pluglet 1.1 Alpha 1 depends on Firefox 2.0.0.3. Later versions of Firefox have not been tested with pluglet. If you build pluglet from source, you must first build Firefox. For instructions on building xulrunner please visit http://www.mozilla.org/build/.
Installing the 1.1 Release
This section explains how to install and run pluglet using the binary distribution.
Un-install any existing pluglet installations.
Install JDK 1.5 or later from http://java.sun.com/. Older JDKs may work but you're on your own for support.
The binary distribution has a NetBeans 5.5 project file to ease building and running the automated and manual tests. You can download NetBeans 5.5 from http://www.netbeans.org/.
Make a new empty directory, called PLUGLET_DIST for the purposes of discussion. The rest of the instructions will guide you in populating this directory.
Install Firefox 2.0.0.3 for your platform:
Windows: ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/win32/en-US/Firefox Setup 2.0.0.3.exe. Install Firefox using the "Custom" install option. It is ABSOLUTELY REQUIRED that the install path for Firefox contain no spaces. These instructions assume PLUGLET_DIST\FIREFOX2 as the install location.
Run firefox until you see the "welcome" page, then quit the browser. This will cause the user profile directory to be created.
Download the pluglet binary at http://www.mozilla.org/projects/blackwood/java-plugins/binaries/pluglet_1_1_a1.zip and unpack it into PLUGLET_DIST. This zip file contains native binaries for all supported platforms.
At this point, you should have the following directories in PLUGLET_DIST:
pluglet_1_0_a1/ bin/ javadocs/ lib/ netbeans/ samples/ test/ FIREFOX2/
The contents of these directories are as follows.
- pluglet_1_1_a1/bin/
PLATFORM
/bin - Native binaries for each supported OS
- pluglet_1_1_a1/javadocs
- JavaDocs for the public API
- pluglet_1_1_a1/lib
- Jar files for the public API and implementation
- pluglet_1_1_a1/netbeans
- A Netbeans 5.5 project directory that allows easily building and running the samples.
- pluglet_1_1_a1/test
- The source files for the automated tests and sample app.
- FIREFOX2
- The installation directory for Firefox 2.0.0.3
- pluglet_1_1_a1/bin/
IMPORTANT Before launching NetBeans, make sure the directory
PLUGLET_DIST/FIREFOX2/plugins
has been added to the platform appropriate environment variables.Win32:
Add
PLUGLET_DIST/FIREFOX2/plugins
to your PATH environment variable. It is recommended to do this in an individual command shell rather than through the System Properties.If you are using NetBeans
Using the same command shell where set the path, , start NetBeans 5.5 and use the File->Open Project... dialog to open the "netbeans" directory in the PLUGLET_DIST/pluglet_1_1_a1 directory.
Go to the "Files" tab, open the "pluglet" node and edit the "pluglet.properties" file.
Adjust the
browser.bin.dir
property to point to the absolute path to thePLUGLET_DIST/FIREFOX2
directory.Adjust the
user.profile.dir
property to name the absolute path, WITHOUT SPACES, for the mozilla profile directory that was created when you ran Firefox 2.0.0.3 above. Generally, you'll just have to open that directory in a file browser and find out the name.Adjust the
jdkhome.nospaces
property to name the absolute path, WITHOUT SPACES, to the JDK installation on your system.Save the modified
pluglet.properties
file.Back in the Project tab, Right-click on the "pluglet" entry in the tree view and choose "Build Project".
Once the project builds successfully, you may "run" it using the netbeans commands.
This will set the necessary environment variables and start the firefox browser with the pluglets installed. You should be taken to the release notes page.
To verify the correctness of your installation, enter "about:plugins" in the URL bar and verify there is an entry for "nppluglet" and that the "enabled" column shows "yes". If it does not, something went wrong with your installation.
Building the 1.1 Alpha 1 Release
Build Instructions -- Cross Platform
These instructions cover how to build the java source for pluglet using netbeans, included in the binary distribution. Instructions for building the native code are still pending.
Install the binary, as above.
Open the netbeans project and Go to the "Files" tab.
Expand the
pluglet
node in the tree viewer. Expand thebuild.xml
node. Right click on the "compile.core. src" target and select "Run Target". This will move aside the pluglet jar and compile the core sources into the build directory.
Uninstalling the 1.1 Alpha 8 Build
Uninstalling
Stop any running firefox instance
Run the "clean" ant target in the netbeans or non-ide project.
Available and Unavailable Features
New Features for This Release
New package org.mozilla.mcp
for easy automated testing
of Ajax web applications. Please see the
javadoc package description for usage instructions.
This package now includes a timeout facility
New Features from Previous Releases
Request header sniffing. See http://lxr.mozilla.org/mozilla/source/java/pluglet/test/manual/src/classes/org/mozilla/pluglet/test/TestBrowser.java for an example.
Support for java.awt.MouseListener. See http://lxr.mozilla.org/mozilla/source/java/pluglet/test/automated/src/classes/org/mozilla/pluglet/MouseListenerTest.java for an example.
Make pluglet use its own prefs file. This enables one to run pluglet and mozilla at the same time.
Fix focus problem where you couldn't type in text fields.
Support for java.awt.KeyListener. See http://lxr.mozilla.org/mozilla/source/java/pluglet/test/automated/src/classes/org/mozilla/pluglet/KeyListenerTest.java for an example.
Support for NewWindowListener. This makes it possible to correctly handle cases where the browser requests a new window. See http://lxr.mozilla.org/mozilla/source/java/pluglet/test/automated/src/classes/org/mozilla/pluglet/WindowCreatorTest.java for an example.
The following methods are known to work.
BrowserControlFactory.setAppData() BrowserControlFactory.newBrowserControl() BrowserControlFactory.deleteBrowserControl() BrowserControlFactory.appTerminate() BrowserControl.queryInterface() for the following interfaces BrowserControl.HISTORY_NAME BrowserControl.BROWSER_CONTROL_CANVAS_NAME BrowserControl.EVENT_REGISTRATION_NAME BrowserControl.NAVIGATION_NAME BrowserControl.CURRENT_PAGE_NAME CurrentPage.getSelection() CurrentPage.copyCurrentSelectionToSystemClipboard() CurrentPage.copyCurrentSelectionHtmlToSystemClipboard() CurrentPage.getCurrentURL() CurrentPage.find() CurrentPage.findNext() CurrentPage.getDOM() (including getElementById()) CurrentPage.highlightSelection() CurrentPage.selectAll() CurrentPage.clearAllSelections() CurrentPage.printPreview() CurrentPage.getSource() EventRegistration.addDocumentLoadListener() (including PageInfoListener) EventRegistration.removeDocumentLoadListener() History.canBack() History.canForward() History.back() History.forward() Full support for Java AWT KeyListener and MouseListener. Navigation.loadURL() Navigation.loadFromStream() Navigation.refresh() Navigation.stop() Navigation.post() Support for new windows popped up by the browser with chrome supplied from Java.
Known Issues
Browser and General Issues
Pluglet hasn't yet been stress tested, so there are probably lots of issues that will come up with a little use.
Printing
Printing is not yet implemented.
Plugins
You can run plugins inside pluglet, but on win32, the Java plugin will not work. You must remove the java plugin. Please see the section on installing the win32 binary in this file.
Bookmarks and History
Bookmarks is not supported with XULRunner. Both the Bookmarks and History interfaces are incompletely implemented.
Profiles
If pluglet is acting funny, it may be due to conflicting mozilla registry file. Follow the steps in the mozilla 1.8 release notes to remove the registry, then re-run mozilla 1.8 to generate a new registry.
Known Bugs
Can't do File->New Window on unix: Bug 156712. This one is a real stumper for me.
Embedding apps can't setCurrentHistoryIndex. See http://bugzilla.mozilla.org/show_bug.cgi?id=47278
Pluglet needs to be displayed to be used. See http://bugzilla.mozilla.org/show_bug.cgi?id=44075
For the complete list, follow this bugzilla link, or go to bugzilla's query page at http://bugzilla.mozilla.org/query.cgi and query for all bugs on the component "Java APIs to WebShell".