Subject: npds Digest V2 #46

From: Listar <nospam_listar_at_ml.free_dot_fr>
Date: Tue, 14 Aug 2001 03:11:27 +0200 (CEST)

------------------------------------
npds Digest	Mon, 13 Aug 2001	Volume: 02  Issue: 046

In This Issue:
		[NPDS] [ANN] Watcher 008ac, Server 2.037 and Tracker Client 
		[NPDS] [ANN] Mailing List Archives available

----------------------------------------------------------------------

Date: Mon, 13 Aug 2001 10:14:47 +0200
From: Paul Guyot <nospam_pguyot_at_kallisys_dot_net>
Subject: [NPDS] [ANN] Watcher 008ac, Server 2.037 and Tracker Client 2.034

Hi all,

I'm pleased to announce these new versions of modules of NPDS.

=== Watcher 008ac ===
Watcher is a new module created by Adam. It was designed to reboot 
the Newton if a problem occurs and it does restart the server if the 
Newton was rebooting while serving pages. It apparently reboots the 
Newton if every causes of non serving occurs (it successfully kept my 
Newton serving pages for 3 weeks without human interaction), 
including a reboot if the NewtonScript task crashed.

Several notes regarding this module (call this a help manual):

*** Preferences ***
- Launch NPDS after device reset: seems pretty obvious. Any reset 
will restart NPDS. However, the reset has to behave properly. I left 
my Newton on its own for one week and after 4 or 5 days, it stopped 
serving pages apparently because it crashed while rebooting (probably 
a -10061).
- Minimize NPDS Watcher on startup: obvious as well.
- Check Every: pretty obvious as well. See later for how to choose this value.
- Check if the NS Task is alive: this is the NewtonScript task 
watcher. See below.
- Alarm Sound: the watcher will count down from X to 0 before 
rebooting the Newton with a big loud sound. Choose the sound you want.
- Display Reboot dialog: display a dialog to reboot the Newton. If 
unchecked, the Watcher won't ask your opinion and reboot anyway. 
Note: if the problem is detected by the NewtonScript task watcher, 
the Newton will reboot without a dialog whatever the state of this 
check box is (I can't display a dialog if the NS Task crashed).
- Reboot delay: X in the previous paragraph.
- Startup NPDS after 5 secs: under some circumstances, you might need 
this check box checked for a proper restart of the server. I don't 
need it, but Adam does.

*** What is checked? ***
There are several checks done. Knowing what is checked will help you 
choose how to configure the watcher.
a/ the error message check. Checks if the frontmost view is an error 
message from the server. This means that if an error message comes 
from the server and you dismiss it, the watcher won't reboot (and the 
server is down at this point).
b/ the port open check. Checks if we can listen on the port the 
server is supposed to listen on. If we can, it means that the server 
is no longer listening. Note: this could interfere with the server 
because there is a moment when it's not listening and this is normal. 
Checking too often increase the risk that the watcher will try to 
listen at this moment (however, the risk is pretty low).
c/ the NewtonScript task watcher. This checks that the NewtonScript 
task goes idle often enough. If it didn't go idle for 4 periods, the 
Newton is rebooted.

The programmer's documentation specify that you shouldn't have a long 
operation without letting the task going idle (going idle is 
important as it's responsible for maintenance things such as turning 
backlight off, etc.). The system follows this recommandation, and 
everytime you have a long operation (e.g. find something on the 
Newton, print/beam/send or receive mail, etc.), there is a progress 
dialog (progress dialogs ensure that the task goes idle).
However, there are several programs which don't follow this rules, 
e.g. Deep Green, Fractals, etc. If you run such a program, the 
NewtonScript task watcher will think that the NS Task is dead while 
it isn't (but indeed, the server will be non responding). The 
solution is to increase the period.

*** Known bugs & limitations ***
- I'm not sure that everything is fine if the module is closed, so 
keep it minimized (in the star menu).
- if you say check every x minutes and you open the prefs again, it 
will show "check every x * 60 seconds" <-- I have just noticed this 
bug.
- There might be some additionnal aesthetic bugs I left before 
leaving for holidays.

