Author(s):
Richard Gregor
| Started on: 02/11/02 | Last Updated: Wednesday
, March 11, 2002
User Interface Specification:
Install Support
Author:
Richard Gregor
Document History
Current $revision : 1.16 $
History available in
CVS
Table of Contents
So far, NetBeans provides installers only for Windows platform.
It's the right time to support multiplatform installers and meet
users expectation.
Also it is believed that installer is the right place to solve problems
with upgrading of different versions of NetBeans.
Overview of Functionality
New install support will be multiplatform. There will
be installers for:
- AIX
- OS/400
- HP-UX
- Linux
- OS/2
- Solaris
- Win32
- CIM
Except classical installers there will be possibility
to use install applet. Import settings support will be moved from
first application startup to the install support.
Context
Installers will be provided by NetBeans. They will be
located on netbeans.org page. Install sources will be part of cvs
install module. Installers will be automatically generated for each
Q-build/Beta/RC/release.
In release 3.4 ther will be only one type of install
- typical. It will install IDE with default set of modules.
References
User View
Installation Support User View was created to provide
detailed user view on installation support. You can read
it on Installation Support
User View
.
Description of the Users
The installer should be designed for the ease of use of the
following groups of users:
- People who have an older version of NB, but want to upgrade to
a newer release
- People new to NetBeans but who have experience with another Java
IDE
- People new to NetBeans but who have experience with java on
the command line
- People new to Java
In spite of that we know that the our most active testers are
members of the q-build program that we have to make the installer attractive
for them in order to verify its functionality on wide range of system
configurations.
Install
Scenario 1 (shows Upgrade-Install Panel)
- user: downloads and runs the installer
- installer: shows installer window with Welcome Panel
- user: clicks next
- installer: detects previous version of product
- installer: shows Upgrade-Install Panel
- user: chooses Install option
- installer: shows Install Panel
- user: chooses not import settings from one of previous versions
on list
- installer: shows Install
Directory Panel
- user: clicks next (uses default install directory)
- installer: shows
User Directory Panel
- user: agrees default
value
- installer: shows Proxy Panel with default values parsed from
system environment (does it make sense to have it?)
- user: clicks next
- installer: shows Association Panel
- user: set to associate .java and .nbm files with the IDE
- installer: shows the Summary Panel
- user: clicks next to install product
- installer: shows Installation Progress Panel and installs the
product
- installer: shows Installer Finish Panel
- users: finishes the installation
Scenario 1.1 (with settings import)
- user: chooses import settings and selects
version in list
- installer: shows Install Directory Panel
- user: clicks next (uses default install directory)
- installer: shows User Directory Panel
- user:
agrees default value
- installer:
shows the Summary Panel
- user: clicks next to install product
- installer: shows Installation Progress Panel
and installs the product
- installer: shows Installer Finish Panel
- users: finishes the installation
Scenario 2 (without Upgrade-Install Panel)
- installer: cannot detect previous version of product
- installer:
shows Install Directory Panel
- user: clicks next (uses default install directory)
- installer: shows User Directory Panel
- user: agrees default value
- installer: shows Proxy Panel with default values parsed
from system environment
- user: clicks next
- installer: shows User Directory Panel with default value
- user: agrees value - clicks next
- installer: shows Association Panel
- user: set to associate .java and .nbm files with the IDE
- installer: shows the Summary Panel
- user: clicks next to install product
- installer: shows Installation Progress Panel and installs
the product
- installer: shows Installer Finish Panel
- users: finishes the installation
Upgrade
Scenario
- user: downloads and runs the installer
- installer: shows installer window with Welcome Panel
- user: clicks next
- installer: detects previous version of product
- installer: shows Upgrade-Install Panel
- user: chooses Upgrade option
- installer: shows Upgrade Panel
- user: chooses previous version from list
- installer: shows the Summary Panel
- user: clicks next to install product
- installer: shows Installation Progress Panel and installs
the product
- installer: shows Installer Finish Panel
- users: finishes the installation
Possible upgrade situations(or what will detection
mechanism add to the list)
The detection mechanism will fill the list in Upgrade Panel and
Install Panel only with versions which have compatible modules. It compares
modules versions and allows upgrade or import settings only if no installer's
module is older than the ones used in user directory of certain version.
Possible upgrade situations (except another) are:
1. The user used a q-build version and he has downloaded new one
- by default the installer should reuse the userdir of the most recent
previous q-build version. In Upgrade Panel will be list of all installed
q-builds. But the user will have option to do install and import settings.
2. The user used previous release (3.2) and he downloaded first
q-build - by default the userdir should be copied to the new one so the
old one will still be usable with previous release. Detection mechanism
detect's previous version but
disables upgrade option and allows user only install new version
and allows to import settings from previous release.
3. The user used previous release, he also have few q-builds and
he downloaded new release - by default the release should reuse the userdir
from the previous release, ignoring the q-build changes at all. Detection
mechanism will put only previous release (s) into list.
Delegation proposal (Yarda Tulach)
It is possible to replace the copy of settings by "delegation".
That means when user installs a qa-build it automatically uses settings
from the previous release, but keeps all modifications in separate private
place. Compared to copying this has big advantage for users switching
between q-build version and release version - changes made in release version
are "propagated" to the q-build version. Should not this be used rather
than copying?
System-Wide UI Impact
Install support is separated part and doesn't have impact
on global system UI, such as menus and toolbars. There could be discussion
if will use default InstallShield look or if we use another one, for
example if use NetBeans logo in left wizard area.
Detailed Spec
Install support will be done in InstallShield
Multiplatform environment. For installer is typical
that it is wizard like window, with collection of wizard
panels.
State Diagram
This diagram shows basic installer panels flow.
Welcome Panel
At first the installer shows welcome panel with basic
information about product.
The components of this panel are as follow:
-
Welcome message.
Upgrade - Install Panel
Allows the user to choose wheter install or upgrade previous
version of product.
The components of this panel are as follow:
- Upgrade and Install radio
buttons
Visibility Condition: Installer detected
at least one installed previous version of product.
Upgrade Panel
Allows the user to choose previous version and to keep previous
settings.
The components of this panel are as follow:
- Combo Box with list of
compatible installed versions
- Check Box for keeping
settings
Visibility Condition: User chose upgrade
in previous panel
Install Panel
Allows the user to import previous
settings.
The components of this panel are as follow:
- Check Box for settings
import
- Combo Box with
list of compatible installed version
Visibility Condition: User chose
install in Upgrade - Install panel
Install Directory Panel
Allows the user to choose install directory.
The components of this panel are
as follow:
- Directory name text field for install destination,
default value is set.
- Browse button - brings up a file chooser
that lets the user specify another install directory
Visibility Condition: Installer
didn't detect any previous version of product or user chose install
option in Upgrade-Install Panel.
User Directory Panel
Lets the user to set user directory server.
The components of this panel are as follow:
- Directory name text field for user directory destination, default
value is set.
- Browse button - brings up a file chooser that lets the user specify
another user directory.
Visibility Condition: Detection
failed or user chose install option in Upgrade Install Panel.
Proxy Panel
Lets the user to set proxy server.
The components of this panel
are as follow:
- Use Proxy Server checkbox
- Server Name text field
- Server Port text field
Visibility Condition:
User didn't check keep settings option in Upgrade-Install
Panel or installer didn't detect any previous version.
Error Dialogs
InstallShield API provide support for error dialogs. Those dialogs are
different beside standard swing dialogs. They look as follow:
Illegal characters in Port
number
Server empty
Port empty
Association Panel
Lets the user to set IDE associations.
The components
of this panel are as follow:
- Association
Description
- CheckFields
- associate .java files and associate .nbm files
Visibility Condition: User didn't check keep
settings option in Upgrade-Install Panel or installer didn't detect
any previous version.
Installation Summary Panel
Shows summary to the user.
The components
of this panel are as follow:
- Summary information like: Install Directory,
User Directory, Total Size, Associations (may be imported settings,
preinstalled modules) .
Installation Progress Panel
Shows install progress to the user.
Installer Finish Panel
Says the user to be happy - installation has finished!
Uninstaller Welcome Panel
Uninstaller Location Panel
Uninstaller Finish Panel
|