| Maintenance Manager |
 |
|
Maintenance Manager is a Help Desk Application written in Java that allows
tracking of "trouble" tickets and their resolution. Maintenance Manager is
part of SourceForge.net and can be found hosted at http://sourceforge.net/projects/maintmgr/.
A sub-project of Maintenance Manager is the MASH Consulting Library which
can be downloaded from the same place. More information on MCLib is here. Other free software written using Java can be
found at http://www.mashconsulting.com/javasw/.
Another project that I've worked on is software for controlling an Opto22
Ethernet Brain. This functionality is also in the MCLib library and an implementation
of it is available at http://sourceforge.net/projects/mwctrl/.
Current Status - June 4th, 2003
- Maintenance Manager 2.06 is now released.
- Minor fixes to print and lock file libraries in MCLib to fix printing on
Mac OSX.
Current Status - April 9th, 2003
- Maintenance Manager 2.05 is now released.
- Changed how users are created when no security is setup in Maintenance
Manager. With CPU security, a database is kept allowing differing access as
required. With no security, users are also automatically created, but everyone
gets all access.
- Added a simple data entry screen option for Maintenance Manager. It is not setup
by default and must be turned on in the main setup screen. (Select the "File" pull-down menu
and then select "MM Settings" to get to where you can turn on this option.) For Simple data
entry you can select the default location for records entered or you can leave it at the
default of None, which will force whoever works on the resolution data entry screen to pick
the location at that time.
- A Macintosh OSX version is now available that will not kill the OS. I found
and fixed a bug in
the MCLib library that killed the /var directory structure which keeps the OS from booting up afterwards.
- The MultipleUI library in MCLib handles how Apple changed the Aqua Look and Feel
libraries in the Java 1.3 that came with the initial Mac OSX and the Java 1.4 that ships with
the current Mac OSX offerings and updates. If running the Macintosh installer
the default look and feel is Apple's native Aqua which is labeled "Mac OS X".
- The MultipleUI library in MCLib handles how Apple changed the interface to put the
Maintenance Manager menus on the Mac OSX Menu Bar and handles the differences in the
libraries in the Java 1.3 that came with the initial Mac OSX and the Java 1.4 that ships with
the current Mac OSX offerings and updates. One caveat of using the pull-down
menu to change the look and feel is that if you switch to the Mac OSX look and
feel, switch to another look and feel, and then try switching back to the Mac
OSX look and feel, the menu bar will completely disappear and not be available
until you restart the application.
- Added additional steps that need to be followed if using the new MySQL 4.0
to get it up and running. See notes below.
Current Status - January 24th, 2003
- Maintenance Manager 2.01 is now released.
- I completely re-wrote the SQL report writer. I broke it up into smaller
pieces and added a few features that should get better results. Part of the
is a requirement that the description data needs to be all in upper case.
There is a utiltity under the Help menu that will convert the data automatically
Previous Status - December 24th, 2002
- Maintenance Manager 2.0 is now released.
- I moved the Splash Screen functionality into my MCLib.jar library where
I am currently using it on multiple projects.
- I added lock file functionality to MCLib.jar and implemented it in Maintenance
Manager so that only one copy can run at a given time.
- I did more work on getting Maintenance Manager to work well with Mac
OS/X. I got my own Mac to work with for more than 5 minutes. I found that
the problem the first Mac I had tested hada beta version of Java 1.4 on it.
With a fresh install of OS/X 10.2 using the default Java 1.3.1 I found that
Maintenance Manager works great. I even added native Aqua support when running
under OS/X with the name "Mac OS X." (For some odd reason it looks a lot like
the "Aqua" Look and Feel that comes with L2FProd.com's sin libraries.) The
only thing I haven't figured out yet is how to create a shortcut in the Mac
OS/X for a Java application. (It's on my todo list.)
- I added a section for my libraries (MCLib.jar). I'm the kind of programmer
that only likes to do something once, so when I write something I like to
put them in a library that I can use over and over. My libraries can now be
downloaded separately with documentation. Cool stuff that I wrote for other
programs and Maintenance Manager are now available. MCLib.jar includes methods
for the following areas:
- SMTP e-mail.
- A nice FIFO library stack.
- Modbus support for Opto22.com's equipment using the wimpi.net libraries
(see http://sourceforge.net/projects/jamod/).
- Java printing libraries. I created my own text-only markup language
for creating reports and printer outputs without having to get into nitty
gritty details every time I went to print something. (As a side note I found
that in using IBM's Java on Linux I can print directly without having to go
through Ghostscript.)
- Serial connections. I found that IBM's serial libraries work the best.
Included in this library is how I made IBM's java libraries (which look a
lot like Sun's earlier version) work.
- SQL JDBC maintenance. Here is how to read in automatically from an
ini file the SQL settings for different SQL engines and a JPanel object that
can be used for updating the ini file.
- Look & Feel implementations. Here is where I combine the standard
look and feel's that come with Java such as Metal, & Motif. Also the various
implementations of Java (ie. Windows & Mac OS/X). Included is Kunststoff
from www.incors.com. L2FProd.com's skins are also implemented. There is also
a JMenu object that you can put in your program to bring up a list of what
is available.
- Splash Screen. I created a generic Splash Screen that can either be
timed or set manually as certain things happen with an application. An image
can be inserted or even a JPanel object with whatever code you want can be
inserted.
- Lockfiles. A lockfile can be created to keep multiple instances of
a program running at the same time. On unix machines, the lockfile is created
in the /var/lock/mclib directory. If the user doesn't have enough rights the
lockfile is created in the current directory. Under Windows the mclib directory
is created under the temp directory and the lockfile is created there.
- I also added miscellaneous utilities that make my life simpler. For
example, instead of having to do a try/catch on each sleep command in each
thread, I just call MCLibUtil.sleep(50) and the interruptedException error
is caught and discarded. I also wrote a method that reads in a GIF or a JPG
and doesn't return control until it is read in without going through all the
extra code. There are times when the loading can be handled in the background
and times when it is better to have the graphics loaded before progressing.
Previous Status - December 10th, 2002:
- Maintenance Manager 2.0 Release Candidate 3 is now released (after 1
month of internal testing). If you have suggestions or problems, e-mail
me at mike@4utah.com.
- I added e-mail notification support in this release. When a problem
is added into Maintenance Manager, an e-mail is automatically sent. Plain
text and HTML mail are supported. One cool feature is the ability to have
a wallpaper setup as the background for the e-mail notifications. Another
feature is the e-mail resend capability. You can pull up a problem incident
and hit the resend e-mail button to send the trouble ticket again.
- I did a complete re-write of the program startup and reading of the
maintmgr.ini file used by Maintenance Manager. Users may need to tweak their
file. Some of the settings names have changed and old ones will stay, but
be ignored.
- I implemented an updated login manager which now allows for auto-login
by the login name on the machine using the program.
- I've broken up the jar files instead of creating one big jar file to
run everything. The necessary jar files are now: activation.jar, jcalendar.jar,
kunststoff.jar, mail.jar, skinlf.jar, MySQL.jar, MCLib.jar & MaintMgr.jar
- I've added skins to Maintenance Manager using L2FProd.com's "Skin Look
& Feel" from http://www.l2fprod.com/. If new skins come out, just download
them into the LFSkin directory under Maintenance Manager and have the zip
file match the following pattern of *themepack.zip. The skins that come with
Maintenance Manager are: Aqua, BBJ, BeOS, MacOS, Mozilla, Whistler, &
XP Luna.
- I've included the JavaDocs on MCLib and MaintMgr with the distribution.
- I'm still using Kai Toedter's JCalendar bean (www.toedter.com), and
Incor's Kunststoff Look and Feel bean (www.incors.com).
- The current requirements for Maintenance Manager are:
- Sun or IBM Java 1.3 or greater.
- Windows 95, 98, Me (not tested), NT, 2000 & XP are supported.
- Linux are supported.
- Mac OS/X is supported with no skins. In testing, we found that Apple
did not implement all of the java.awt libraries that are required to have
skins. Startup Maintenance Manager, go to settings and change the Look
and Feel to Metal, which is the only one supported on the Mac.
- Other OS's that support Java 1.3 or greater should work. If you test
another OS, let me know how it goes and I'll add it to the list.
Previous Status - June 14th, 2002:
- Maintenance Manager 2.0 Release Candidate 2 is now being tested.
If you have suggestions or problems, e-mail me at mike@4utah.com.
- I did a complete re-write of the program startup and reading of the
maintmgr.ini file used by Maintenance Manager. Users may need to tweak their
file. Some of the settings names have changed and old ones will stay, but
be ignored.
- I implemented a login manager for Maintenance Manager using the employee
table to store names, passwords and roles.
- I changed the SQL loader in Maintenance manager to load a generic sql.ini
file each time it starts up. This should allow for other SQL engines to
be used as long as they are JDBC2 compliant. The default loader is for the
MySQL database JDBC interface. The SQL statements used by Maintenance Manager
should be generic enough that other JDBC interfaces can easily be substituted.
- In non-password operation or when a "Super User" is running Maintenance
Manager, there is now a "Settings" option that shows up under the "File"
pull-down menu to maintain the maintmgr.ini and sql.ini files while running
the program.
- In password operation, regular users and engineers have the option to
change their password while operating the program.
- In password operation, regular users will only see the Problem entry
and Procedure entry screens.
- In password operation, engineers will see all the screens except user
maintenance.
- In password operation, if a user has no password, they'll be prompted
to create a password before being allowed access to the program.
- I have included all the files needed in one archive to be able to run
the program, except setting up the MySQL database engine. I'm still using
Kai Toedter's JCalendar bean (www.toedter.com),
and Incor's Kunststoff Look and Feel bean (www.incors.com).
Future Projects Wish List:
- Create "Auto Backup/Restore" engine for the MySQL database files. The
purpose being to backup the records to another machine automatically.
- Create a "clean-up" engine that pulls any records that are "orphaned"
and deletes them. For example, an item is deleted from the database, but
the serial number records and problem/resolution records are still in the
database, but disconnected.
- Add LDAP support.
To download Maintenance Manager, go to http://sourceforge.net/projects/maintmgr/
and select Download under Maintenance Manager.
Simple Install Instructions.
Here are some simple steps to setup Maintenance Manager on Linux.
- Install MySQL and create the "maintmgr" database with associated rights
needed. (Use the instructions below.)
- Install the Sun or IBM Java VM on your machine.
- Download the Maintenance Manager .tgz file.
- Decompress mm20030409.tgz to the desired directory using whatever tools
you want.
- Linux users will need gzip (which comes with most Linux distributions),
and tar (or Sun's jar) programs.
- gzip -d mm20030409.tgz (will de-compress the gz file.)
- tar -xvf mm20030409.tar (will extract all the files you need to
start the program out of the archive.)
- A startup script already exists for Linux named "mm" in the installed
directory. Just type "./mm" in the program directory (without the
quote marks of course) to start the program.
Run the initial setup.
Here are some simple steps to setup Maintenance Manager on Mac OS X.
- Install MySQL and create the "maintmgr" database with associated rights
needed. (Use the instructions below.)
- Download the Maintenance Manager mm20030409MacOSX.zip file.
- Double-click and extract setup if not done automatically.
- Double-click on setup to run the installation utility.
Run the initial setup.
Here are some simple steps to setup Maintenance Manager on Windows.
- Install MySQL and create the "maintmgr" database with associated rights
needed. (Use the instructions below.)
- Install the Sun or IBM Java VM on your machine.
- Download the Maintenance Manager .zip file.
- Decompress mm20030409.zip to the desired directory using whatever tools
you want using WinZip or PKZip (or equivalent) to extract the zip file
- A startup batch file already exists for Windows named "mm.bat" in the
installed directory. Just type "mm.bat" in the program directory (without
the quote marks of course) to start the program.
Run the initial setup.
Initial SQL Setup for MySQL 3.xx:
(do before trying to run Maintenance Manager)
| |
Setup the MySQL database |
| 1. |
Install and setup MySQL on any supported platform. I am
currently using the MySQL that ships with Red Hat 7.2 on the second CD-ROM. |
| 2. |
Create the "maintmgr" database by issuing the following
command at the MySQL prompt:
mysql> CREATE DATABASE maintmgr
The name maintmgr is case sensitive and should be all lower case. |
| 3. |
Authorize a user who will run the database by issuing
the following command:
mysql> GRANT ALL ON maintmgr.* to engtest identified by "secret"
The above command sets up the user engtest with a password of secret as
the administrator of the maintmgr database. |
| 4. |
The individual tables will be automatically created by
the Maintenance Manager the first time the program is run. |
Initial SQL Setup for MySQL 4.xx:
(do before trying to run Maintenance Manager)
| |
Setup the MySQL database |
| 1. |
Install and setup MySQL on any supported platform. I
downloaded the latest MySQL from
www.mysql.com to test. |
| 2. |
Get to the MySQL prompt by typing: mysql -u root |
| 3. |
Create a password for your root user by using the following
commands (directly off www.mysql.com):
update user SET Password=PASSWORD('secret') WHERE User='root';
FLUSH PRIVILEGES.
After successfully executing these two commands you will need to use the
new password to maintain the database. The command to get to the MySQL
prompt will then be:
mysql -u root -p
You will then be prompted for a password which if you followed the
example above would be the work secret. |
| 4. |
Create the "maintmgr" database by issuing the following
command at the MySQL prompt:
mysql> CREATE DATABASE maintmgr
The name maintmgr is case sensitive and should be all lower case. |
| 5. |
Authorize a user who will run the database by issuing
the following command:
mysql> GRANT ALL ON maintmgr.* to engtest identified by "secret"
The above command sets up the user engtest with a password of secret as
the administrator of the maintmgr database. |
| 6. |
The individual tables will be automatically created by
the Maintenance Manager the first time the program is run. |
Manual Program Startup:
| |
Setup the Maintenance Manager Jar files |
| 1. |
Download the latest Maintenance Manager application archive
file (Right now it is mm20021210.tgz for Linux and mm20021210.zip for
Windows) from: http://sourceforge.net/projects/maintmgr/
extract the files into the directory you want to run the program from. |
| 2. |
Create a script or batch file to run the program or use
the supplied script mm or batch file mm.bat.
The command for Linux (all on one line) would be:
java -cp :./activation.jar:./jcalendar.jar:./kunststoff.jar:
./mail.jar:./skinlf.jar:./MySQL.jar:./MCLib.jar:./MaintMgr.jar MaintMgr
The command for Windows (all on one line) would be:
javaw -cp .\activation.jar;.\jcalendar.jar;.\kunststoff.jar;
.\mail.jar;.\skinlf.jar;.\MySQL.jar;.\MCLib.jar;.\MaintMgr.jar MaintMgr
To debug for Windows, change the javaw to java and you will then
have a console window with debug information.
|
Running Maintenance Manager the first time:
| |
Run Maintenance Manager the first time: |
| 1. |
The first time Maintenance Manager runs it comes up with
default settings. It may complain that the settings are not correct,
and need to be changed. It should come up with a settings screen where
you can change the settings needed for operation and SQL connectivity.
(LDAP settings are ignored for the time being.) |
| 2. |
Run the program again and Maintenance Manager will
automatically create the tables needed by the application. |
| 3. |
You are then presented with the main screen where setup
can now begin to populate the tables with data such as users, equipment,
etc. |