mozdev.org

multexi

resources:









MultExI

User documentation v0.1






Table of Contents

1 Introduction 3

2 MultExI overview 3

3 Installation 6

3.1 Requirements 6

3.2 Download MultExI 6

3.3 Deploy WAR 7

3.4 Configure Application 7

4 Administration 8

4.1 Password Protection 8

4.2 Configuration 8

4.3 Update MultExI 9

4.4 Administrate Extensions 10

4.5 Out Dated Clients 11



1 Introduction

This document has been published as a support document for users and system administrators using MultExI. It will guide you through the installation and setup process and will help with common administrative tasks.

If you find any mistakes in this guide, feel free to contact the MultExI mailing list:

Thanks for your interest,

Your MultExI Team

2 MultExI overview

MultExI is a system which establishes a method to install Mozilla Firefox extensions across multiple machines.

The application concept is based on a simple client/server architecture. The server component is a J2EE- HTTP- service. The client component consists of a Firefox extension.

Drawing 1: MultExI network structure













This diagram shows the typical network structure. Within this structure each client communicates with the server over HTTP and behaves during a usual runtime cycle like this:

















First of all the list of extensions to install will be downloaded from the server. If there are some extensions that are not available in the client yet MultExI will ensure that these extensions become installed.

After the availability check for all extensions has been completed, installed extensions will be checked for their topicality.

In a last step MultExI restarts Firefox if an new extension has been installed or updated so that every change takes effect.



Since the client is not delivered with Firefox it has to be installed manually. In contrast to usual extensions the MultExI client distribution can't be initially downloaded from the specific project page. Instead it has to be installed from the local MultExI Server Component.

This is well founded because each MultExI client contains an individual configuration which specifies the location of the MultExI Server Component and other necessary parameters.

Once MultExI has been installed on a client it will ensure its topicality autonomous. Like any other extension MultExI will also update itself in case that a newer version is available.

Currently newer version of an extension will be downloaded from the WAN so that it's not necessary to keep all extensions (including MultExI itself) up to date on the server. In a later version of MultExI the server component will also try to update extensions automatically if the server decrees an Internet connection so that initially delivered client packages are always up-to-date.



Concerning the update frequency the MultExI client will check for new extensions to install or for updates once in an hour or if Firefox becomes started. If a refresh won't be done for a definable time frame the client will be marked as out dated and accordingly shown in the server's administrative interface.

Now that you have got an overview of how MultExI works it's time to install it. If no problems occur the installation process might be finished in 5 or 10 minutes.

3 Installation

The installation process can be separated into the following steps:

Each step will be explained in detail now.

3.1 Requirements

This installation assumes that your target server decrees the following software components:

Software component

Version

Sun Java JRE

>= 1.4.*

Tomcat

>= 4.*



Of course, it is possible to use any other J2EE server than Tomcat but others haven't been tested yet. Theoretically it should work ad hoc because of MultExI's strict compliance towards the J2EE specification level 1.4.

MultExI definitively supports the following operating systems. Since it is written in Java other OS should also be supported but have also not been tested, yet.

If you successfully use MultExI in any other environment please let us know so that it can be added here.

3.2 Download MultExI

Start with downloading the MultExI web archive from:

This link should always points to the newest version.

3.3 Deploy WAR

Now, copy the downloaded WAR file to the web- application directory of your J2EE- container.

If you are using Tomcat your target location is:

Once the WAR is copied, you have to restart the server. It should unpack the archive and start MultExI automatically.

3.4 Initial Configuration

Finally you have to configure MultExI. This might be done quite fast because there are just three simple attributes that have to be adjusted.

If you open this link the configuration section will be shown, directly. This is just initial behavior because the application recognizes that it has not been configured, yet. Once the configuration has been done a default page will be shown which gives the possibility to download the client

The configuration parameters you have to specify are explained in the chapter 4.2.

