PackLet is a web-based text messaging application using AX.25 packet radio technology. Features:
One "master/server" computer is connected to the radio via a TNC or sound card interface, using AGWPE.
A web browser on the "server" computer (as well as optional multiple "client" computers on a local network) is
used to perform all functions:
Multiple browser windows on the same or multiple computers can be used to create, send, receive, and manage
multiple messages in parallel.
The status of all incoming and outgoing messages are displayed in any browser window on any computer.
Messages can be printed on any computer using the browser's normal printing function.
A communications log of all messages sent/received can be viewed on any browser.
Packet communications are performed in a Java servlet running in the background on the server, independent of any
browser.
Each incoming and outgoing message is automatically saved as an ordinary XML text file on the server computer.
Web pages are written in standard HTML, and thus are easy to customize without the danger of corrupting the Java
servlet communication logic (which runs on the server). Each HTML web page file contains a tiny amount of servlet
interface code (clearly marked) to communicate with the servlet.
"Master/server" computer requirements:
Hardware:
Pentium 233 or equivalent.
96MB RAM.
100MB available disk space (for Tomcat & the JDK).
An Ethernet network card, if client computers are also used.
Apache's Tomcat web server (free),
version 5.5.10 or later, installed.
Sun Microsystems' Java JDK (Java Development
Kit, free), version 1.5 or later, installed.
"Client" computer requirements:
An Ethernet network card.
Any operating system (e.g., Windows, Linux, Mac OS) that supports network connections.
Any browser (e.g., Internet Explorer, Netscape, Firefox, Opera).
No other software (e.g., Java) needs to be installed on the client.
Advantages over other ARES/RACES messaging software:
The composition of multiple messages can be made in parallel in multiple browser windows, eliminating the need to
save one message being composed, in order to work on another one.
Messages can be created as a draft by one person, and then reviewed and sent by another person on another computer.
Incoming messages require a separate step to mark them as "received". This feature ensures that incoming messages
are not forgotten.
Since the entire program is open source,
maintenance and/or upgrades are not dependent on any relationship to the author.
Testing can be done using two "server" computers without going on the air, using AGWPE's "loopback" feature.
Unimplemented features:
Digipeating is not implemented, but should be easy to add if needed; I understand that other programs using AGWPE
have easily added digipeating.
Installation & configuration steps for the Java servlet:
Download & install SV2AGW's AGWPE
packet engine software and get it working, either with a sound card or a TNC. If necessary, use SV2AGW's monitor
& terminal programs (or the Java monitor & terminal programs above) to verify that you have AGWPE configured
correctly.
Download & install Sun Microsystems' Java JDK
(Java Development Kit), v1.5.0 or later; all you need to install is the "Development Tools", and not the included JRE.
If you are running Windows NT 4, Windows 2000, or Windows XP, you can install the Sun Java JRE (Java Runtime Environment)
v1.5.0 instead. Technically, Java need not be installed on the same computer as that running AGWPE, but in that case the
two computers must be connected via a LAN.
Download & install Apache's Tomcat
web server, v5.5.10 or later (or another suitable web/servlet server) on the same computer on which you installed Java.
Configure Tomcat as follows (all directory references are relative to the Tomcat base directory):
Read the RUNNING.txt file.
Edit the conf\tomcat-users.xml file, replacing the <user ... > with:
SET JAVA_HOME=the path where you installed Java
SET CATALINA_HOME=the path where you installed Tomcat
Create shortcuts on your desktop, start menu, or elsewhere to bin\startup.bat
& bin\shutdown.bat.
Open the "Properties" of those shortcuts:
Select the "Memory" tab; set the "Initial Environment" to 4096.
Select the "Program" tab; check the "Close on exit" box.
You will use the above shortcuts to start & stop Tomcat.
For those running Windows NT 4, 2000, or XP:
Open a command line window and change to the Tomcat bin directory.
Enter the following lines at the command prompt:
SET JAVA_HOME=the path where you installed Java
SET CATALINA_HOME=the path where you installed Tomcat
Type service install. This will install Tomcat as a service.
Create a shortcut on your desktop, start menu, or elsewhere to bin\tomcat5w.exe.
You will use the above shortcut to start & stop Tomcat, or to configure it to start automatically upon
booting.
Start Tomcat using the shortcut you created above (it may take 10–15 seconds to start).
Start your web browser and create a bookmark to http://localhost:8080/manager/html; this is the web page
for the Tomcat "Manager" web page used to install Java Servlet applications.
Download the PackLet.war file
& deploy it into Tomcat using the "Manager" web page.
Start your web browser and create a bookmark to http://localhost:8080/PackLet/; this is the web page
address for PackLet. The first time you browse to each PackLet web page after installing
or replacing the PackLet.war file, Tomcat has to "compile" the web page (this may take 3–5 seconds),
but subsequent accesses should be quick. The first time you browse to the PackLet main page,
it will take you to a configuration web page where you must enter at least the following parameters:
StationId. This should be set to the callsign (and optional SSID) of your station.
MessagePath. This is the name of the directory where you wish messages to be stored.
You can change the other values if necessary. To protect against unwanted changes to the configuration, the link
to the configuration page is password-protected using the username & password you set up in Tomcat for the
"Manager" role.
On Tomcat, if you want PackLet to be the main web server page (instead of the Tomcat main
web page), in the Tomcat installation directory, move webapps/PackLet/index.html to webapps/ROOT/;
then you can start PackLet at: http://localhost:8080/. You can still get to the
Tomcat main web page at http://localhost:8080/index.jsp.
Note that the servlet logic is in a .JAR (Java Archive) file and thus separated from the .JSP
(Java Server Page) files used for interfacing the web pages to the servlet. The .JSP files contain normal
HMTL interspersed with Java servlet interface code. The Java servlet interface code in the .JSP files is
enclosed in <% & %>; avoid modifying the Java servlet interface code. This separation
of functions allows for users familiar with HTML to reformat or add to the layout of the web pages without risking damage
to the functioning of the program.
So you need additional fields on the message form? No problem; just edit the Message.jsp file. Decide on an
internal field name, add a default value for the internal field name in the Java code near the top of the file, and then
create an HTML <input> field. Use the same pattern that is used for the rest of the input fields.
Note that the servlet is designed to support multiple users composing and/or reading messages at the same time in multiple
windows, on the same or different computers, browsing to the web server machine. Further, you do not need to leave a
browser window open to receive messages. Operation of the servlet and web pages should be obvious. If at any time
starting the servlet does not work (by clicking on the main page's Start button), stop and restart AGWPE.
You can test the program without going on the air, by using two computers & the AGWPE "loopback" feature:
Install AGWPE on one Windows computer, and add an AGWPE loopback port.
Install the Java JDK, Tomcat, and this program on two computers. These computers can be Linux or Windows computers,
and neither one needs to be the same computer running AGWPE.
Configure the StationId values for the two computers to be different (e.g., use a different SSID).
Configure the AgwpeTcpIpHost values for the two computers to refer to the computer running AGWPE.
Configure the AgwpeRadioPort values for the two computers to refer to the new AGWPE loopback port number
(0-based).
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA