Webclient

This document describes the Java API for WebShell, also known as the java webclient.

Overview

Mission Statement:

The webclient project aims to provide the premier browser-neutral Java API that enables generic web browsing capability. This capability includes, but is not limited to: web content rendering, navigation, a history mechanism, and progress notification. The actual capabilities implemented depend on the underlying browser implementation.

Pre mozilla.org history

Requirements

Getting and Building the Code

Getting the Code

Building the Code

Webclient Developers Guide

Webclient Implementation Guide

Using the webclient

        // Create the browser
        BrowserControlCanvas browser  = 

                       BrowserControlCanvasFactory.newBrowserControlCanvas();
        add(browser,      BorderLayout.CENTER);
public void actionPerformed (ActionEvent evt) {
    String command = evt.getActionCommand();
    

    try {
        if (command.equals("Back")) {
            if (browserControl.canBack()) {
                browserControl.back();
                int index = browserControl.getHistoryIndex();
                String newURL = browserControl.getURL(index);
                
                System.out.println(newURL);
                
                urlField.setText(newURL);

            }
        }
        else if (command.equals("Forward")) {
            if (browserControl.canForward()) {
                browserControl.forward();
                int index = browserControl.getHistoryIndex();
                String newURL = browserControl.getURL(index);
                
                System.out.println(newURL);

                
                urlField.setText(newURL);
            }
        }
        else if (command.equals("Stop")) {
            browserControl.stop();
        }
        else {
            browserControl.loadURL(urlField.getText());

        }
    }
    catch (Exception e) {
        System.out.println(e.toString());
    }
} // actionPerformed()
API documentation is available here, [2].

Requirements Specification

Requirements Analysis

Design

How to Contribute

Current Status

19 January 2005

New release with bug fixes and new features. Please see the release notes at http://www.mozilla.org/projects/blackwood/webclient/release-notes/.

19 October 2004

Thanks again to Annie Lau for discovering that the use of the zip installer instead of the .exe installer fixes all the problems. I have rolled back the installation to 2.0 alpha. Please see the release notes at http://www.mozilla.org/projects/blackwood/webclient/release-notes/.

18 October 2004

Thanks to Annie Lau in Australia for pointing out that the binary dist wouldn't run. This lead me to investigate the problem. My results are posted on netscape.public.mozilla.java. I have produced a new binary and removed the old one. Please see the release notes at http://www.mozilla.org/projects/blackwood/webclient/release-notes/.

9 October 2004

I finally have a binary distribution for win32. This one works with mozilla 1.7 and includes the "header sniffer" feature I've been wanting to implement for years. Please see the release notes at http://www.mozilla.org/projects/blackwood/webclient/release-notes/.

3 August 2004

I've put together a source code only release and I'm calling it webclient 2.0 alpha 1. Please see the release notes at http://www.mozilla.org/projects/blackwood/webclient/release-notes/

This website needs a major overhaul, but getting 2.0 completed is of higher priority.

20030929

Here's the development plan. I'm doing all of this on GNU/Linux RedHat 7.2 first. Later, I'll get around to Windows.

As I have very limited time to contribute to this, I'll try to get to the last step as soon as possible. It's just not worth it to try to explain the way things are now so people can contribute. I have to clean it up considerably before I can ask anyone to help.

20030928

I've made my first major checkin for webclient 2.0. Big things are in store. I'm refactoring the entire project and cleaning lots of things up. I'm using test first development practices to produce junit tests for each webclient interface as I go. Currently I have the Preferences, ProfileManager, and Bookmarks interfaces working. Please see my checkin message on bonsai.

2 January 2003

I finally have binaries available for Webclient 1.3 for Win32 and RedHat GNU/Linux 7.2. See release-notes. I've tagged the mozilla/java directory with WEBCLIENT_20030102. Webclient 1.3 works with Mozilla 1.0.1 or Netscape 7.

30 August 2002

I've built an XPI bundle for Webclient 1.2 for GNU/Linux. You can get it at the release notes page. I'm now going to undertake a major rewrite of the mozilla support in webclient based on the best practices documented in the embedding documentation. This might take a while, but it needs to be done.

I've tagged the Blackwood module with the cvs tag WEBCLIENT_20020830. This module goes along with MOZILLA_0_9_9_BRANCH.

1 June 2002

I have applied Michal Ceresna and John Marmion's patch to the webclient trunk to enable it to build with the MOZILLA_0_9_9_BRANCH on linux. Can someone please verify that it builds "out of the box" on linux? Instructions are at http://www.mozilla.org/projects/blackwood/webclient/release-notes/1_1-detail.html#UNIX_INSTALL