After you have saved the configuration all administrative pages will be password protected. The accounts to access those pages depend on the J2EE container you are using. For more information please look at 4.1.

4 Administration

MultExI offers administrative pages which can be used to configure the system, to get an overview of the network or to define extensions to install.

This chapter will explain these pages including the configuration of the application.

4.1 Password Protection

All administrative pages are password protected.

The user account that is required to access these pages must be in a role “admin”. J2EE- roles might be compared with system groups.

The admin role is the default Tomcat administrator role. So if you want to get access just type in your default Tomcat administrator user name and password. Per default Tomcat users can be configured under:

If you are using another J2EE container you have to ensure that the role “admin” is declared and that the user which should get access is in this role.

4.2 Complete Configuration

The configuration section can be reached over the primary menu at the top of the page. If you are opening MultExI for the first time the configuration section is the default page.

As you can see you have got the possibility to specify four configuration parameters. For now, only three of these attributes are relevant:

Variable

Description

Server IP:

The server IP which will used by the clients to contact the server.


Perhaps your J2EE- container is behind an Apache, proxy or what ever.


Of course you can also specify a URL.

Server Port:

The port the client will use to contact the server. The default port might be 8080.

MCC out-date time (hours):

This is the maximal time in which clients have to update themselves. If a client exceeds this limit he will be marked as out- dated.


MCC stands for MultExI client component.

The parameter “MCC update URL: “ specifies the URL from which the server can download a new MultExI client package that will be distributed by the server. This parameter mustn't be changed until the MultExI project page will be moved elsewhere (what's not planned, yet).

Please keep in mind that a change of the connection settings are a little critical. If you are going to assign a new address to your server, you have to modify these values first and then wait until all clients have been updated before you finally move the machine. Otherwise the clients won't be able to update again.

Because of this we highly recommend to abstract the server behind a local domain name so that the IP of the server becomes, in this context, irrelevant.

4.3 Update MultExI

As described in the introduction the initial installation of the MultExI client must be downloaded from the local server component. Indeed the MultExI client will update itself from the WAN if it is out dated but in some cases it might be interesting to deliver a topical MultExI client (e.g. if the client contains a bug).

Since the server component is currently not able to update local copies of extensions automatically you have to do it manually.

If your server is connected to the WAN you just have to click on “Automatic update”. The server will then fetch the file:

and update the local copy of the client distribution. If the operation fails because the site downloads.mozdev.org can't be contacted because it's down you can specify another download location (a mirror e.g.) within the mask “Update from URL”.

In case that the server is not connected to the Internet you can manually update the MultExI client by uploading the specific XPI.

Please keep in mind that the update of the delivered MultExI client distribution does not effect already installed clients. Those will update autonomously.

4.4 Administrate Extensions

This section gives you the possibility to define the extensions which will be installed by each client.

Once you have opened the extension administration interface a secondary menu appears which links to two other pages:



Edit EDF points to the list of all extensions that will be installed on the client. From here you can test if the download mechanism works (by clicking on the centered URL) and you are able to remove defined extensions.

If an extension will be removed here all clients which have already installed the extension won't be effected, yet. In later versions of MultExI the client will also remove extensions that once have been installed by MultExI – currently this is not supported.

If you have not defined any additional extensions you should see just one entry. This entry is the MultExI client itself. In any case do not delete this entry! Otherwise users won't be able to download it.

If the MultExI client becomes removed accidentally you have to perform an update of the client distribution. For more information on how to do this look at 4.3.



Add New provides a form to add a new extension to the list. It works the same way like updating the MultExI client distribution. You can either specify a URL from which the server can download the specific XPI or (if the server has no Internet connectivity) upload the XPI to add manually.

4.5 Out Dated Clients

This page lists all clients that have not been updated during the time frame you specified in the configuration.

For questions or comments about multexi, please send a message to the multexi mailing list.
Copyright © 2000-2008. All rights reserved. Terms of Use & Privacy Policy.