Watcher requires Server 2.036 or later (2.037 is recommanded).

=== Server 2.037 ===

This new version includes a couple of changes since 2.034:

04/07/2001	2.037 [Paul Guyot]
	Fixed the StartServing method.

29/06/2001	2.036 [Adam Tow]
	- Changed the UI of the nHTTPd application. Buttons and 
controls more cleanly laid out
	- Updated the IP Address field (vIPField) to display the 
current public IP address of the device instead of the LAN address. 
Make a call to the TraqMe client app to retrieve the public IP 
address (GetPublicIP).

27/05/2001	2.035 [Paul Guyot]
	Fixed two bugs in the TCP/IP server.
	Better alerts in the TCP/IP server to track two other known bugs.

In a nutshell: Adam redesigned the UI, I fixed a couple of bugs in 
the server (since Pre2.035 in fact), and changes have been made to 
work with the Watcher.

There are still bugs left (hence the need of the watcher ;).

Server 2.037 requires Tracker Client 2.034

=== Tracker Client 2.034 ===

There have been a couple of changes since 2.032:

13/08/2001 2.034 [Paul Guyot]
	Aesthetic changes.
	The client no longer asks the main module for the IP but 
grabs it itself.
	Removed unnecessary files from the Thumb sample code.
	Made some clean up in the FSM.
	The client is now verbose and displays alerts when problems 
occur (hence we'll know immediatly if the tracker is down).
	Added a checkbox to use the private IP field instead of the 
Newton's IP.
	The return code of the server is tested (and if it's not 20X, 
an error message is displayed).

30/06/2001 2.033 [Adam Tow]
	Added GetPublicIP method to the main view to work with nHTTPd 2.036

The main new feature is that the tracker client will output an error 
if there is a problem with the tracker server. I suggest that you 
warn the administrator (either Matt or Victor) in such a case.
Also, I fixed a conflict with the server 2.037.

There is at least one bug left (when you press the REGUP button, 
sometimes, an exception occurs. Workaround: Close the application and 
open it again and retry). Oh, and I think that the deletion script is 
never called and the recent elements of the tracker client interface 
(e.g. the list of the tracker servers you entered) are never cleanup. 
I decided that it was not worth investigating.

=== General notes regarding updating ===

First, turn off the server. Install the new packages (be sure 
everything is on the same store), and check all the settings. 
Normally, the tracker client settings will be lost. The server 
settings might be lost as well. Then, reboot your Newton and turn the 
server on.

To be able to work with Adam, we set up an HTTP server to put files 
we're working on. New releases as well as sources will be found 
there, since apparently, Matt is pretty busy and usually doesn't have 
time to do the updates on his website. However, only the versions 
announced are supported. I don't want to spend my time explaining 
workarounds for unfinished versions.

These three modules can be found here:
http://npds.free.fr/NPDS%20Watcher/008ac_NPDS_Watcher.pkg
http://npds.free.fr/Server/nHTTPd-2.037.pkg
http://npds.free.fr/Tracker%20Client/NPDSTraq-Client-2.034.pkg

Sources are there as well, in stuffit archives.

Regards,

Paul
-- 
Home page: http://www.kallisys.com/
Newton-powered WebServer: http://newt.dyndns.org:8080/

------------------------------

Date: Mon, 13 Aug 2001 12:13:16 +0200
From: Paul Guyot <nospam_pguyot_at_kallisys_dot_net>
Subject: [NPDS] [ANN] Mailing List Archives available

Hi folks,

I've uploaded the mailing list archives to the http://npds.free.fr 
HTTP server. It's basically my Eudora mailboxes where I moved the 
digests. They're here:

http://npds.free.fr/%20NPDS%20Mailing%20List%20Archives/

Paul
-- 
Home page: http://www.kallisys.com/
Newton-powered WebServer: http://newt.dyndns.org:8080/

------------------------------

End of npds Digest V2 #46
*************************