18 May 2002

I have created an XPI bundle for Webclient 1.2 on Win32. There is no source bundle yet due to bug 143115. Please visit the release notes for more information.

7 May 2002

I now have webclient mostly working on win32. The following features have been tested and work well.

This leaves Bookmarks->Add Current Page, Bookmarks->Add Current Page in New Folder, Profile->Create Profile, and Profile->Delete Profile. The first two should be easy, the second two, I'll probably just take out, since their implementation was based in BlackConnect, which is currently quite dead.

When I'm happy with the state of Webclient on win32, I'll get it working on linux.

7 April 2002

I've abandoned plans to get webclient working with Netscape 6.2.1 in favor of going with mozilla 0.99. Here are the short term plans:

  1. Remove dependency on blackconnect

  2. Get everything working with 0.99 on win32, then linux.

  3. Conduct analysis on the way webclient uses embedding with respect to the lastet notion of the "right way" to use embedding.

  4. Work on bugs.

  5. Do a 1.1 release for use with mozilla 0.99.

12 January 2002

From: edburns@acm.org (Ed Burns)
Newsgroups: netscape.public.mozilla.java,netscape.public.mozilla.embedding
Subject: Webclient plans: Netscape 6.2.1 compliant release
Message-ID: <133edd06.0201121048.5f6ea51a@posting.google.com>

Hi Folks,

People continue to express interest in webclient, so I'm going to try
to maintain it in my spare time.  Sorry for the long delay in
updating, I have taken a new job and am just now getting time to work
on Webclient again.

Here are my immediate plans:

- Get webclient and its dependents working on Win32 and Linux with
Netscape 6.2.1 (or the closest mozilla milestone)

- Investigate open bugs in blackconnect (the XPCOM to Java thing).  If
they look to hard to fix, consider de-coupling webclient from
blackconnect.

- Investigate general open bugs.

I'll only be able to spend about three hours a week on this so
progress will be slow, but there will be progress.

Of course, I welcome any help from the community.

Thanks,

Ed

21 March 2001
It's time to call it official. The webclient 1.0 release notes are here.

6 March 2001
This isn't the official release, but I want people to start testing the XPI bundles on win32 and linux. Please visit the pre-release release-notes for the Webclient 1.0 release. These release notes are strictly advisory, and there are errors. The only part I updated was the binary install part, and there may be omissions. Please let me know if you find errors.

9 January 2001
Long overdue status update. The only excuse I can offer is being pulled away to work on getting Netscape 6 out the door with functional Java. Here is a brief summary of work that has been done since the last milestone. For the exhaustive summary of all substantial code changes since 5 June 2000 see the notes page section for this entry.

  • Added Preferences API
  • Enabled the adding of bookmarks and bookmark folders
  • Pop up warn dialog if prefs say to warn about cookies and the browser gets a cookie.
  • Added basic authentication support
  • History improvements
  • Kept up to date with mozilla tree changes
  • Added Linux support
  • Custom APP UI improvements

We will release webclient 1.0 in source and binary formats for use with Netscape 6.0 on Windows, Solaris and Linux on 5 March 2001. Sorry for the delay, we're having problems with the XPI packaging. We are currently working on showstopper bugs for this release. Please see the issues page for the bugs we're working on.

26 June 2000
Webclient Milestone 3 available. Known to work on Win32 and Solaris with JDK1.2.2 and mozilla M13.
April-May 2000
Constrained resources forced limited work on webclient to be done. During this time, webclient was made do run inside StarOffice however.
08 March 2000
Source code for the spec compliant implementation checked in. Works on Win32 and Solaris with mozilla Milestone 13.
06 March 2000
Webclient milestone 2 released. Source available here, win32 binary available here, and solaris binaries available here
25 February 2000
Mozilla based webclient spec implementation documents checked in here.
24 February 2000
webclient working on Win32 and Solaris. Milestone 2 nearing release.
7 January 2000
Trying to get webclient working on Win32 and Solaris at the same time.

Added a notes page, accessible here. I'll try to update this page as soon as I have news about webclient.

29 October 1999
Completed Requirements Analysis.
15 October 1999
Working on Requirements Analysis.
23 September 1999
Working on, and gathering feedback on Requirements Specification.

References


Ed Burns - Webclient Technical Lead.
Ashu Kulkarni


Last modified: Wed 08 March 12:29:11 Pacific Standard Time 2000